Bug 1011662 - threads created by gluster should block signals which are not used by gluster itself
threads created by gluster should block signals which are not used by gluster...
Status: CLOSED CURRENTRELEASE
Product: GlusterFS
Classification: Community
Component: core (Show other bugs)
mainline
Unspecified Unspecified
high Severity high
: ---
: ---
Assigned To: Ric Wheeler
:
Depends On: 998832
Blocks: 1010337
  Show dependency treegraph
 
Reported: 2013-09-24 14:20 EDT by Anand Avati
Modified: 2015-09-01 19:06 EDT (History)
16 users (show)

See Also:
Fixed In Version: glusterfs-3.5.0
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 998832
Environment:
Last Closed: 2014-04-17 07:48:33 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Comment 1 Anand Avati 2013-09-24 14:31:16 EDT
REVIEW: http://review.gluster.org/5995 (core: block unused signals in created threads) posted (#1) for review on master by Anand Avati (avati@redhat.com)
Comment 2 Anand Avati 2013-09-24 19:19:37 EDT
REVIEW: http://review.gluster.org/5995 (core: block unused signals in created threads) posted (#2) for review on master by Anand Avati (avati@redhat.com)
Comment 3 Anand Avati 2013-09-25 04:34:02 EDT
COMMIT: http://review.gluster.org/5995 committed in master by Vijay Bellur (vbellur@redhat.com) 
------
commit 84fa8af38d2eab0f72349abb8136811bd3e96570
Author: Anand Avati <avati@redhat.com>
Date:   Tue Sep 24 09:45:08 2013 -0700

    core: block unused signals in created threads
    
    Block all signal except those which are set for explicit handling
    in glusterfs_signals_setup(). Since thread spawning code in
    libglusterfs and xlators can get called from application threads
    when used through libgfapi, it is necessary to do this blocking.
    
    Change-Id: Ia320f80521a83d2edcda50b9ad414583a0175281
    BUG: 1011662
    Signed-off-by: Anand Avati <avati@redhat.com>
    Reviewed-on: http://review.gluster.org/5995
    Tested-by: Gluster Build System <jenkins@build.gluster.com>
    Reviewed-by: Amar Tumballi <amarts@redhat.com>
    Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Comment 4 Paolo Bonzini 2013-09-26 06:25:16 EDT
Thanks for fixing this quickly Anand!

The patch looks good, but why trap SIGABRT?  In general, when using libgfapi the application handler for SIGABRT should be used.
Comment 5 Anand Avati 2013-09-26 23:59:41 EDT
A caller of assert() would need the SIGABRT to be caught in the same thread for things like printing a meaningful backtrace, and hence left it unblocked (in case the application has already setup a handler). It wasn't with the intention that libgfapi would handle SIGABRT with its handler.
Comment 6 Paolo Bonzini 2013-09-27 06:03:13 EDT
That makes sense, thanks!
Comment 7 Amar Tumballi 2013-10-07 04:47:41 EDT
with 3.4.1 release of glusterfs
Comment 10 Niels de Vos 2014-04-17 07:48:33 EDT
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.5.0, please reopen this bug report.

glusterfs-3.5.0 has been announced on the Gluster Developers mailinglist [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6137
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user

Note You need to log in before you can comment on or make changes to this bug.