[Bugs] [Bug 1234408] STACK_RESET may crash with concurrent statedump requests to a glusterfs process

bugzilla at redhat.com bugzilla at redhat.com
Wed Jul 1 11:18:25 UTC 2015


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



--- Comment #2 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/11352 committed in release-3.7 by Pranith
Kumar Karampuri (pkarampu at redhat.com) 
------
commit 8ad92bbde3a17ce9aa44e32ae42df5db259fa2ce
Author: Krishnan Parthasarathi <kparthas at redhat.com>
Date:   Fri Jun 5 10:33:11 2015 +0530

    stack: use list_head for managing frames

    PROBLEM
    --------

    statedump requests that traverse call frames of all call stacks in
    execution may race with a STACK_RESET on a stack.  This could crash the
    corresponding glusterfs process. For e.g, recently we observed this in a
    regression test case tests/basic/afr/sparse-self-heal.t.

    FIX
    ---

    gf_proc_dump_pending_frames takes a (TRY_LOCK) call_pool->lock before
    iterating through call frames of all call stacks in progress.  With this
    fix, STACK_RESET removes its call frames under the same lock.

    Additional info
    ----------------

    This fix makes call_stack_t to use struct list_head in place of custom
    doubly-linked list implementation. This makes call_frame_t manipulation
    easier to maintain in the context of STACK_WIND et al.

    BUG: 1234408
    Change-Id: I7e43bccd3994cd9184ab982dba3dbc10618f0d94
    Signed-off-by: Krishnan Parthasarathi <kparthas at redhat.com>
    Reviewed-on: http://review.gluster.org/11095
    Reviewed-by: Niels de Vos <ndevos at redhat.com>
    Tested-by: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu at redhat.com>
    Tested-by: NetBSD Build System <jenkins at build.gluster.org>
    (cherry picked from commit 79e4c7b2fad6db15863efb4e979525b1bd4862ea)
    Reviewed-on: http://review.gluster.org/11352

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=Eda4CBRh5F&a=cc_unsubscribe


More information about the Bugs mailing list