JDK-5021882 : NEWHPROF: multiple Hprof failures with the CrashTest
  • Type: Bug
  • Component: tools
  • Sub-Component: hprof
  • Affected Version: 5.0
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2004-03-27
  • Updated: 2004-04-16
  • Resolved: 2004-04-16
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0 b48Fixed
Related Reports
Relates :  
Description

Name: elR10090			Date: 03/27/2004


I've adopted the CrashTest into the testbase_vm to fix the RFE:

    5012908 Create stress test for hprof and jvmti from CrashTest

And while checking this test against Tiger-b44, I've observed 
a number of failure scenarios: 

(1) VM crash, core file:

    ## Problematic frame:
    ## C  [libhprof.so+0x11080]

    System:
        solaris-sparc (Sun E250, Dual CPU, RAM 1024Mb, Solaris 9):
    
    Command line:    
        java -Xrunhprof:cpu=samples CrashTest 3000

(2) VM crash, though no core file:

    #  Internal Error (53484152454432554E54494D450E43505001A1), pid=3771, 
tid=1548217792

    System:
        linux-i586 (Pentium-III, Dual CPU, RAM 512Mb, RedHat 9.0):

    Command line:    
        java -Xrunhprof:cpu=samples CrashTest 3000

(3) VM crash, though no core file:

    HPROF ERROR: Cannot exit with raw monitor (JVMTI Error ?(116)) 
[../../../src/share/tools/newhprof/hprof_util.c:297]

    Systems:
        solaris-sparc (Sun E250, Dual CPU, RAM 1024Mb, Solaris 9):
        linux-i586 (Pentium-III, Dual CPU, RAM 512Mb, RedHat 9.0):

    Command line:    
        java -Xrunhprof:cpu=samples CrashTest 3000

(4) Error message, but no VM crash:

    HPROF ERROR: MonitorWaitedEvent missing MonitorWaitEvent? 
[../../../src/share/tools/newhprof/hprof_monitor.c:424]

    Systems:
        solaris-i586 (Pentium-III, 1xCPU, RAM 512Mb, Solaris 8)
        linux-i586   (Pentium-III, 2xCPU, RAM 512Mb, RedHat 9.0)
        windows-i586 (Pentium-III, 2xCPU, RAM 512Mb, Windows 2000)

    Command line:        
        java -Xrunhprof:monitor=y CrashTest 300

(5) Error message, VM abort:

    HPROF ERROR: Unable to get necessary JVMTI capabilities. 
[../../../src/share/tools/newhprof/hprof_util.c:1145]

    System:
        windows-i586 (Pentium-II, 1xCPU, RAM 384Mb, Windows 98SE)

    Command lines:
        java -Xrunhprof:cpu=samples CrashTest 300
        java -Xrunhprof:cpu=times   CrashTest 300
        java -Xrunhprof:cpu=old     CrashTest 300
        java -Xrunhprof:monitor=y   CrashTest 300

    Caution:
        This kind of failure looks Win98-specific; 
        I cannot reproduce it for Windows 2000. 

(6) Error message, VM abort:

    HPROF ERROR: can't create temp heap file: \s3vvc373. 
[../../../src/share/tools/newhprof/hprof_init.c:696]

    System:
        windows-i586 (Pentium-III, 2xCPU, RAM 512Mb, Windows 2000)
        windows-i586 (Pentium-II , 1xCPU, RAM 384Mb, Windows 98SE)

    Command line:
        java -Xrunhprof CrashTest 300

(7) VM hang-up:

    System:
        linux-i586 (Pentium-III, 2xCPU, RAM 512Mb, RedHat 9.0)

    Command line:
        java -Xrunhprof:cpu=samples 3000

All these failures are intermittent.
======================================================================

Name: elR10090			Date: 03/27/2004


These failure affect the following tests:

    nsk/hprof/regression/CrashTest/ct01t
    nsk/hprof/regression/CrashTest/ct05s
    nsk/hprof/regression/CrashTest/ct05t

I'm displaying the test names here to put them 
into the vm.knownbugs list of known failures. 
======================================================================

Name: elR10090			Date: 04/08/2004


This bug also affects the following tests:

    nsk/hprof/regression/HeapThrasher
    nsk/hprof/regression/Context/context005
    nsk/hprof/regression/Context/context006
    nsk/hprof/regression/Context/context007
    nsk/hprof/regression/Context/context008
    nsk/hprof/regression/CrashTest/ct01s
    nsk/hprof/regression/CrashTest/ct05s
    nsk/hprof/regression/CrashTest/ct01t
    nsk/hprof/regression/CrashTest/ct04t
    nsk/hprof/regression/CrashTest/ct05t

I'm adding these test names here to let them 
appear at the vm.knownbugs list.

======================================================================

Name: elR10090			Date: 04/12/2004


A new though similar crash is observed against Tiger-b46:
    
    $ java -server -Xcomp -Xrunhprof:cpu=old CrashTest 3000
    Launching: 3000 Worker threads
    . . .
    # Java VM: Java HotSpot(TM) Server VM (1.5.0-beta2-b46 compiled mode)
    # Problematic frame:
    # V  [libjvm.so+0xd21c6]

This crash is observed against Solaris/x86; the affected 
test is:

    nsk/hprof/regression/CrashTest/ct03t

======================================================================

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger-beta2 FIXED IN: tiger-beta2 INTEGRATED IN: tiger-b48 tiger-beta2
01-09-2004

EVALUATION Name: elR10090 Date: 03/27/2004 The following tests fail only at Windows 98 due to the issue (5) "Unable to get necessary JVMTI capabilities": nsk/hprof/regression/CrashTest/ct01s nsk/hprof/regression/CrashTest/ct02s nsk/hprof/regression/CrashTest/ct03s nsk/hprof/regression/CrashTest/ct04s nsk/hprof/regression/CrashTest/ct01t nsk/hprof/regression/CrashTest/ct02t nsk/hprof/regression/CrashTest/ct03t nsk/hprof/regression/CrashTest/ct04t I do not put these test names into the Description section of this report to avoid getting these tests into the list of expected failures. As far as I understand, the Win98 platform is not actually used for PIT and for other regular test executions. ====================================================================== Fixed items 1,2,3,7 concerning cpu=samples, but still need to verify. All seemed to deal with callbacks still active after vmdeath, and thread deaths during vm_death not being blocked. Fixed 5 by not requesting cpu_time capability when it wasn't needed. Still investigating item 6. ###@###.### 2004-03-31 Item 6 seems to relate to hprof's choice of using tmpnam() for a temporary filename, then not deleting it when done. This is a bug that has been fixed. Also tmpnam() is no longer being used. ###@###.### 2004-04-05 Item 4 will be fixed by hprof removing this error message. I created hotspot/jvmti bug 5027733 to cover this issue, it doesn't look hprof related, but needs investigation. Only seems to happen on X86 arch. ###@###.### 2004-04-06
06-04-2004