We are experiencing serious issues when running Sun's client-Hotspot with
JVMPI. It seems to be particularly hazardous to request a JVMPI HeapDump
with a multithreaded application creating objects and requesting garbage
collections. I haven't found any bug report precisely matching this
issue on your website (seen with HProf and JProbe).
A test case and steps to reproduce are included below.
------------------------------------------------------------------------------
Before moving on to the test case, here is an urgent REQUEST (from
Carlos.Lucasius@Canada, LE for KL Group):
see "Comments" section
------------------------------------------------------------------------------
TEST CASE (see "Attachments..." for code):
Under JProbe 2.8 running the attached test program, the release version
of Hotspot dies with a 'null pointer exception' deep inside the jvm.dll
library after having been requested a JVMPI heap dump. On the other
hand, we usually get a workable heap dump event if the application being
profiled is not too active (i.e is not creating many objects etc...).
With the debug version of Hotspot, JProbe and HProf run into the same
assertion failures in Hotspot. Note that HProf with the release version
does not seem to cause Hotspot to crash.
Enviroment
Release version:
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)
Debug version:
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C-debug, mixed mode)
Platform:
Windows NT sp5, Single Pentium II 500Mhz, 396Mo RAM.
How to reproduce:
We are using the 'Network' example part of JProbe 2.8. This program can
be run using a GUI front-end or from the command-line. Both ways fail
under HProf with the debugging version of Hotspot.
2 ways:
First way (using the GUI front-end)
. From a dos console: java_g -hotspot -Xrunhprof:heap=all Network
. When the app shows up, click 'Start'
. When it starts flashing red lines, request a heap dump (click on the
dos console and type in CTRL-BACKSPACE)
. Hotspot displays lots of warnings and reaches an assertion failure
(output in file 'err1.txt', 'err2.txt')
Second way (purely in text mode)
. From a dos console: java_g -hotspot -Xrunhprof:heap=all Sim
. When the text 'Non Graphic version - started' appears, request a heap
dump (again with CTRL-BACKSPACE)
. Hotspot reaches an assertion failure (again, 'err1.txt' or 'err2.txt')
I got it to apparently take a successsful heap dump, however a second
request caused the assertion failure reported in 'err3.txt'.
JVMPI. It seems to be particularly hazardous to request a JVMPI HeapDump
with a multithreaded application creating objects and requesting garbage
collections. I haven't found any bug report precisely matching this
issue on your website (seen with HProf and JProbe).
A test case and steps to reproduce are included below.
------------------------------------------------------------------------------
Before moving on to the test case, here is an urgent REQUEST (from
Carlos.Lucasius@Canada, LE for KL Group):
see "Comments" section
------------------------------------------------------------------------------
TEST CASE (see "Attachments..." for code):
Under JProbe 2.8 running the attached test program, the release version
of Hotspot dies with a 'null pointer exception' deep inside the jvm.dll
library after having been requested a JVMPI heap dump. On the other
hand, we usually get a workable heap dump event if the application being
profiled is not too active (i.e is not creating many objects etc...).
With the debug version of Hotspot, JProbe and HProf run into the same
assertion failures in Hotspot. Note that HProf with the release version
does not seem to cause Hotspot to crash.
Enviroment
Release version:
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)
Debug version:
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C-debug, mixed mode)
Platform:
Windows NT sp5, Single Pentium II 500Mhz, 396Mo RAM.
How to reproduce:
We are using the 'Network' example part of JProbe 2.8. This program can
be run using a GUI front-end or from the command-line. Both ways fail
under HProf with the debugging version of Hotspot.
2 ways:
First way (using the GUI front-end)
. From a dos console: java_g -hotspot -Xrunhprof:heap=all Network
. When the app shows up, click 'Start'
. When it starts flashing red lines, request a heap dump (click on the
dos console and type in CTRL-BACKSPACE)
. Hotspot displays lots of warnings and reaches an assertion failure
(output in file 'err1.txt', 'err2.txt')
Second way (purely in text mode)
. From a dos console: java_g -hotspot -Xrunhprof:heap=all Sim
. When the text 'Non Graphic version - started' appears, request a heap
dump (again with CTRL-BACKSPACE)
. Hotspot reaches an assertion failure (again, 'err1.txt' or 'err2.txt')
I got it to apparently take a successsful heap dump, however a second
request caused the assertion failure reported in 'err3.txt'.