Description of problem:
Glusterfs client crashes when performing removing of directories in parallel. This issue is found by LTP test case inode02. Glusterfs needs to configure with more then 1 bricks. It is much more easy to reproduce with commit "event/epoll: Add back socket for polling of events immediately after reading the entire rpc message from the wire".
Version-Release number of selected component (if applicable):
On some test machine, it crashes every time. However on some other machine, it never crashes.
Steps to Reproduce:
1. create glusterfs with >1 bricks
2. fuse mount glusterfs
3. run ltp test case inode02
gluster crashes when removing directories and test fails
test finishes without error.
Can you please provide the coredump and rpm versions?
I've a fix for this issue. Since I could not login to review.gluster.org, I put the link of it below FYI.
Thank you Zhang for finding the BZ and the fix.
Are you able to log in to review.gluster.org now? It would be great if you can submit the patch there.
No, "signed in with GitHub" still gives me a result of forbidden. It is been for a while.
I saw your comment on my patch. It is good advise, I will modify the patch accordingly and resent after test.
Thank you for your reply.
(In reply to Zhang Huan from comment #4)
> No, "signed in with GitHub" still gives me a result of forbidden. It is been
> for a while.
You can ask for help on this by logging into the #gluster channel in IRC. Ask for nigelb.
Please file a bug for the issue where you cannot log into review.gluster.org. Please use component project-infrastructure.
(In reply to Nithya Balachandran from comment #6)
> Hi Zhang,
> Please file a bug for the issue where you cannot log into
> review.gluster.org. Please use component project-infrastructure.
Please ignore this - I just realised there is a BZ already.
The login issue has been fixed. Related link is
I will continue to post the patch to review.gluster.org for review.
REVIEW: https://review.gluster.org/18517 (cluster/dht: fix crash when deleting directories) posted (#1) for review on master by Zhang Huan (email@example.com)
COMMIT: https://review.gluster.org/18517 committed in master by Raghavendra G (firstname.lastname@example.org)
Author: Zhang Huan <email@example.com>
Date: Tue Sep 5 11:36:25 2017 +0800
cluster/dht: fix crash when deleting directories
In DHT, after locks on all subvolumes are acquired, it would perform the
following steps sequentially,
1. send remove dir on all other subvolumes except the hashed one in a loop;
2. wait for all pending rmdir to be done
3. remove dir on the hashed subvolume
The problem is that in step 1 there is a check to skip hashed subvolume
in the loop. If the last subvolume to check is actually the
hashed one, and step 3 is quickly done before the last and hashed
subvolume is checked, by accessing shared context data be destroyed in
step 3, would cause a crash.
Fix by saving shared data in a local variable to access later in the
Signed-off-by: Zhang Huan <firstname.lastname@example.org>
REVIEW: https://review.gluster.org/18551 (cluster/dht: fix crash when deleting directories) posted (#1) for review on release-3.12 by N Balachandran (email@example.com)
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.13.0, please open a new bug report.
glusterfs-3.13.0 has been announced on the Gluster mailinglists , packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist  and the update infrastructure for your distribution.