[GH-ISSUE #344] large files fail to rsync (465M) #178

Closed
opened 2026-03-04 01:42:59 +03:00 by kerem · 30 comments
Owner

Originally created by @AlmirKadric on GitHub (Jan 29, 2016).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/344

When I rsync up large files (465M), the upload fails with the following rsync error:

rsync: writefd_unbuffered failed to write 32768 bytes [sender]: Broken pipe (32)
rsync: close failed on "/file/name/to/my/file": Socket is not connected (57)
rsync error: error in file IO (code 11) at /SourceCache/rsync/rsync-45/rsync/receiver.c(674) [receiver=2.6.9]
rsync: connection unexpectedly closed (204482 bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [generator=2.6.9]
rsync: connection unexpectedly closed (52 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [sender=2.6.9]

I already bumped up the retry count to 10, but this didn't help
s3fs ${BUCKET} ${MNTDIR}/${BUCKET} -oretries=9;

If there any other options I should try let me know and I'll give them a go.

OS: MacOSX Mavericks 10.10
s3fs-fuse: 1.79 (brew installed)

Originally created by @AlmirKadric on GitHub (Jan 29, 2016). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/344 When I rsync up large files (465M), the upload fails with the following rsync error: ``` rsync: writefd_unbuffered failed to write 32768 bytes [sender]: Broken pipe (32) rsync: close failed on "/file/name/to/my/file": Socket is not connected (57) rsync error: error in file IO (code 11) at /SourceCache/rsync/rsync-45/rsync/receiver.c(674) [receiver=2.6.9] rsync: connection unexpectedly closed (204482 bytes received so far) [generator] rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [generator=2.6.9] rsync: connection unexpectedly closed (52 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [sender=2.6.9] ``` I already bumped up the retry count to 10, but this didn't help `s3fs ${BUCKET} ${MNTDIR}/${BUCKET} -oretries=9;` If there any other options I should try let me know and I'll give them a go. **OS: MacOSX Mavericks 10.10** **s3fs-fuse: 1.79 (brew installed)**
kerem closed this issue 2026-03-04 01:42:59 +03:00
Author
Owner

@postmaxin commented on GitHub (Jan 29, 2016):

I had the same issue, I ended up going with "-o parallel_count=2 -o retries=100" on the s3fs side, and "--timeout=600" on the rsync side.

I was also trying to upload very large files (25+GiB), so I ended up using "split" to chunk them into 4000MiB pieces before uploading.

<!-- gh-comment-id:176899978 --> @postmaxin commented on GitHub (Jan 29, 2016): I had the same issue, I ended up going with "-o parallel_count=2 -o retries=100" on the s3fs side, and "--timeout=600" on the rsync side. I was also trying to upload _very_ large files (25+GiB), so I ended up using "split" to chunk them into 4000MiB pieces before uploading.
Author
Owner

@AlmirKadric commented on GitHub (Jan 30, 2016):

Thanks for the advice @postmaxin
Will give it a go and post back the results

Also why reduce the parallel_count to 2? (default is 5)
Is this to speed up individual multipart uploads?

<!-- gh-comment-id:177065858 --> @AlmirKadric commented on GitHub (Jan 30, 2016): Thanks for the advice @postmaxin Will give it a go and post back the results Also why reduce the `parallel_count` to 2? (default is 5) Is this to speed up individual multipart uploads?
Author
Owner

@AlmirKadric commented on GitHub (Jan 30, 2016):

Gave the above a try and no luck. It seems this is an issue inside s3fs
I also ran s3fs in foreground debug mode and it seems that it at some point calls s3fs_destroy(3281): destroy

What's worse is I came across another problem, when destroy is called it fails to release the curl library s3fs_destroy(3285): Could not release curl library. causing it to not kill the process leaving around junk pids. These pids are non-responsive and need to be killed with the -9 signal to successfully cleanup the mess.

almirkadric$ ps axj | grep s3fs | grep -v grep
almirkadric     10670     1 10670      0    0 Ss     ??    3:59.47 s3fs almir-clouddrive /mnt/almir-clouddrive
almirkadric     69345     1 69345      0    0 Ss     ??    0:24.44 s3fs almir-clouddrive /mnt/almir-clouddrive
almirkadric     69458     1 69458      0    0 Ss     ??   28:37.95 s3fs almir-clouddrive /mnt/almir-clouddrive
almirkadric     70014     1 70014      0    0 Ss     ??    0:45.64 s3fs almir-clouddrive /mnt/almir-clouddrive
almirkadric     84184     1 84184      0    0 Ss     ??    3:31.57 s3fs almir-clouddrive /mnt/almir-clouddrive
almirkadric     84651     1 84651      0    0 Ss     ??    0:30.38 s3fs almir-clouddrive /mnt/almir-clouddrive
almirkadric     87461     1 87461      0    0 Ss     ??    0:22.81 s3fs almir-clouddrive /mnt/almir-clouddrive
almirkadric     87572     1 87572      0    0 Ss     ??    0:20.86 s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9
almirkadric     87612     1 87612      0    0 Ss     ??    0:23.17 s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9
almirkadric     87654     1 87654      0    0 Ss     ??    0:26.28 s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9
almirkadric     87714     1 87714      0    0 Ss     ??    0:17.59 s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9
almirkadric     88062     1 88062      0    0 Ss     ??    0:24.25 s3fs almir-clouddrive /mnt/almir-clouddrive -o parallel_count=2 -oretries=99
almirkadric     88180  6527 88180      0    1 T    s015    0:35.69 s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 -f -d

Seems that something is causing s3fs to destroy and thus the connection that rsync was using ends up closed failing the sync.

Anyone got any ideas as to why?
Also when I checked the logs for the large file, I have no errors for the multipart uploads. They seem to be going through just fine, but at some point s3fs is killing the mount causing the failure. My guess is the large file is exposing an internal issues inside s3fs due to the volume of data.

Alternatively this could be an issue inside osxfuse as it seems that s3fs does not call s3fs_oper.destroy internally.

<!-- gh-comment-id:177080725 --> @AlmirKadric commented on GitHub (Jan 30, 2016): Gave the above a try and no luck. It seems this is an issue inside s3fs I also ran s3fs in foreground debug mode and it seems that it at some point calls `s3fs_destroy(3281): destroy` What's worse is I came across another problem, when destroy is called it fails to release the curl library `s3fs_destroy(3285): Could not release curl library.` causing it to not kill the process leaving around junk pids. These pids are non-responsive and need to be killed with the `-9` signal to successfully cleanup the mess. ``` almirkadric$ ps axj | grep s3fs | grep -v grep almirkadric 10670 1 10670 0 0 Ss ?? 3:59.47 s3fs almir-clouddrive /mnt/almir-clouddrive almirkadric 69345 1 69345 0 0 Ss ?? 0:24.44 s3fs almir-clouddrive /mnt/almir-clouddrive almirkadric 69458 1 69458 0 0 Ss ?? 28:37.95 s3fs almir-clouddrive /mnt/almir-clouddrive almirkadric 70014 1 70014 0 0 Ss ?? 0:45.64 s3fs almir-clouddrive /mnt/almir-clouddrive almirkadric 84184 1 84184 0 0 Ss ?? 3:31.57 s3fs almir-clouddrive /mnt/almir-clouddrive almirkadric 84651 1 84651 0 0 Ss ?? 0:30.38 s3fs almir-clouddrive /mnt/almir-clouddrive almirkadric 87461 1 87461 0 0 Ss ?? 0:22.81 s3fs almir-clouddrive /mnt/almir-clouddrive almirkadric 87572 1 87572 0 0 Ss ?? 0:20.86 s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 almirkadric 87612 1 87612 0 0 Ss ?? 0:23.17 s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 almirkadric 87654 1 87654 0 0 Ss ?? 0:26.28 s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 almirkadric 87714 1 87714 0 0 Ss ?? 0:17.59 s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 almirkadric 88062 1 88062 0 0 Ss ?? 0:24.25 s3fs almir-clouddrive /mnt/almir-clouddrive -o parallel_count=2 -oretries=99 almirkadric 88180 6527 88180 0 1 T s015 0:35.69 s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 -f -d ``` Seems that something is causing s3fs to destroy and thus the connection that rsync was using ends up closed failing the sync. Anyone got any ideas as to why? Also when I checked the logs for the large file, I have no errors for the multipart uploads. They seem to be going through just fine, but at some point s3fs is killing the mount causing the failure. My guess is the large file is exposing an internal issues inside s3fs due to the volume of data. Alternatively this could be an issue inside `osxfuse` as it seems that s3fs does not call `s3fs_oper.destroy` internally.
Author
Owner

@ggtakec commented on GitHub (Feb 6, 2016):

@AlmirKadric Could you run s3fs with "dbglevel" option(which is as same as -d option, but can specify log level) as foreground?
I want to know why call s3fs_destroy function, thus dbglevel option probably tell us the reason.
If you can, please try to do it.

Thanks in advance for your help.

<!-- gh-comment-id:180763039 --> @ggtakec commented on GitHub (Feb 6, 2016): @AlmirKadric Could you run s3fs with "dbglevel" option(which is as same as -d option, but can specify log level) as foreground? I want to know why call s3fs_destroy function, thus dbglevel option probably tell us the reason. If you can, please try to do it. Thanks in advance for your help.
Author
Owner

@AlmirKadric commented on GitHub (Feb 6, 2016):

@ggtakec when i tried to use dbglevel i kept getting an unknown option error

almirkadric$ s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 -f --dbglevel=dbg -odebug 2>&1
s3fs: unrecognized option `--dbglevel=dbg'

almirkadric$ s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 -f -dbglevel=dbg -odebug 2>&1
s3fs: invalid option -- b

almirkadric$ s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 -f -odbglevel=dbg -odebug 2>&1
set_moutpoint_attribute(4052): PROC(uid=501, gid=20) - MountPoint(uid=501, gid=0, mode=40755)
fuse: unknown option `dbglevel=dbg'
mount_osxfusefs: failed to mount /mnt/almir-clouddrive@/dev/osxfuse0: Socket is not connected

however the following works for me:

s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 -f -d -odebug 2>&1 | tee ~/Desktop/s3fs.txt

could you please clarify what is the exact command you would like me to run?

<!-- gh-comment-id:180771722 --> @AlmirKadric commented on GitHub (Feb 6, 2016): @ggtakec when i tried to use dbglevel i kept getting an unknown option error ``` almirkadric$ s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 -f --dbglevel=dbg -odebug 2>&1 s3fs: unrecognized option `--dbglevel=dbg' almirkadric$ s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 -f -dbglevel=dbg -odebug 2>&1 s3fs: invalid option -- b almirkadric$ s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 -f -odbglevel=dbg -odebug 2>&1 set_moutpoint_attribute(4052): PROC(uid=501, gid=20) - MountPoint(uid=501, gid=0, mode=40755) fuse: unknown option `dbglevel=dbg' mount_osxfusefs: failed to mount /mnt/almir-clouddrive@/dev/osxfuse0: Socket is not connected ``` however the following works for me: ``` s3fs almir-clouddrive /mnt/almir-clouddrive -oretries=9 -f -d -odebug 2>&1 | tee ~/Desktop/s3fs.txt ``` could you please clarify what is the exact command you would like me to run?
Author
Owner

@ggtakec commented on GitHub (Feb 6, 2016):

@AlmirKadric
Please try to run s3fs following:

$ s3fs almir-clouddrive /mnt/almir-clouddrive -o retries=9,dbglevel=dbg -f

dbglevel option is specified after "-o" parameter,.
Regards,

<!-- gh-comment-id:180813300 --> @ggtakec commented on GitHub (Feb 6, 2016): @AlmirKadric Please try to run s3fs following: ``` $ s3fs almir-clouddrive /mnt/almir-clouddrive -o retries=9,dbglevel=dbg -f ``` dbglevel option is specified after "-o" parameter,. Regards,
Author
Owner

@AlmirKadric commented on GitHub (Feb 6, 2016):

@ggtakec same result

$ s3fs almir-clouddrive /mnt/almir-clouddrive -o retries=9,dbglevel=dbg -f
fuse: unknown option `dbglevel=dbg'
set_moutpoint_attribute(4052): PROC(uid=501, gid=20) - MountPoint(uid=501, gid=0, mode=40755)
mount_osxfusefs: failed to mount /mnt/almir-clouddrive@/dev/osxfuse0: Socket is not connected
<!-- gh-comment-id:180817049 --> @AlmirKadric commented on GitHub (Feb 6, 2016): @ggtakec same result ``` $ s3fs almir-clouddrive /mnt/almir-clouddrive -o retries=9,dbglevel=dbg -f fuse: unknown option `dbglevel=dbg' set_moutpoint_attribute(4052): PROC(uid=501, gid=20) - MountPoint(uid=501, gid=0, mode=40755) mount_osxfusefs: failed to mount /mnt/almir-clouddrive@/dev/osxfuse0: Socket is not connected ```
Author
Owner

@ggtakec commented on GitHub (Feb 6, 2016):

@AlmirKadric Which version of s3fs do you use?
Since I had not been renewed branch of macosx, I just merge.
Could you try using the latest codes?
Thanks in advance for your help.

<!-- gh-comment-id:180825073 --> @ggtakec commented on GitHub (Feb 6, 2016): @AlmirKadric Which version of s3fs do you use? Since I had not been renewed branch of macosx, I just merge. Could you try using the latest codes? Thanks in advance for your help.
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

@ggtakec I'm using version "1.79" and installed it over homebrew.
Homebrew is using the following url:
https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.79.tar.gz

when you say latest do you mean develop? or 1.79 release???

$ s3fs --version
Amazon Simple Storage Service File System V1.79 with GnuTLS(gcrypt)
Copyright (C) 2010 Randy Rizun <rrizun@gmail.com>
License GPL2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

and it seems I'm using osxfuse version: 2.8.2

<!-- gh-comment-id:180944506 --> @AlmirKadric commented on GitHub (Feb 7, 2016): @ggtakec I'm using version "1.79" and installed it over homebrew. Homebrew is using the following url: `https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.79.tar.gz` when you say latest do you mean develop? or 1.79 release??? ``` $ s3fs --version Amazon Simple Storage Service File System V1.79 with GnuTLS(gcrypt) Copyright (C) 2010 Randy Rizun <rrizun@gmail.com> License GPL2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ``` and it seems I'm using `osxfuse` version: `2.8.2`
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

@ggtakec i just tried it with the -ocurldbg and it worked fine, but still no luck with -odbglevel=dbg
could this have anything to do with an older version of fuse?

From whatI can see, it just stops working and the mount completely hangs.
I end up having to kill -9 the process and then unmount.

<!-- gh-comment-id:180947578 --> @AlmirKadric commented on GitHub (Feb 7, 2016): @ggtakec i just tried it with the `-ocurldbg` and it worked fine, but still no luck with `-odbglevel=dbg` could this have anything to do with an older version of fuse? From whatI can see, it just stops working and the mount completely hangs. I end up having to `kill -9` the process and then unmount.
Author
Owner

@ggtakec commented on GitHub (Feb 7, 2016):

Hi, @AlmirKadric
You can download latest codes on master branch from following url:
https://github.com/s3fs-fuse/s3fs-fuse/archive/master.zip

It is fixed some bugs, please try to use it.
And you set dbglevel as from err, warn, info, to dbg, probabely many log is put.
We need to know what something wrong is occurred.

Thanks in advance for your help.

<!-- gh-comment-id:180962512 --> @ggtakec commented on GitHub (Feb 7, 2016): Hi, @AlmirKadric You can download latest codes on master branch from following url: https://github.com/s3fs-fuse/s3fs-fuse/archive/master.zip It is fixed some bugs, please try to use it. And you set dbglevel as from err, warn, info, to dbg, probabely many log is put. We need to know what something wrong is occurred. Thanks in advance for your help.
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

@ggtakec i got an error when trying to install master

$ brew install s3fs --HEAD
==> Installing s3fs from homebrew/fuse
==> Cloning https://github.com/s3fs-fuse/s3fs-fuse.git
Cloning into '/Library/Caches/Homebrew/s3fs--git'...
remote: Counting objects: 53, done.
remote: Compressing objects: 100% (51/51), done.
remote: Total 53 (delta 9), reused 15 (delta 0), pack-reused 0
Unpacking objects: 100% (53/53), done.
Checking connectivity... done.
==> Checking out branch master
==> ./autogen.sh
==> ./configure --with-gnutls --prefix=/usr/local/Cellar/s3fs/HEAD
==> make install
Last 15 lines from /Users/almirkadric/Library/Logs/Homebrew/s3fs/03.make:
make
install

Making install in src
clang++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2    -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o s3fs.o s3fs.cpp
clang++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2    -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o curl.o curl.cpp
clang++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2    -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o cache.o cache.cpp
clang++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2    -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o string_util.o string_util.cpp
cache.cpp:48:26: error: use of undeclared identifier 'CLOCK_MONOTONIC_COARSE'
  if(-1 == clock_gettime(CLOCK_MONOTONIC_COARSE, &ts)){
                         ^
1 error generated.
make[1]: *** [cache.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [install-recursive] Error 1

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/homebrew):
  https://github.com/Homebrew/homebrew-fuse/issues
<!-- gh-comment-id:180964570 --> @AlmirKadric commented on GitHub (Feb 7, 2016): @ggtakec i got an error when trying to install master ``` $ brew install s3fs --HEAD ==> Installing s3fs from homebrew/fuse ==> Cloning https://github.com/s3fs-fuse/s3fs-fuse.git Cloning into '/Library/Caches/Homebrew/s3fs--git'... remote: Counting objects: 53, done. remote: Compressing objects: 100% (51/51), done. remote: Total 53 (delta 9), reused 15 (delta 0), pack-reused 0 Unpacking objects: 100% (53/53), done. Checking connectivity... done. ==> Checking out branch master ==> ./autogen.sh ==> ./configure --with-gnutls --prefix=/usr/local/Cellar/s3fs/HEAD ==> make install Last 15 lines from /Users/almirkadric/Library/Logs/Homebrew/s3fs/03.make: make install Making install in src clang++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o s3fs.o s3fs.cpp clang++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o curl.o curl.cpp clang++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o cache.o cache.cpp clang++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o string_util.o string_util.cpp cache.cpp:48:26: error: use of undeclared identifier 'CLOCK_MONOTONIC_COARSE' if(-1 == clock_gettime(CLOCK_MONOTONIC_COARSE, &ts)){ ^ 1 error generated. make[1]: *** [cache.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [install-recursive] Error 1 READ THIS: https://git.io/brew-troubleshooting If reporting this issue please do so at (not Homebrew/homebrew): https://github.com/Homebrew/homebrew-fuse/issues ```
Author
Owner

@ggtakec commented on GitHub (Feb 7, 2016):

Ah...
I merged new code asap.

<!-- gh-comment-id:180965070 --> @ggtakec commented on GitHub (Feb 7, 2016): Ah... I merged new code asap.
Author
Owner

@ggtakec commented on GitHub (Feb 7, 2016):

@AlmirKadric I updated master branch by #355
Probably you can build s3fs, please try it.
Regards,

<!-- gh-comment-id:180971693 --> @ggtakec commented on GitHub (Feb 7, 2016): @AlmirKadric I updated master branch by #355 Probably you can build s3fs, please try it. Regards,
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

@ggtakec seems its a no go

$ git log
commit 1c9d7a9ea971f3f089d0a8590ada09fb11622ca2
Merge: bf056b2 e01ded9
Author: Takeshi Nakatani <ggtakec@gmail.com>
Date:   Sun Feb 7 16:44:20 2016 +0900

    Merge pull request #355 from ggtakec/master

    Fixed codes about clock_gettime for osx
$ brew install s3fs --HEAD
==> Installing s3fs from homebrew/fuse
==> Cloning https://github.com/s3fs-fuse/s3fs-fuse.git
Updating /Library/Caches/Homebrew/s3fs--git
==> Checking out branch master
==> ./autogen.sh
==> ./configure --with-gnutls --prefix=/usr/local/Cellar/s3fs/HEAD
==> make install
Last 15 lines from /Users/almirkadric/Library/Logs/Homebrew/s3fs/03.make:
make
install

Making install in src
clang++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2    -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o s3fs.o s3fs.cpp
clang++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2    -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o curl.o curl.cpp
clang++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2    -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o cache.o cache.cpp
clang++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2    -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o string_util.o string_util.cpp
cache.cpp:68:26: error: use of undeclared identifier 'CLOCK_MONOTONIC_COARSE'
  if(-1 == clock_gettime(CLOCK_MONOTONIC_COARSE, &ts)){
                         ^
1 error generated.
make[1]: *** [cache.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [install-recursive] Error 1

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/homebrew):
  https://github.com/Homebrew/homebrew-fuse/issues
<!-- gh-comment-id:180972333 --> @AlmirKadric commented on GitHub (Feb 7, 2016): @ggtakec seems its a no go ``` $ git log commit 1c9d7a9ea971f3f089d0a8590ada09fb11622ca2 Merge: bf056b2 e01ded9 Author: Takeshi Nakatani <ggtakec@gmail.com> Date: Sun Feb 7 16:44:20 2016 +0900 Merge pull request #355 from ggtakec/master Fixed codes about clock_gettime for osx $ brew install s3fs --HEAD ==> Installing s3fs from homebrew/fuse ==> Cloning https://github.com/s3fs-fuse/s3fs-fuse.git Updating /Library/Caches/Homebrew/s3fs--git ==> Checking out branch master ==> ./autogen.sh ==> ./configure --with-gnutls --prefix=/usr/local/Cellar/s3fs/HEAD ==> make install Last 15 lines from /Users/almirkadric/Library/Logs/Homebrew/s3fs/03.make: make install Making install in src clang++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o s3fs.o s3fs.cpp clang++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o curl.o curl.cpp clang++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o cache.o cache.cpp clang++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o string_util.o string_util.cpp cache.cpp:68:26: error: use of undeclared identifier 'CLOCK_MONOTONIC_COARSE' if(-1 == clock_gettime(CLOCK_MONOTONIC_COARSE, &ts)){ ^ 1 error generated. make[1]: *** [cache.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [install-recursive] Error 1 READ THIS: https://git.io/brew-troubleshooting If reporting this issue please do so at (not Homebrew/homebrew): https://github.com/Homebrew/homebrew-fuse/issues ```
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

check this line, it seems to be the bug
github.com/s3fs-fuse/s3fs-fuse@1c9d7a9ea9/src/cache.cpp (L50)

I'm assuming this should say if not defined then define?
but there its written if defined, define it again....

<!-- gh-comment-id:180972436 --> @AlmirKadric commented on GitHub (Feb 7, 2016): check this line, it seems to be the bug https://github.com/s3fs-fuse/s3fs-fuse/blob/1c9d7a9ea971f3f089d0a8590ada09fb11622ca2/src/cache.cpp#L50 I'm assuming this should say if not defined then define? but there its written if defined, define it again....
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

i changed that line and it seems to compile now
FROM

#if defined(CLOCK_MONOTONIC_COARSE)
#define CLOCK_MONOTONIC_COARSE  6
#endif

TO

#if !defined(CLOCK_MONOTONIC_COARSE)
#define CLOCK_MONOTONIC_COARSE  6
#endif
<!-- gh-comment-id:180972505 --> @AlmirKadric commented on GitHub (Feb 7, 2016): i changed that line and it seems to compile now FROM ``` #if defined(CLOCK_MONOTONIC_COARSE) #define CLOCK_MONOTONIC_COARSE 6 #endif ``` TO ``` #if !defined(CLOCK_MONOTONIC_COARSE) #define CLOCK_MONOTONIC_COARSE 6 #endif ```
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

and it works, i can mount and see dbg logs now
let me get back to you with my findings

<!-- gh-comment-id:180972978 --> @AlmirKadric commented on GitHub (Feb 7, 2016): and it works, i can mount and see dbg logs now let me get back to you with my findings
Author
Owner

@ggtakec commented on GitHub (Feb 7, 2016):

@AlmirKadric Thanks, but my these line is not safe, so will fix soon.

<!-- gh-comment-id:180973882 --> @ggtakec commented on GitHub (Feb 7, 2016): @AlmirKadric Thanks, but my these line is not safe, so will fix soon.
Author
Owner

@ggtakec commented on GitHub (Feb 7, 2016):

Fixed by #356, and updated master branch.

<!-- gh-comment-id:180974392 --> @ggtakec commented on GitHub (Feb 7, 2016): Fixed by #356, and updated master branch.
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

@ggtakec

$ git log
commit cd04cb08753e5831fc3f69949801643c5d6f45b8
Merge: 1c9d7a9 0755c6f
Author: Takeshi Nakatani <ggtakec@gmail.com>
Date:   Sun Feb 7 17:14:32 2016 +0900

    Merge pull request #356 from ggtakec/master

    Fixed codes about clock_gettime for osx(2)
$ brew install s3fs --HEAD
==> Installing s3fs from homebrew/fuse
==> Cloning https://github.com/s3fs-fuse/s3fs-fuse.git
Updating /Library/Caches/Homebrew/s3fs--git
==> Checking out branch master
==> ./autogen.sh
==> ./configure --with-gnutls --prefix=/usr/local/Cellar/s3fs/HEAD
==> make install
Last 15 lines from /Users/almirkadric/Library/Logs/Homebrew/s3fs/03.make:
clang++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2    -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o cache.o cache.cpp
clang++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2    -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o string_util.o string_util.cpp
cache.cpp:71:26: error: use of undeclared identifier 'CLOCK_REALTIME'
  if(-1 == clock_gettime(CLOCK_MONOTONIC_COARSE, &ts)){
                         ^
cache.cpp:53:33: note: expanded from macro 'CLOCK_MONOTONIC_COARSE'
#define CLOCK_MONOTONIC_COARSE  CLOCK_MONOTONIC
                                ^
cache.cpp:50:33: note: expanded from macro 'CLOCK_MONOTONIC'
#define CLOCK_MONOTONIC         CLOCK_REALTIME
                                ^
1 error generated.
make[1]: *** [cache.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [install-recursive] Error 1

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/homebrew):
  https://github.com/Homebrew/homebrew-fuse/issues
<!-- gh-comment-id:180974561 --> @AlmirKadric commented on GitHub (Feb 7, 2016): @ggtakec ``` $ git log commit cd04cb08753e5831fc3f69949801643c5d6f45b8 Merge: 1c9d7a9 0755c6f Author: Takeshi Nakatani <ggtakec@gmail.com> Date: Sun Feb 7 17:14:32 2016 +0900 Merge pull request #356 from ggtakec/master Fixed codes about clock_gettime for osx(2) $ brew install s3fs --HEAD ==> Installing s3fs from homebrew/fuse ==> Cloning https://github.com/s3fs-fuse/s3fs-fuse.git Updating /Library/Caches/Homebrew/s3fs--git ==> Checking out branch master ==> ./autogen.sh ==> ./configure --with-gnutls --prefix=/usr/local/Cellar/s3fs/HEAD ==> make install Last 15 lines from /Users/almirkadric/Library/Logs/Homebrew/s3fs/03.make: clang++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o cache.o cache.cpp clang++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/usr/local/Cellar/libtasn1/4.7/include -I/usr/local/Cellar/nettle/2.7.1/include -I/usr/local/Cellar/gnutls/3.3.18/include -I/usr/local/include/osxfuse/fuse -I/usr/include/libxml2 -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -c -o string_util.o string_util.cpp cache.cpp:71:26: error: use of undeclared identifier 'CLOCK_REALTIME' if(-1 == clock_gettime(CLOCK_MONOTONIC_COARSE, &ts)){ ^ cache.cpp:53:33: note: expanded from macro 'CLOCK_MONOTONIC_COARSE' #define CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC ^ cache.cpp:50:33: note: expanded from macro 'CLOCK_MONOTONIC' #define CLOCK_MONOTONIC CLOCK_REALTIME ^ 1 error generated. make[1]: *** [cache.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [install-recursive] Error 1 READ THIS: https://git.io/brew-troubleshooting If reporting this issue please do so at (not Homebrew/homebrew): https://github.com/Homebrew/homebrew-fuse/issues ```
Author
Owner

@ggtakec commented on GitHub (Feb 7, 2016):

I'm sorry and again and again. Updated by #357

<!-- gh-comment-id:180975386 --> @ggtakec commented on GitHub (Feb 7, 2016): I'm sorry and again and again. Updated by #357
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

@ggtakec INSTALLED!!!
ill try it now

<!-- gh-comment-id:180978449 --> @AlmirKadric commented on GitHub (Feb 7, 2016): @ggtakec INSTALLED!!! ill try it now
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

@ggtakec I just ran my test, and it seems to be working fine now... getting no errors.
Will now try the larger test rather than a single file and will let you know once its done
(may take a an hour or so)

<!-- gh-comment-id:180980747 --> @AlmirKadric commented on GitHub (Feb 7, 2016): @ggtakec I just ran my test, and it seems to be working fine now... getting no errors. Will now try the larger test rather than a single file and will let you know once its done (may take a an hour or so)
Author
Owner

@AlmirKadric commented on GitHub (Feb 7, 2016):

@ggtakec the above fixed my issue with single large files. However when trying to rsync folders of files i get broken pipe errors as follows:

$ while ! (rsync -rav --timeout=600 /Volumes/Dump\ Drive/Pictures/* /mnt/almir-clouddrive/Pictures/Photos/.); do echo "retrying..."; ~/Projects/Other/scripts/sbin/domounts; done
building file list ... done
iPhone 4S/._IMG_0053.MOV
iPhone 4S/IMG_0072.JPG
iPhone 4S/IMG_0073.JPG
iPhone 4S/IMG_0074.JPG
rsync: writefd_unbuffered failed to write 32768 bytes [sender]: Broken pipe (32)
rsync: close failed on "/mnt/almir-clouddrive/Pictures/Photos/./iPhone 4S/.IMG_0073.JPG.LtCUAr": Input/output error (5)
rsync error: error in file IO (code 11) at /SourceCache/rsync/rsync-45/rsync/receiver.c(674) [receiver=2.6.9]
rsync: recv_generator: failed to stat "/mnt/almir-clouddrive/Pictures/Photos/./iPhone 4S/IMG_0279.JPG": Interrupted system call (4)
io timeout after 30 seconds -- exiting
rsync error: timeout in data send/receive (code 30) at /SourceCache/rsync/rsync-45/rsync/io.c(164) [sender=2.6.9]

will switch to debug to investigate further

<!-- gh-comment-id:180998847 --> @AlmirKadric commented on GitHub (Feb 7, 2016): @ggtakec the above fixed my issue with single large files. However when trying to `rsync` folders of files i get broken pipe errors as follows: ``` $ while ! (rsync -rav --timeout=600 /Volumes/Dump\ Drive/Pictures/* /mnt/almir-clouddrive/Pictures/Photos/.); do echo "retrying..."; ~/Projects/Other/scripts/sbin/domounts; done building file list ... done iPhone 4S/._IMG_0053.MOV iPhone 4S/IMG_0072.JPG iPhone 4S/IMG_0073.JPG iPhone 4S/IMG_0074.JPG rsync: writefd_unbuffered failed to write 32768 bytes [sender]: Broken pipe (32) rsync: close failed on "/mnt/almir-clouddrive/Pictures/Photos/./iPhone 4S/.IMG_0073.JPG.LtCUAr": Input/output error (5) rsync error: error in file IO (code 11) at /SourceCache/rsync/rsync-45/rsync/receiver.c(674) [receiver=2.6.9] rsync: recv_generator: failed to stat "/mnt/almir-clouddrive/Pictures/Photos/./iPhone 4S/IMG_0279.JPG": Interrupted system call (4) io timeout after 30 seconds -- exiting rsync error: timeout in data send/receive (code 30) at /SourceCache/rsync/rsync-45/rsync/io.c(164) [sender=2.6.9] ``` will switch to debug to investigate further
Author
Owner

@AlmirKadric commented on GitHub (Feb 8, 2016):

@ggtakec the logs don't show anything in particular
however rsync keeps throwing Interrupted system call and soon after the whole operation fails
With the previous version of s3fs this wasn't the case, instead it would only fail with large files
but now it works with large files but fails after a few file operations...

<!-- gh-comment-id:181272150 --> @AlmirKadric commented on GitHub (Feb 8, 2016): @ggtakec the logs don't show anything in particular however rsync keeps throwing `Interrupted system call` and soon after the whole operation fails With the previous version of s3fs this wasn't the case, instead it would only fail with large files but now it works with large files but fails after a few file operations...
Author
Owner

@ggtakec commented on GitHub (Feb 8, 2016):

@AlmirKadric s3fs didn't put any logs, did it?
If you run s3fs background(not specify -f option), probably s3fs puts logs under /var/log.
Please check the files in /var/log(syslog etc.)

And you do not use --inplace option for rsync, you should be set this option.
Because rsync replaces files after rsync sends them without this option.

Last, we need to know why rsync got error(errno 11 = EAGAIN) and who sent it.

Regards,

<!-- gh-comment-id:181368401 --> @ggtakec commented on GitHub (Feb 8, 2016): @AlmirKadric s3fs didn't put any logs, did it? If you run s3fs background(not specify -f option), probably s3fs puts logs under /var/log. Please check the files in /var/log(syslog etc.) And you do not use --inplace option for rsync, you should be set this option. Because rsync replaces files after rsync sends them without this option. Last, we need to know why rsync got error(errno 11 = EAGAIN) and who sent it. Regards,
Author
Owner

@ggtakec commented on GitHub (Mar 30, 2019):

We kept this issue open for a long time.
Is this problem continuing?

We launch new version 1.85, which fixed some problem(bugs).
Please use the latest version.

<!-- gh-comment-id:478215466 --> @ggtakec commented on GitHub (Mar 30, 2019): We kept this issue open for a long time. Is this problem continuing? We launch new version 1.85, which fixed some problem(bugs). Please use the latest version.
Author
Owner

@LIII-XXII commented on GitHub (Apr 3, 2019):

I did run into a similar issue with 1.84, yes. I will retry with the latest version.

<!-- gh-comment-id:479396279 --> @LIII-XXII commented on GitHub (Apr 3, 2019): I did run into a similar issue with 1.84, yes. I will retry with the latest version.
Author
Owner

@gaul commented on GitHub (Jul 9, 2019):

Please test with the latest 1.85 version and open a new issue if the symptoms persist.

<!-- gh-comment-id:509775706 --> @gaul commented on GitHub (Jul 9, 2019): Please test with the latest 1.85 version and open a new issue if the symptoms persist.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/s3fs-fuse#178
No description provided.