2

I am experiencing some weird problems, when using dropbox on my Debian install:

  • I run Debian with testing repositories enabled
  • I have Dropbox installed from the website
  • My dropbox-location is on a shared partition that is formatted with NTFS

I mount the dropbox-location in my fstab with the following line:

UUID=662058B320588C45 /media/ntfs-data ntfs-3g uid=1000,gid=users 0 0

This provides me with read/write permissions on the drive - and as long as I use a filemanager or console (or any other program) to access the drive it works.

After setting up my dropbox to access the already existing location on this drive it indexed nearly all files and then stopped with the message:

Downloading 38 files ...

I tried to check what is happening by attaching strace to the process which yields the following results (this is an excerpt only, as the message keep on appearing):

recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 0) = 0 (Timeout)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 496) = 0 (Timeout)
futex(0x9ee784, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 49446674, {1372094398, 476504000}, ffffffff) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x9ee804, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee800, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee840, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee784, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee780, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee784, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 49446680, {1372094398, 476765000}, ffffffff) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x9ee804, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee800, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee840, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee784, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee780, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0x9ee784, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 49446687, {1372094398, 477169000}, ffffffff) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x9ee804, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee800, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 0
futex(0x9ee784, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x9ee780, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x9ee7c0, FUTEX_WAKE_PRIVATE, 1)  = 1
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 0) = 0 (Timeout)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"5\30\4\0\26\10@\1[\0@\1\17\0\17\0=\0\4\0[\0@\1\0\0\0\0\17\0\17\0"..., 96}, {NULL, 0}, {"", 0}], 3) = 96
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 0) = 0 (Timeout)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"$\30\1\0&\10\2\0\341\0\0\0", 12}, {NULL, 0}, {"", 0}], 3) = 12
poll([{fd=12, events=POLLIN}], 1, 4294967295) = 1 ([{fd=12, revents=POLLIN}])
recvfrom(12, "\1\1;U\0\0\0\0\341\0\0\0\177\0\300\0\246\5S\1\246\5S\1\24\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"&\30\2\0\177\0\300\0", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=12, events=POLLIN}], 1, 4294967295) = 1 ([{fd=12, revents=POLLIN}])
recvfrom(12, "\1\1<U\0\0\0\0\341\0\0\0G\0`\2\246\5S\1\246\0*\1\24\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"&\30\2\0G\0`\2", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=12, events=POLLIN}], 1, 4294967295) = 1 ([{fd=12, revents=POLLIN}])
recvfrom(12, "\1\1=U\0\0\0\0\341\0\0\0N\0`\2\246\5S\1\244\0*\1\24\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"&\30\2\0N\0`\2", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=12, events=POLLIN}], 1, 4294967295) = 1 ([{fd=12, revents=POLLIN}])
recvfrom(12, "\1\1>U\0\0\0\0\341\0\0\0\0\0\0\0\246\5S\1\244\0\25\1\24\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=12, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=12, revents=POLLOUT}])
writev(12, [{"%\30\1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 0) = 0 (Timeout)
recvfrom(12, 0x33b3ae4, 4096, 0, 0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=13, events=POLLIN}], 3, 496  C-c C-c^C <unfinished ...>
Process 5687 detached

I already ran ntfsck:

sudo ntfsck /dev/sdb1
Unsupported: replay_log()
Unsupported: check_volume()
Checking 219648 MFT records.
Unsupported cases found.

Rebooting into Windows and running chkdsk did not solve the error neither.

Anybody has any idea what this is / how I can fix it?

  • 1
    What is fd 12? lsof -p dropbox_pid or ls -l /proc/dropbox_pid/fd will tell you... I suspect this isn't the relevant error. Also, when you say it stopped, what do you mean? That's a normal message, it should be downloading. Did you get an icon in the systray? – derobert Jun 24 '13 at 19:06
  • @derobert Ah thanks those are some great pointers in general :) Unfortunately fd 12 and 13 both simply say socket:[13607] and socket:[14390]. They both have the same information in fdinfo cat /proc/5687/fdinfo/13 pos: 0 flags: 02004002. With "it stopped" I mean, that I can still see the tray icon and the "sync" arrows, but it does never complete - and when I strace it, it always produces the same messages and the dropbox process eats up 100% CPU on one core. – Gjallar Jun 24 '13 at 19:39
  • What version of Debian and Dropbox are you using? – slm Jun 24 '13 at 22:01
  • @slm I am running Debian wheezy but switched to testing repositories (kernel: 3.9-1-amd64 #1 SMP Debian 3.9.6-1 x86_64 GNU/Linux ). My dropbox client is version 2.2.8 (just downloaded the newest release, but the problem persists). There doesn't seem to be a way to find out what the other endpoint to a UNIX socket is? I would really like to know what is blocking the call. – Gjallar Jun 25 '13 at 17:39
  • @Gjallar - I don't know of a way to do it, doesn't mean it's not possible though. I would be scrutinizing the versions of the ntfs-3g still though. There were a lot of threads discussing issues with that software stack. Sounded a bit buggy to me still, so I wouldn't be surpirsed if that was where the issue lied. – slm Jun 25 '13 at 17:43
1

TL;DR;

The solution that ultimately solved the problem was #4.

1. alternate /etc/fstab options

I've found a couple of people claiming that they're able to do what you're trying to do and did not see any mention of problems similar to yours. The only difference I could find was the /etc/fstab mount they were using. I'd try the following:

UUID=662058B320588C45 /media/ntfs-data ntfs-3g defaults 0 0

If that doesn't work I found this specifically, you'd have to adjust for your locale, but I don't see why you'd need it, to be honest:

UUID=662058B320588C45 /media/ntfs-data ntfs-3g defaults,locale=en_GB.UTF-8 0 0

2. $HOME/Dropbox as a link

Here's another method that I've seen used where instead of using the Dropbox folder from the NTFS partition directly, they're using a link created in $HOME/Dropbox which points to the Dropbox folder on the NTFS partition.

$ ln -s /media/ntfs-data/Windows/User/<username>/Dropbox /home/<username>/Dropbox

Not sure why this would matter but it's entirely possible that the Dropbox application would then view the NTFS share as just a EXT3/4 directory given it's accessing it through the Unix link created by the ln command.

3. Latest version of Dropbox?

I'd confirm that you're using the latest version of the Dropbox client. You can find updated version here. The release notes are here as well.

In general I've found it better to use the downloadable versions of Dropbox rather than anyone that's included in my distros' repositories.

Also I've used the instructions for installing Dropbox from the Unofficial Dropbox Wiki when doing installations from the command-line. The topic's titled: Install Dropbox In An Entirely Text-Based Linux Environment.

4. mount options to ntfs-3g

Just add the correct masks for files and folders to the /etc/fstab entry (this will make the ntfs drive more compatible with Linux in all cases):

UUID=662058B320588C45 /media/ntfs ntfs-3g id=1000,gid=1000,dmask=022,fmask=133 0 0

References

  • I tried the symlinking solution already and it did not work. I just checked the fstab solutions and unfortunately they don't help either. Thanks for the pointers though. – Gjallar Jun 24 '13 at 21:38
  • In the end it actually seems to have been solved by fiddeling enough with my fstab: however, the only working solution was this one UUID=662058B320588C45 /media/ntfs ntfs-3g uid=1000,gid=1000,dmask=022,fmask=133 0 0 that I found in the Arch Wiki under the ntfs-3g entry (it adds directory and file permissions): wiki.archlinux.org/index.php/NTFS-3G – Gjallar Jun 26 '13 at 21:56
  • @Gjallar - glad you resolved your issue. Write it up as an answer and accept it. Good find BTW, I saw that page before but hadn't noticed the dmask/umask switches. I knew it was something with ntfs-3g 8-). – slm Jun 27 '13 at 1:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.