mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2026-04-25 21:35:58 +03:00
[GH-ISSUE #1676] Deadlock in current development version #872
Labels
No labels
bug
bug
dataloss
duplicate
enhancement
feature request
help wanted
invalid
need info
performance
pull-request
question
question
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/s3fs-fuse#872
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @CarstenGrohmann on GitHub (Jun 9, 2021).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1676
Dear S3FS Developer,
Running the current master to copy a file and do a parallel
lscauses a deadlock.After I started a copy job, I repeatedly displayed the contents of the mount. After a few repetitions, s3fs hung at
fdcache.cpp:Open(468).strace shows a
futex(0x7ffe383480b0, FUTEX_WAIT_PRIVATE, 0, NULLin this state. After waiting a few minutes I terminateds3fswithkill -9(SIGKILL). I simplekilldoesn't terminate the process.I can reproduce this issue only with the current master
f5701fa. I'm not able to reproduce this issue with the older commit9bf525e.More details:
Steps to reproduce:
llto the mountllcommand on success till it blocksAdditionally I found this unexpected warning:
s3fs debug log:
@gaul commented on GitHub (Jun 13, 2021):
When you say deadlock do you mean that one of the requests never makes progress or it makes progress after the other operation completes? If it is the former, you make want to build s3fs using ThreadSanitizer which gives rich error information about these situations:
You can also try to
git bisectto find the offending commit although I strongly suspect that84174c560dcaused this regression.@CarstenGrohmann commented on GitHub (Jun 15, 2021):
Both requests bring no progress. Finally, I stopped s3fs with SIGKILL because I could not terminate either process (cp & ls).
Today I could not reproduce the problem manually or by script. So I'll close this ticket for now and reopen it when I have more useful information such as the ThreadSanitizer output.
@gaul commented on GitHub (Jun 16, 2021):
I merged
4d39ea887ewhich fixed a locking regression although this should not manifest as deadlock. One of the most effective tools for diagnosing threading issues is ThreadSanitizer. You can see how to compile with it in run_tests_using_sanitizers.sh. This script is only as effective as the tests we have so manual testing could uncover other racy code paths.@ggtakec commented on GitHub (Jun 16, 2021):
@CarstenGrohmann Thank you for your kindness, sorry for the reply was late.
The most recent code change may have been the impact of #1666 for this issue.
If you find a similar Deadlock in the future, please reopen this.