[GH-ISSUE #1945] Shell is freezing when mentioning FUSEd folder #982

Open
opened 2026-03-04 01:50:26 +03:00 by kerem · 5 comments
Owner

Originally created by @sinnrrr on GitHub (May 17, 2022).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1945

Additional Information

Version of s3fs being used (s3fs --version)

1.9.0

Version of fuse being used (pkg-config --modversion fuse, rpm -qi fuse, dpkg -s fuse)

2.9.9

Kernel information (uname -r)

21.4.0

GNU/Linux Distribution, if applicable (cat /etc/os-release)

Not applicable, using MacOS

s3fs command line used, if applicable

s3fs -o dbglevel=debug -o curldbg -o use_path_request_style -o default_acl=public-read -o passwd_file=/etc/passwd-s3fs -o url=https://s3.us-west-004.backblazeb2.com -o endpoint=us-east-1 -o allow_other '"test-bucket-2022"' /opt/data

/etc/fstab entry, if applicable

Not applicable, using MacOS

s3fs syslog messages (grep s3fs /var/log/syslog, journalctl | grep s3fs, or s3fs outputs)

if you execute s3fs with dbglevel, curldbg option, you can get detail debug messages

No output

Details about the issue

Shell completely freezes, when I mention the FUSEd folder (I can't even ctrl-c or ctrl-z it). It freezes completely and doesn't unfreeze for even 5 minutes.

https://user-images.githubusercontent.com/25615887/168851636-8eef43d3-8959-4696-8063-c5fbfd173be1.mp4

Origin issue reference: https://github.com/s3fs-fuse/s3fs-fuse/issues/445

Originally created by @sinnrrr on GitHub (May 17, 2022). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1945 ### Additional Information #### Version of s3fs being used (s3fs --version) _1.9.0_ #### Version of fuse being used (pkg-config --modversion fuse, rpm -qi fuse, dpkg -s fuse) _2.9.9_ #### Kernel information (uname -r) _21.4.0_ #### GNU/Linux Distribution, if applicable (cat /etc/os-release) _Not applicable, using MacOS_ #### s3fs command line used, if applicable ``` s3fs -o dbglevel=debug -o curldbg -o use_path_request_style -o default_acl=public-read -o passwd_file=/etc/passwd-s3fs -o url=https://s3.us-west-004.backblazeb2.com -o endpoint=us-east-1 -o allow_other '"test-bucket-2022"' /opt/data ``` #### /etc/fstab entry, if applicable _Not applicable, using MacOS_ #### s3fs syslog messages (grep s3fs /var/log/syslog, journalctl | grep s3fs, or s3fs outputs) _if you execute s3fs with dbglevel, curldbg option, you can get detail debug messages_ ``` No output ``` ### Details about the issue Shell completely freezes, when I mention the FUSEd folder (I can't even `ctrl-c` or `ctrl-z` it). It freezes completely and doesn't unfreeze for even 5 minutes. https://user-images.githubusercontent.com/25615887/168851636-8eef43d3-8959-4696-8063-c5fbfd173be1.mp4 Origin issue reference: https://github.com/s3fs-fuse/s3fs-fuse/issues/445
Author
Owner

@sinnrrr commented on GitHub (May 17, 2022):

@ggtakec FYI
by the way, could you mention how can I check if s3fs didn't have any problems with authorization?

<!-- gh-comment-id:1129025016 --> @sinnrrr commented on GitHub (May 17, 2022): @ggtakec FYI by the way, could you mention how can I check if `s3fs` didn't have any problems with authorization?
Author
Owner

@ggtakec commented on GitHub (May 18, 2022):

@sinnrrr As I wrote in #445, we should know the output log of s3fs to solve this problem.
Whether or not there was a problem with the authentication is also output to the log, so you can check it in the log.

Try restarting s3fs by adding -o dbglevel=dbg(you can set err/warn/info/dbg) and -o curldbg(if you need to know communication log) on the s3fs command line.
(And you can specify -f together, the process can be executed in the foreground.)

As a result, s3fs will output a detailed operation log, so please let us what kind of state it is.

<!-- gh-comment-id:1130082639 --> @ggtakec commented on GitHub (May 18, 2022): @sinnrrr As I wrote in #445, we should know the output log of s3fs to solve this problem. Whether or not there was a problem with the authentication is also output to the log, so you can check it in the log. Try restarting s3fs by adding `-o dbglevel=dbg`(you can set err/warn/info/dbg) and `-o curldbg`(if you need to know communication log) on the s3fs command line. (And you can specify `-f` together, the process can be executed in the foreground.) As a result, s3fs will output a detailed operation log, so please let us what kind of state it is.
Author
Owner

@sinnrrr commented on GitHub (May 18, 2022):

@ggtakec I tried to play with this on my local machine and it worked (IDK why it wasn't working before -- I used the same command and variables).

Nevertheless, it doesn't work in a Docker container, and the reason can be inferred from the logs:
https://pastebin.com/Jv4jQukG

(I need a proper SSL certificate)

Out of this, could you provide some details on it? What do I do to launch it in a Docker container?

<!-- gh-comment-id:1130592248 --> @sinnrrr commented on GitHub (May 18, 2022): @ggtakec I tried to play with this on my local machine and it worked (IDK why it wasn't working before -- I used the same command and variables). Nevertheless, it doesn't work in a Docker container, and the reason can be inferred from the logs: https://pastebin.com/Jv4jQukG (I need a proper SSL certificate) Out of this, could you provide some details on it? What do I do to launch it in a Docker container?
Author
Owner

@sinnrrr commented on GitHub (May 19, 2022):

@ggtakec I have generated a new certificate, using Lets Encrypt and that didn't help either, as well as generating the certificate as you do in the tests: github.com/s3fs-fuse/s3fs-fuse@dc40f16161/test/integration-test-common.sh (L151-L152)

<!-- gh-comment-id:1131449697 --> @sinnrrr commented on GitHub (May 19, 2022): @ggtakec I have generated a new certificate, using Lets Encrypt and that didn't help either, as well as generating the certificate as you do in the tests: https://github.com/s3fs-fuse/s3fs-fuse/blob/dc40f161616e6e71c4581a4d42eb817816ba0729/test/integration-test-common.sh#L151-L152
Author
Owner

@ggtakec commented on GitHub (May 22, 2022):

@sinnrrr Thanks for getting your log.
As you say, the CURLE_SSL_CACERT error is output, so it seems that the Peer certificate cannot be confirmed with the CA certificate.

s3fs delegates CA certificate path management to libcurl.
Depending on the OS, s3fs(libcurl) is looking for the CA certificate path as in the source code comment below:
https://github.com/s3fs-fuse/s3fs-fuse/blob/master/src/curl.cpp#L540-L545

I think you need to check if the above file exists depending on the OS.
If the correct CA certificate exists, but s3fs doesn't seem to load, you can specify its path with the environment variable CURL_CA_BUNDLE.

And although this involves security challenges, you can temporarily work around this issue with the no_check_certificate option (or the ssl_verify_hostname option).
Specifying this option works to bypass the verify check of the server's SSL certificate. (it disables CURLOPT_SSL_VERIFYPEER.)

Please try to check and use env/options.

<!-- gh-comment-id:1133828195 --> @ggtakec commented on GitHub (May 22, 2022): @sinnrrr Thanks for getting your log. As you say, the `CURLE_SSL_CACERT` error is output, so it seems that the Peer certificate cannot be confirmed with the CA certificate. s3fs delegates CA certificate path management to `libcurl`. Depending on the OS, s3fs(libcurl) is looking for the CA certificate path as in the source code comment below: https://github.com/s3fs-fuse/s3fs-fuse/blob/master/src/curl.cpp#L540-L545 I think you need to check if the above file exists depending on the OS. If the correct CA certificate exists, but s3fs doesn't seem to load, you can specify its path with the environment variable `CURL_CA_BUNDLE`. And although this involves security challenges, you can temporarily work around this issue with the `no_check_certificate` option (or the `ssl_verify_hostname` option). Specifying this option works to bypass the verify check of the server's SSL certificate. (it disables `CURLOPT_SSL_VERIFYPEER`.) Please try to check and use env/options.
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#982
No description provided.