[Bugs] [Bug 1305428] New: [Fuse: ] crash while --attribute-timeout and -entry-timeout are set to 0

bugzilla at redhat.com bugzilla at redhat.com
Mon Feb 8 08:27:05 UTC 2016


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

            Bug ID: 1305428
           Summary: [Fuse: ] crash while --attribute-timeout and
                    -entry-timeout are set to 0
           Product: GlusterFS
           Version: 3.7.7
         Component: fuse
          Assignee: bugs at gluster.org
          Reporter: aspandey at redhat.com
                CC: bugs at gluster.org
        Depends On: 1299410



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

Description of problem:

Core was generated by `glusterfs --attribute-timeout=0 --entry-timeout=0
--volfile-id=/patchy --volfil'.


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


How reproducible:
1/1

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:
It should not crash.

Additional info:

--- Additional comment from Vijay Bellur on 2016-01-18 05:34:46 EST ---

REVIEW: http://review.gluster.org/13253 (Fuse: Check priv and active_vol
variable for NULL       before calling inode_table_dump) posted (#1) for review
on master by Ashish Pandey (aspandey at redhat.com)

--- Additional comment from Vijay Bellur on 2016-01-22 01:09:57 EST ---

REVIEW: http://review.gluster.org/13253 (Fuse: Add a check for NULL in
fuse_itable_dump) posted (#2) for review on master by Ashish Pandey
(aspandey at redhat.com)

--- Additional comment from Ashish Pandey on 2016-01-22 01:13:55 EST ---

This bug is reproducible while running the ec-notify.t test in loop. 

Immediately after starting a disperse volume (2+1) kill one brick and just
after that try to mount it through fuse. This lead to crash.

--- Additional comment from Vijay Bellur on 2016-01-22 03:45:40 EST ---

REVIEW: http://review.gluster.org/13253 (Fuse: Add a check for NULL in
fuse_itable_dump) posted (#3) for review on master by Raghavendra G
(rgowdapp at redhat.com)

--- Additional comment from Vijay Bellur on 2016-01-22 03:46:50 EST ---

REVIEW: http://review.gluster.org/13253 (Fuse: Add a check for NULL in
fuse_itable_dump) posted (#4) for review on master by Raghavendra G
(rgowdapp at redhat.com)

--- Additional comment from Vijay Bellur on 2016-01-22 03:48:09 EST ---

REVIEW: http://review.gluster.org/13253 (Fuse: Add a check for NULL in
fuse_itable_dump) posted (#5) for review on master by Raghavendra G
(rgowdapp at redhat.com)

--- Additional comment from Vijay Bellur on 2016-01-22 03:50:46 EST ---

REVIEW: http://review.gluster.org/13253 (Fuse: Add a check for NULL in
fuse_itable_dump) posted (#6) for review on master by Raghavendra G
(rgowdapp at redhat.com)

--- Additional comment from Vijay Bellur on 2016-01-27 00:33:12 EST ---

REVIEW: http://review.gluster.org/13253 (Fuse: Add a check for NULL in
fuse_itable_dump) posted (#7) for review on master by Ashish Pandey
(aspandey at redhat.com)

--- Additional comment from Vijay Bellur on 2016-02-08 03:24:48 EST ---

COMMIT: http://review.gluster.org/13253 committed in master by Raghavendra G
(rgowdapp at redhat.com) 
------
commit 8ad742de98da284539b8ae772e0990294412da01
Author: Ashish Pandey <aspandey at redhat.com>
Date:   Mon Jan 18 15:57:41 2016 +0530

    Fuse: Add a check for NULL in fuse_itable_dump

    Problem: Immediately after starting a disperse volume (2+1)
    kill one brick and just after that try to mount it
    through fuse. This lead to crash.

    Our test scripts use process statedumps to determine various things
    like whether they are up, connected to bricks etc. It takes some time
    for an active_subvol to be be associated with fuse even after mount
    process is daemonized. This time is normally a function of completion
    of handshake with bricks. So, if we try to take statedump in this time
    window, fuse wouldn't have an active_subvol associated with it leading
    to this crash.

    This happened while executing ec-notify.t, which contains above steps.

    Solution: Check priv and  priv->active_subvol for NULL before
    inode_table_dump. If priv->active_subvol is null its perfectly fine to
    skip dumping of inode table as inode table is associated with an
    active_subvol. A Null active_subvol indicates initialization in
    progress and fuse wouldn't even have started reading requests from
    /dev/fuse and hence there wouldn't be any inodes or file system
    activity.

    Change-Id: I323a154789edf8182dbd1ac5ec7ae07bf59b2060
    BUG: 1299410
    Signed-off-by: Ashish Pandey <aspandey at redhat.com>
    Reviewed-on: http://review.gluster.org/13253
    Smoke: Gluster Build System <jenkins at build.gluster.com>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.com>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    Reviewed-by: Raghavendra G <rgowdapp at redhat.com>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1299410
[Bug 1299410] [Fuse: ] crash while --attribute-timeout and -entry-timeout
are set to 0
-- 
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