Issue 92720 - crash handling unreliable on Mac OS X with in-process JVM
Summary: crash handling unreliable on Mac OS X with in-process JVM
Status: ACCEPTED
Alias: None
Product: General
Classification: Code
Component: code (show other issues)
Version: OOO300m1
Hardware: All Mac OS X, all
: P4 Trivial (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-12 16:36 UTC by uwe.luebbers
Modified: 2017-05-20 10:55 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description uwe.luebbers 2008-08-12 16:36:47 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.
Comment 1 eric.bachard 2008-08-13 11:03:15 UTC
.
Comment 2 uwe.luebbers 2008-08-13 11:38:08 UTC
Right now it looks like that only kill -segv is not working.
We have seen other crashes where everything works fine.
Comment 3 hennes.rohling 2008-08-13 12:15:58 UTC
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.
Comment 4 kai.sommerfeld 2008-08-15 09:13:14 UTC
hro:  As discussed with QA, not a stopper for 3.0
Comment 5 hennes.rohling 2009-01-20 15:20:16 UTC
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.

Comment 6 kai.sommerfeld 2009-07-13 13:00:34 UTC
sb: Something for the new crash reporter maintainer?
Comment 7 Stephan Bergmann 2009-07-13 15:00:40 UTC
.
Comment 8 Stephan Bergmann 2010-01-21 13:32:46 UTC
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.)
Comment 9 Marcus 2017-05-20 10:55:38 UTC
Reset assigne to the default "issues@openoffice.apache.org".