To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=113979
                 Issue #|113979
                 Summary|getUnloadingMutex() uses already destructed object dur
                        |ing process exit
               Component|porting
                 Version|DEV300m86
                Platform|Opteron/x86_64
                     URL|
              OS/Version|Linux
                  Status|UNCONFIRMED
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|code
             Assigned to|mh
             Reported by|olistraub





------- Additional comments from [email protected] Thu Aug 19 09:18:22 
+0000 2010 -------
While debugging a deadlock during process shutdown, we found out the following:

-the process being exited still had a Reference<> to an object in another
process as static variable
-__cxa_finalizers are currently running, and have already destroyed the static
mutex within the getUnloadingMutex() function (in unload.cxx)
-__cxa_finalizer now destroys the static Reference<> object, causing an infinite
hang when locking the unloading mutex, since it was already destroyed.

In sal/osl/unx/mutex.c, the osl_getGlobalMutex had the same problem. It was
fixed by using pthread_once to initialize the mutex without ever destroying it.

We should do this here too, or allocate the unloading mutex on the heap (causing
a memory leak, but no hang).

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to