[Bugs] [Bug 1729950] New: Deadlock when generating statedumps

bugzilla at redhat.com bugzilla at redhat.com
Mon Jul 15 12:04:28 UTC 2019


https://bugzilla.redhat.com/show_bug.cgi?id=1729950

            Bug ID: 1729950
           Summary: Deadlock when generating statedumps
           Product: GlusterFS
           Version: 7
            Status: NEW
         Component: core
          Severity: high
          Priority: medium
          Assignee: bugs at gluster.org
          Reporter: jahernan at redhat.com
                CC: bugs at gluster.org, pasik at iki.fi
        Depends On: 1727068
            Blocks: 1722209
  Target Milestone: ---
    Classification: Community



+++ This bug was initially created as a clone of Bug #1727068 +++

Description of problem:

There seems to be a deadlock between statedump generation and creation of an
anonymous fd.

When a statedump is generated and it's going to dump inode information, it
takes the inode table lock and then each individual inode lock.

On the other side, when an anonymous fd is created, first it's acquired the
lock from the inode, and then the lock from the inode table when the refcount
of the inode is incremented.

This causes a deadlock because of reverse acquisition order of the locks.

This deadlock may not be exclusive of statedump, but there are few places where
we take both locks at the same time, and for sure none of them does that in a
so "massive" way.

Version-Release number of selected component (if applicable): mainline


How reproducible:

It's a race hard to reproduce.

Steps to Reproduce:
1.
2.
3.

Actual results:

Generation of statedump hangs and mount point becomes unresponsiveness.

Expected results:

Generation of statedump should complete successfully and mount point continue
working normally.


Additional info:


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1722209
[Bug 1722209] [GSS] Issues accessing gluster mount / df -h hanging
https://bugzilla.redhat.com/show_bug.cgi?id=1727068
[Bug 1727068] Deadlock when generating statedumps
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list