Duplicate :
|
|
Relates :
|
Name: egR10015 Date: 08/08/2001 HotSpot 1.4.0-beta_refresh-b74 fails to pass the following test nsk/jdi/ArrayReference/setValues_l/setvaluesl001 from testbase_nsk on all platforms in profiling mode with standard profiler "prof". The VM intermittently crashes, usually one time in 8-10 executions of the test. The debug VM crashes on every execution with the following assertions: assert(i < len, "oopmap not found") Error ID: /export/home3/jdk/jdk1.4/ws/hotspot/src/share/vm/compiler/oopMap.cpp, 335 [Patched] or assert(!precise || at(i)->offset() == pc_offset, "oopmap not found") Error happened during: deoptimize Error ID: /export/home3/jdk/jdk1.4/ws/hotspot/src/share/vm/compiler/oopMap.cpp, 336 [ Patched ] The crash happens only if standard profiler "prof" is enabled by java option "-prof". The test mentioned above checks the setValues(List) method of ArrayReference interface of com.sun.jdi package. It consists of a debugger part (the file setvaluesl001.java) and a debuggee part (the file setvaluesl001a.java). To reproduce the bug run with HS1.4 ksh doit.sh $JAVA_HOME or ksh doit_g.sh $DEBUG_JAVA_HOME in /net/sqesvr.eng/export/vsn/GammaBase/Bugs/<this bug number> where JAVA_HOME should point to jdk1.4 and wait until the VM crash. ------------------ output on SolSparc with HS 1.4.0-b74: -------------------- $ ksh doit.sh ~/hotspot/jdk1.4/solsparc Compiling support classes... Compiling test classes... java version "1.4.0-beta_refresh" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta_refresh-b74) Java HotSpot(TM) Client VM (build 1.4.0-beta_refresh-b74, mixed mode) ---------------------------------- Executing the test (attempt #1)... [skipped] exit code = 95 ---------------------------------- Executing the test (attempt #2)... HPROF ERROR: thread local table NULL in method exit 9eefc HPROF ERROR: thread local table NULL in method exit 9eefc HPROF ERROR: thread local table NULL in method exit 9f8ac HPROF ERROR : stack underflow in method exit HPROF ERROR : stack underflow in method exit binder> Listening for a pipe connection to port: 7000 binder> VirtualMachineManager: version 1.4 binder> FindingConnector: default binder> LaunchingConnector: binder> name: com.sun.jdi.CommandLineLaunch binder> description: Launches target using Sun Java VM command line and attaches to it binder> transport: dt_socket binder> Connector arguments: binder> home=/export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre binder> vmexec=java binder> options= -classpath ".:share/classes:/home/eug/hotspot/jdk1.4/solsparc/lib/tools.jar" binder> main=nsk.jdi.ArrayReference.setValues_l.setvaluesl001a -verbose "-verbose" "-waittime=1" binder> quote=" binder> suspend=true binder> Launch debugee binder> Waiting for pipe connection debugee.stderr> debugee.pipe> Making pipe connection to socket: localhost:7000 debugee.stderr> DEBUGEE> debugee started. debuger> debugee's "ready" signal recieved. debuger> Total fields in debugee read: 22 total fields in debuger: 14 debuger> Got sample fields for primitive types. debuger> boolean is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.z1S debuger> byte is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.b1S debuger> char is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.c1S debuger> double is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.d1S debuger> float is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.f1S debuger> int is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.i1S debuger> long is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.l1S debuger> short is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.r1S debuger> Got sample array references for primitive types. debuger> boolean is instance of boolean[2] (id=106) debuger> byte is instance of byte[5] (id=107) debuger> char is instance of char[4] (id=108) debuger> double is instance of double[9] (id=109) debuger> float is instance of float[9] (id=110) debuger> int is instance of int[6] (id=111) debuger> long is instance of long[5] (id=112) debuger> short is instance of short[5] (id=113) debuger> Got list of values for primitive types. debuger> boolean is [true, false] debuger> byte is [-128, -1, 0, 1, 127] Unexpected Signal : 11 occurred at PC=0xFE59C8A4 Function=JVM_IsInterrupted+0xC30 Library=/export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/client/libjvm.so Dynamic libraries: 0x10000 /home/eug/hotspot/jdk1.4/solsparc/bin/java 0xff360000 /usr/lib/libthread.so.1 0xff3a0000 /usr/lib/libdl.so.1 0xff280000 /usr/lib/libc.so.1 0xff270000 /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1 0xfe400000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/client/libjvm.so 0xff210000 /usr/lib/libCrun.so.1 0xff1f0000 /usr/lib/libsocket.so.1 0xff100000 /usr/lib/libnsl.so.1 0xff0d0000 /usr/lib/libm.so.1 0xff240000 /usr/lib/libw.so.1 0xff0b0000 /usr/lib/libmp.so.2 0xff080000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/native_threads/libhpi.so 0xff050000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libverify.so 0xff020000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libjava.so 0xfe7e0000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libzip.so 0xfe200000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libhprof.so 0xfe180000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libnet.so 0xfe160000 /usr/lib/nss_nisplus.so.1 0xfc960000 /usr/lib/libdoor.so.1 0xfc940000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libnio.so 0xfc920000 /usr/lib/libposix4.so.1 0xfc860000 /usr/lib/libaio.so.1 Local Time = Wed Aug 8 15:28:05 2001 Elapsed Time = 11 # # HotSpot Virtual Machine Error : 11 # Error ID : 4F530E43505002D7 01 # Please report this error at # http://java.sun.com/cgi-bin/bugreport.cgi # # Java VM: Java HotSpot(TM) Client VM (1.4.0-beta_refresh-b74 mixed mode) # # An error report file has been saved as hs_err_pid6814.log. # Please refer to the file for further information. # doit.sh[46]: 6814 Abort exit code = 134 ----------------------------------------------------------------------------- ---------------- output on SolSparc with debug HS 1.4.0-b74:----------------- $ ksh doit_g.sh ~/hotspot/jdk1.4/solsparc Compiling support classes... Note: share/Status.java uses or overrides a deprecated API. Note: Recompile with -deprecation for details. Compiling test classes... Note: setvaluesl001.java uses or overrides a deprecated API. Note: Recompile with -deprecation for details. java version "1.4.0-beta_refresh" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta_refresh-b74) Java HotSpot(TM) Client VM (build 1.4.0-beta_refresh-b74-debug, mixed mode) ---------------------------------- Executing the test (attempt #1)... HPROF ERROR: thread local table NULL in method exit c7690 HPROF ERROR: thread local table NULL in method exit c7690 HPROF ERROR: thread local table NULL in method exit c8388 HPROF ERROR : stack underflow in method exit HPROF ERROR : stack underflow in method exit binder> Listening for a pipe connection to port: 7000 binder> VirtualMachineManager: version 1.4 binder> FindingConnector: default binder> LaunchingConnector: binder> name: com.sun.jdi.CommandLineLaunch binder> description: Launches target using Sun Java VM command line and attaches to it binder> transport: dt_socket binder> Connector arguments: binder> home=/export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre binder> vmexec=java binder> options= -classpath ".:share/classes:/home/eug/hotspot/jdk1.4/solsparc/lib/tools.jar" binder> main=nsk.jdi.ArrayReference.setValues_l.setvaluesl001a -verbose "-verbose" "-waittime=1" binder> quote=" binder> suspend=true binder> Launch debugee debugee.stderr> debugee.pipe> Making pipe connection to socket: localhost:7000 debugee.stderr> DEBUGEE> debugee started. binder> Waiting for pipe connection debuger> debugee's "ready" signal recieved. debuger> Total fields in debugee read: 22 total fields in debuger: 14 debuger> Got sample fields for primitive types. debuger> boolean is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.z1S # # HotSpot Virtual Machine Error, assertion failure # Please report this error at # http://java.sun.com/cgi-bin/bugreport.cgi # # Java VM: Java HotSpot(TM) Client VM (1.4.0-beta_refresh-b74-debug mixed mode) # # assert(!precise || at(i)->offset() == pc_offset, "oopmap not found") # # Error ID: /export/home3/jdk/jdk1.4/ws/hotspot/src/share/vm/compiler/oopMap.cpp, 336 [ Patched ] # # Problematic Thread: prio=5 tid=0xc59c0 nid=0x4 runnable # Dumping core.... doit_g.sh[46]: 6857 Abort exit code = 134 ----------------------------------------------------------------------------- ======================================================================