Bug 5279 - Hang during activation
: Hang during activation
Status: RESOLVED FIXED
: GSI C
Authentication
: 4.0.4
: PC Linux
: P3 normal
: 4.0.5
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2007-05-08 03:23 by
Modified: 2008-08-11 15:19 (History)


Attachments


Note

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


Description From 2007-05-08 03:23:12
Background: In some thread implementations, pthread_once functions execute in a
separate thread from the one that called it. Some GSSAPI functions call
pthread_once to ensure that the GLOBUS_GSI_GSSAPI_MODULE is activated before
doing their processing. The globus_module_activate function uses a recursive
mutex so that it can keep track of dependencies between modules when doing
deactivation.

If a module (from it's activation function) calls a gssapi function, the
application can deadlock. The threads deadlock like this:

Thread 1:
activate (lock module activation lock)
  gss_*
  pthread_once

----
Thread 2:
once_function
  globus_module_activate: attempt to lock module activation lock 

This will only happen if the gss function is the first one which attempts to
use the pthread_once control in GSSAPI.
------- Comment #1 From 2007-05-17 11:58:25 -------
committed to 4.0 branch and trunk
Update package listed on Advisory page:
http://www.globus.org/toolkit/advisories.html#globus_gssapi_gsi-4.11

joe