To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=107260
                 Issue #|107260
                 Summary|vcl: crash when pasting during shutdown
               Component|gsl
                 Version|DEV300m65
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|PATCH
                Priority|P3
            Subcomponent|code
             Assigned to|pl
             Reported by|cmc





------- Additional comments from [email protected] Fri Nov 27 09:09:45 +0000 
2009 -------
Start writer under valgrind (slows this down so its likely to happen), type some
text, select it, ctrl + c, shutdown office, while its shutting down paste
continuously like a crazy guy into a terminal. 

With a bit of luck you should get something like...

==24416==    at 0x30CF80915A: pthread_mutex_lock (pthread_mutex_lock.c:84)
==24416==    by 0x4C3791F: osl_acquireMutex (mutex.c:132)
==24416==    by 0x11448E28: SalYieldMutex::acquire() (salinst.cxx:70)
==24416==    by 0x6797EFF: TransferableHelper::getTransferDataFlavors() (in
/usr/lib64/openoffice.org/basis3.2/program/libsvtlx.so)
==24416==    by 0x113E2C4A:
x11::SelectionManager::handleSelectionRequest(XSelectionRequestEvent&)
(X11_selection.cxx:1643)
==24416==    by 0x113E4284: x11::SelectionManager::handleXEvent(_XEvent&)
(X11_selection.cxx:3603)
==24416==    by 0x113E479A: x11::SelectionManager::dispatchEvent(int)
(X11_selection.cxx:3679)
==24416==    by 0x113E4835: x11::SelectionManager::run(void*)
(X11_selection.cxx:3703)
==24416==    by 0x4C3897B: osl_thread_start_Impl (thread.c:269)
==24416==    by 0x30CF806AE9: start_thread (pthread_create.c:297)
==24416==    by 0x30CECE233C: clone (clone.S:112)
==24416==  Address 0xa501178 is 8 bytes inside a block of size 40 free'd
==24416==    at 0x4A04D72: free (vg_replace_malloc.c:325)
==24416==    by 0x9BF0EA6: vos::OMutex::~OMutex() (in
/usr/lib64/openoffice.org/basis3.2/program/libvos3gcc3.so)
==24416==    by 0x1112331F: GtkHookedYieldMutex::~GtkHookedYieldMutex()
(salinst.h:46)
==24416==    by 0x11448D32: X11SalInstance::~X11SalInstance() (salinst.cxx:144)
==24416==    by 0x11122E2E: GtkInstance::~GtkInstance() (gtkinst.cxx:195)
==24416==    by 0x7DD1745: DestroySalInstance(SalInstance*) (salplug.cxx:231)
==24416==    by 0x7B6A39D: DeInitVCL() (svmain.cxx:537)

it can happen inside any of the methods called from handleXEvent that reenter
OOo and are blocked on the global SolarMutex, they stay stuck there until the
global solarmutex is deleted and then the thread crashes and burns.

When we get the downing event we call osl_terminateThread but the thread won't
exit until its had a chance to finish its current cycle. Part of the fix can be
to allow the thread to complete before finishing, that removes the problem of
the thread existing past the destruction of the solarmutex which is a good
thing. Doing that though shows that the downing event takes place after
SfxApplication is destroyed and the pasting mechanism needs that too, so all in
all it looks to me that the paste stuff needs to be shutdown before the death of
SfxApplication. (I hate threads)

---------------------------------------------------------------------
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