[
https://issues.apache.org/jira/browse/DAEMON-302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Thomas resolved DAEMON-302.
--------------------------------
Resolution: Fixed
Fix Version/s: 1.1
There are multiple parts to this.
For jni mode, an 'abort' hook has been added that sets a non-zero exit code
when the JVM crashes. This is sufficient to trigger recovery for jni mode.
For Java and exe modes, a crash will trigger a non-zero exit code. It is
therefore necessary for additional configuration to be made in the recovery
tab. If the "Enable actions for stops with errors." checkbox is enabled, then a
crash will trigger recovery in java and exe modes
> Service recovery options do not work when a JNI crash brings down the JVM
> -------------------------------------------------------------------------
>
> Key: DAEMON-302
> URL: https://issues.apache.org/jira/browse/DAEMON-302
> Project: Commons Daemon
> Issue Type: Bug
> Components: Procrun
> Affects Versions: 1.0.15
> Environment: Windows 7 64bit
> JRE 1.7.0_25-b17 (64bit)
> Reporter: Iain Williams
> Labels: jni, jvm, procrun, service
> Fix For: 1.1
>
>
> We have a java application that we run as a service which has a C component
> setup, and communicated to across the Java Native Interface.
> If a crash occurs in the C component the whole JVM is brought down. However
> this does not trigger the service recovery options to kick in.
> I believe this is due to a VM exit code of 0 (see bellow).
> [2013-06-27 11:55:47] [debug] ( prunsrv.c:1528) [ 8488] Waiting for worker to
> finish...
> [2013-06-27 11:55:55] [debug] ( javajni.c:964 ) [ 5716] Java Worker thread
> finished applicationName/core/applicationNameCore:main with status=0
> [2013-06-27 11:55:55] [debug] ( prunsrv.c:1533) [ 8488] Worker finished.
> [2013-06-27 11:55:55] [debug] ( prunsrv.c:1559) [ 8488] Waiting for all
> threads to exit
> [2013-06-27 11:56:46] [debug] ( prunsrv.c:919 ) [10160] Start exit hook
> called ...
> [2013-06-27 11:56:46] [debug] ( prunsrv.c:920 ) [10160] VM exit code: 0
> [2013-06-27 11:56:46] [debug] ( prunsrv.c:844 ) [10160] reportServiceStatusE:
> 1, 0, 0, 0
> With a return code of 0, the SCM would think the service stopped safely,
> without error, which is not the case here since the JNI has crashed.
> Is there anything that can be done about this?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)