Below is a list of the possible exit codes of the Rhino process.
Rhino Exit Codes
Exit Code | Error | Action |
---|---|---|
1 |
Unspecified error. |
See the Rhino and console logs for details. |
2 |
Misconfiguration found while reading a config file. See the Rhino and console logs for details. |
Check the config files and fix any problems reported in the logs. |
3 |
Watchdog shutdown |
Check the Rhino log for the cause. Most frequently this is caused by system overload or a faulty service. |
4 |
Timeout waiting for normal shutdown to complete |
No action required |
5 |
Restart of node requested by management operation |
No action required |
JVM Exit Codes
The JVM reports a number of exit codes that may be added to from version to version. At the time of writing this they include the following:
Signal Handler Exit Codes
Exit codes above 128 occur as a result of the JVM receiving a signal from the OS. These are always a result of either OS process management or a JVM bug that has triggered an OS level protection mechanism. In many cases the console log will have information on the cause. There may also be information in the system log. On Linux these are the following, other OSes differ:
Signal Name | Signal Number | Exit Code | Common causes |
---|---|---|---|
HUP |
1 |
129 |
|
INT |
2 |
130 |
|
QUIT |
3 |
N/A JVM does not exit. |
Operator triggered JVM thread stack dump. |
ILL |
4 |
134 |
JVM Bug |
TRAP |
5 |
133 |
Bug in a debugger attached to the Rhino JVM |
ABRT/IOT |
6 |
134 |
JVM bug |
BUS |
7(x86) 10(SPARC) |
135 |
JVM bug |
FPE |
8 |
134 |
JVM bug |
KILL |
9 |
137 |
Operator or OS killed the Rhino process (Out of memory or system shutdown) |
USR1 |
10(x86) 30(SPARC) |
138 |
Operator sent a signal to the Rhino process |
SEGV |
11 |
134 |
JVM bug |
USR2 |
12(x86) 31(SPARC) |
134 |
Operator sent a signal to the Rhino process |
ALRM |
14 |
142 |
Native library set an OS alarm timer |
TERM |
15 |
143 |
Operator or OS killed the Rhino process (system shutdown) |
STKFLT |
16(x86 only) |
144 |
JVM bug |
XCPU |
24(x86) 30(SPARC) |
152 |
Ulimit on CPU time |
VTALRM |
26(x86) 28(SPARC) |
154 |
Native library set an OS alarm timer |
PROF |
27(x86) 29(SPARC) |
155 |
Bug in profiler attached to the Rhino JVM |
IO |
29(x86) 22(SPARC) |
157 |
Bug in native library performing asynchronous IO |
SYS |
31(x86) 12(SPARC) |
140 |
Bug in JVM, native library or kernel |
Other exit codes
Some libraries may call System.exit() with a code not in this list. We are not aware of any libraries used by Rhino that do this and recommend avoiding any that do when developing services.