Bugzilla – Bug 5279
Hang during activation
Last modified: 2008-08-11 15:19:39
You need to log in before you can comment on or make changes to this bug.
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.
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