Apache OpenOffice (AOO) Bugzilla – Issue 92720
crash handling unreliable on Mac OS X with in-process JVM
Last modified: 2017-05-20 10:55:38 UTC
kill -segv does not force signalhandler to crash when java is involved. That leads to the problems that we do not see our crashreporter on Mac and that document recovery will not work under these conditions.
.
Right now it looks like that only kill -segv is not working. We have seen other crashes where everything works fine.
Without a JVM running in OOos process evrything is fine: - an actual crash in the main thread also tirggers OOos singal handler - kill -SEGV triggers OOos signal handler With JVM running in OOo (f.e. click Tools/Macros/Organize Macros/Java Script) this happens: - an actual crash in the main thread also tirggers OOos singal handler - kill -SEGV does NOT trigger OOos signal handler but the MacOsX Crash Reporter is coming up. The detailed report shows that all thread waiting on a pthread_wait_xxx do not get the signal. All other threads except the main thread have a JVM_RaiseExecption on the stack with a resulting call to mach_trap. But the main_thread also gets a mach_trap call from the event loop. It looks like if no JVM is involved everything is fine and if JVM is involved an a crash occurs in C++ code everythiong is fine too.
hro: As discussed with QA, not a stopper for 3.0
Actually if a signal raised from inside the running process from a thread other than JVMs the document recovery and the crash reporter are triggered by OOo's signal handler. Therefor we only have the issue left that we need a different way other than 'kill -SEGV' for QA to test crash repoting/and document recovery if JVM already runs.
sb: Something for the new crash reporter maintainer?
Re "Therefor we only have the issue left that we need a different way other than 'kill -SEGV' for QA to test crash repoting/and document recovery if JVM already runs." -- Issue 108411 describes an effective way to produce a "true crash" via an additional menu entry (once the fix for issue 108411 is integrated). (And an effective way to ensure that an in-process JVM is instantiated is to step through "Tools - Macros - Run Macro... - Cancel".) The status then, on DEV300_m69 (CWS sb119, incl. fixes for issue 108411 and issue 106355, among others) unxmacxi.pro on Mac OS X 10.5, is as follows: - With no in-process JVM instantiated, a crash reliably leads to correct crash handling. - With an in-process JVM instantiated, a crash sometimes leads to correct crash handling, and sometimes freezes OOo. (Changed summary line accordingly.)
Reset assigne to the default "issues@openoffice.apache.org".