JVM Crash and JVM Type
843811Jun 2 2004 — edited Dec 16 2004Hi, everyone.
We got something confused in developing enterprise system recently.
Environment:
OS: Solaris or AIX
Server: Borland Enterprise Server 5.2.1 or higher
First I got the error about JVM crash on Solaris. The error message seems like following:
- Another exception has been detected while we were handling last error.
- Dumping information about last error:
- ERROR REPORT FILE = (N/A)
- PC = 0x00c2d152
- SIGNAL = -1073741678
- FUNCTION NAME = (N/A)
- OFFSET = 0xFFFFFFFF
- LIBRARY NAME = (N/A)
- Please check ERROR REPORT FILE for further information, if there is any.
- Good bye.
Commonly, I cannot find the ERROR REPORT FILE. I search the document about such error. The answer is JNI bug may cause such error. But no more details. Finally, I found the incorrect JVM type cause this error. In the configuration of the partition of BES, the default JVM type setting is 'Client'. But it should be 'Server'. After I corrected it, it works!
Yesterday, I found another familiar error occured from BES on AIX. The error message is:
- [Wed Jun 02 10:07:51 CST 2004] stderr: stackpointer=74229cc8
- [Wed Jun 02 10:07:51 CST 2004] stderr: JVMXM004: JVM is performing abort shutdown sequence
- [Wed Jun 02 10:07:51 CST 2004] stderr: JVMDG217: Dump Handler is Processing a Signal - Please Wait.
- [Wed Jun 02 10:07:51 CST 2004] stderr: JVMDG303: JVM Requesting Java core file
- [Wed Jun 02 10:07:51 CST 2004] stderr: JVMDG304: Java core file written to /app/bes521/var/servers/pcsapp/partitions/standard/javacore10122.1086142071.txt
[Wed Jun 02 10:07:51 CST 2004] stderr: JVMDG215: Dump Handler has Processed Exception Signal 4.
A head part of the content of the java core file is:
- NULL ------------------------------------------------------------------------
- 0SECTION TITLE subcomponent dump routine
- NULL ===============================
- 1TISIGINFO signal 11 received
- 1TIDATETIME Date: 2004/06/02 at 10:51:24
- 1TIFILENAME Javacore filename: /app/bes521/var/servers/pcsapp/partitions/standard/javacore16120.1086141084.txt
- NULL ------------------------------------------------------------------------
- 0SECTION XHPI subcomponent dump routine
- NULL ==============================
- 1XHTIME Wed Jun 2 10:51:24 2004
- 1XHSIGRECV SIGSEGV received at 0xd24b6b18 in /usr/java131/jre/bin/libxhpi.a. Processing terminated.
- 1XHFULLVERSION J2RE 1.3.1 IBM AIX build ca131-20021107
Well, I had thought I can fix it by changing JVM type as I used to do on Solaris. But i failed. I cannot change JVM type to "Server", because BES cannot recognize this type on AIX...(Current setting is "jvmdefault", others are "classic" and "hotspot")
I have 4 questions:
1) What's the different between "Server" and "Client" type? And what's the different between them and "hotspot"? Are they avairable on Solaris only?
2) JVM crash by receiving Singal 11(or 4) means what?
3) Why do they work fine on Windows? I have rarely got these confused erros on Windows2000 since I learned Java 3 years ago.
4) How can I recognize whether such errors caused by Server(WebContainer, EJBContainer or others) or Application Module(jar,war,or ear)?
Thanks