Hello,
I'm looking for some help understanding the hotspot JVM to resolve a
production issue we're having. Some basic info:
OS - hpux-11.11
App Server - WebSphere Application Server 5.1.1
Java(TM) 2 Runtime Environment, Standard Edition (IBM build
1.4.2.03-040401-16:07 20040627)
Java HotSpot(TM) Server VM (build 1.4.2
1.4.2.03-040401-18:59-PA_RISC2.0 PA2.0 (aCC_AP), mixed mode)
Problem:
When the Hotspot JDK was compiling a method in an App running from July
1st-Aug 22, a null pointer was attempted to be incremented by 0x1. This
caused the segmentation violation and killed a java clone. Why this
happened within the Hotspot compiler is unknown. HP said that it was a
new bug within the JVM and they would open a report with Sun. He
recommended that we exclude the method from being compiled for now.
I wanted to get more info on why the JIT would recompile the method and
why it failed this time? This is a clustered environment and the exact
same failure occurred on 6 different clones within 4 hours. All were
started on July 1st. HP thinks that an internal counter was hit within
the hotspot JVM which triggered the reompile and failure. I don't
really buy it. This same production app was run continuously from 1
January thru 12 March... 10 servers and 60 clones of the app. Nothing
like this happened then.
There have been no updates to the code, OS or App Server during this
timeframe. No network changes or interface changes as well.
I'm just looking for information on how the JIT decides to recompile
and how compiled code is tracked internally. Any help appreciated.
Matthias Ernst - 26 Aug 2005 07:19 GMT
Hello mysonsdad,
real names are appreciated in postings.
> HP thinks that an internal counter was hit
> within the hotspot JVM which triggered the reompile and failure. I
> don't really buy it.
Switch on "-XX:+PrintCompilation". It'll print a lot in the beginning but
should become relatively quiet after a while. I cannot say whether it prints
before compiling or after, though ...
Matthias