To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=97975
                 Issue #|97975
                 Summary|unoexe.bin can crash in a thread that exits after main
                        | does
               Component|udk
                 Version|DEV300m35
                Platform|All
                     URL|
              OS/Version|Linux
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|PATCH
                Priority|P3
            Subcomponent|code
             Assigned to|kr
             Reported by|cmc





------- Additional comments from c...@openoffice.org Mon Jan 12 09:00:09 +0000 
2009 -------
i.e. source/remote/urp/urp_environment.cxx has...

sal_Bool g_bStaticDestructorsCalled = sal_False;
struct StaticSingleton
{
    ~StaticSingleton()
        {
            g_bStaticDestructorsCalled = sal_True;
        }
};
StaticSingleton singleton;

...

static void SAL_CALL RemoteEnvironment_thisDispose( uno_Environment *pEnvRemote 
)
{
...

    if( ! g_bStaticDestructorsCalled  && ! pContext->m_pBridgeImpl->m_bDisposed 
)
    {
     ...
     releaseStubs( pEnvRemote );
    }
}

}

RemoteEnvironment_thisDispose gets run in a thread, what sometimes happens is
unoexe.bin's main thread is still running at the first test of
g_bStaticDestructorsCalled, then the unoexe.bin main thread completes and then
the active thread gets to releaseStubs after unoexe.bin has completed and
promptly falls over and crashes. This happens about 5% of the time when running

#!/bin/sh
ulimit -c unlimited
echo start removing `date`
unopkg remove --shared com.sun.star.PDFImport-linux_x86_64
echo end removing `date`
echo starting listing `date`
unopkg list --shared > /dev/null
echo end listing `date`
echo start adding `date`
unopkg add --shared --force /path/to/pdfimport.oxt
echo end adding `date`

in a continuous loop.

If we take as valid the assumption the code already makes that
"g_bStaticDestructorsCalled" is a good flag for determining that it is safe to
do the thread related cleanup then how about the following patch ? It removes
this particular crash for me anyway.

---------------------------------------------------------------------
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: issues-unsubscr...@udk.openoffice.org
For additional commands, e-mail: issues-h...@udk.openoffice.org


---------------------------------------------------------------------
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org

Reply via email to