-
Bug
-
Resolution: Fixed
-
P3
-
1.4.1, 1.4.2, 5.0
-
beta2
-
generic, x86
-
generic
-
Verified
Name: vpR10197 Date: 05/28/2002
When the invoked method is throwing uncought NullPointerException,
debugee VM crashes on x86 platforms in -server -Xcomp modes.
This situation is produced by the following test from testbase_nsk:
nsk/jdi/ClassType/invokeMethod/invokemethod004
which will appear in the next testbase_nsk r15 relase.
The test checks up the following assertion of
com.sun.jdi.ClassType.invokeMethod spec:
If the invoked method throws an exception, this method will throw
an InvocationException which contains a mirror to the exception object
thrown.
I ran the test on:
- MS Windows 2000 5.00.2195 SP 2
- SunOS 5.8 Generic_108529-14 i86pc i386 i86pc
- Red Hat Linux release 7.2 (Enigma)
Please note, ErrorID on Windows is other than on Linux or Solx86.
This test fails since the hopper-b08 and passes with earlier builds.
How to reproduce:
1. cd /net/sqesvr.sfbay/export/vsn/GammaBase/Bugs/{this_bug_number}
2. sh doit.sh <JAVA_HOME>
Below are examples of the test outputs:
==========
on Windows
^^^^^^^^^^
java version "1.4.1-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-beta-b13)
Java HotSpot(TM) Server VM (build 1.4.1-beta-b13, compiled mode)
debugee.stdout>
debugee.stdout> Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D59174F
debugee.stdout> Function=LinkResolver::runtime_resolve_virtual_method+0x16F
debugee.stdout> Library=e:\hs_run\jdk\jdk141-b13\jre\bin\server\jvm.dll
debugee.stdout> Source file = D:/BUILD_AREA/jdk1.4.1/hotspot\src\share\vm\interpreter\linkResolver.cpp :
537
debugee.stdout>
debugee.stdout>
debugee.stdout> Current Java thread:
debugee.stdout> at
nsk.jdi.ClassType.invokeMethod.invokemethod004a.throwNPE(invokemethod004a.java:44)
debugee.stdout> at
nsk.jdi.ClassType.invokeMethod.invokemethod004a.main(invokemethod004a.java:32)
debugee.stdout>
debugee.stdout> Dynamic libraries:
debugee.stdout> 0x00400000 - 0x00406000 e:\hs_run\jdk\jdk141-b13\jre\bin\java.exe
debugee.stdout> 0x77F80000 - 0x77FFB000 D:\WINNT\System32\ntdll.dll
debugee.stdout> 0x77DB0000 - 0x77E0B000 D:\WINNT\system32\ADVAPI32.dll
debugee.stdout> 0x77E80000 - 0x77F35000 D:\WINNT\system32\KERNEL32.DLL
debugee.stdout> 0x77D40000 - 0x77DB0000 D:\WINNT\system32\RPCRT4.DLL
debugee.stdout> 0x78000000 - 0x78046000 D:\WINNT\system32\MSVCRT.dll
debugee.stdout> 0x6D460000 - 0x6D6DA000 e:\hs_run\jdk\jdk141-b13\jre\bin\server\jvm.dll
debugee.stdout> 0x77E10000 - 0x77E74000 D:\WINNT\system32\USER32.dll
debugee.stdout> 0x77F40000 - 0x77F7C000 D:\WINNT\system32\GDI32.DLL
debugee.stdout> 0x75E60000 - 0x75E7A000 D:\WINNT\System32\IMM32.DLL
debugee.stdout> 0x6D1D0000 - 0x6D1D7000 e:\hs_run\jdk\jdk141-b13\jre\bin\hpi.dll
debugee.stdout> 0x6D300000 - 0x6D30D000 e:\hs_run\jdk\jdk141-b13\jre\bin\verify.dll
debugee.stdout> 0x6D210000 - 0x6D229000 e:\hs_run\jdk\jdk141-b13\jre\bin\java.dll
debugee.stdout> 0x6D320000 - 0x6D32D000 e:\hs_run\jdk\jdk141-b13\jre\bin\zip.dll
debugee.stdout> 0x6D260000 - 0x6D27C000 e:\hs_run\jdk\jdk141-b13\jre\bin\jdwp.dll
debugee.stdout> 0x6D160000 - 0x6D166000 e:\hs_run\jdk\jdk141-b13\jre\bin\dt_shmem.dll
debugee.stdout> 0x6D2D0000 - 0x6D2DE000 E:\hs_run\jdk\jdk141-b13\jre\bin\net.dll
debugee.stdout> 0x75050000 - 0x75058000 D:\WINNT\System32\WSOCK32.dll
debugee.stdout> 0x75030000 - 0x75043000 D:\WINNT\System32\WS2_32.DLL
debugee.stdout> 0x75020000 - 0x75028000 D:\WINNT\System32\WS2HELP.DLL
debugee.stdout> 0x785C0000 - 0x785CC000 D:\WINNT\System32\rnr20.dll
debugee.stdout> 0x77980000 - 0x779A4000 D:\WINNT\System32\DNSAPI.DLL
debugee.stdout> 0x77340000 - 0x77353000 D:\WINNT\System32\iphlpapi.dll
debugee.stdout> 0x77520000 - 0x77525000 D:\WINNT\System32\ICMP.DLL
debugee.stdout> 0x77320000 - 0x77337000 D:\WINNT\System32\MPRAPI.DLL
debugee.stdout> 0x75150000 - 0x75160000 D:\WINNT\System32\SAMLIB.DLL
debugee.stdout> 0x75170000 - 0x751BF000 D:\WINNT\System32\NETAPI32.DLL
debugee.stdout> 0x77BE0000 - 0x77BEF000 D:\WINNT\System32\SECUR32.DLL
debugee.stdout> 0x751C0000 - 0x751C6000 D:\WINNT\System32\NETRAP.DLL
debugee.stdout> 0x77950000 - 0x77979000 D:\WINNT\system32\WLDAP32.DLL
debugee.stdout> 0x77A50000 - 0x77B46000 D:\WINNT\system32\OLE32.DLL
debugee.stdout> 0x779B0000 - 0x77A4B000 D:\WINNT\system32\OLEAUT32.DLL
debugee.stdout> 0x773B0000 - 0x773DE000 D:\WINNT\System32\ACTIVEDS.DLL
debugee.stdout> 0x77380000 - 0x773A2000 D:\WINNT\System32\ADSLDPC.DLL
debugee.stdout> 0x77830000 - 0x7783E000 D:\WINNT\System32\RTUTILS.DLL
debugee.stdout> 0x77880000 - 0x7790D000 D:\WINNT\System32\SETUPAPI.DLL
debugee.stdout> 0x77C10000 - 0x77C6D000 D:\WINNT\System32\USERENV.DLL
debugee.stdout> 0x774E0000 - 0x77512000 D:\WINNT\System32\RASAPI32.DLL
debugee.stdout> 0x774C0000 - 0x774D1000 D:\WINNT\System32\RASMAN.DLL
debugee.stdout> 0x77530000 - 0x77552000 D:\WINNT\System32\TAPI32.DLL
debugee.stdout> 0x71780000 - 0x7180A000 D:\WINNT\system32\COMCTL32.DLL
debugee.stdout> 0x70BD0000 - 0x70C34000 D:\WINNT\system32\SHLWAPI.DLL
debugee.stdout> 0x77360000 - 0x77379000 D:\WINNT\System32\DHCPCSVC.DLL
debugee.stdout> 0x775A0000 - 0x77625000 D:\WINNT\System32\CLBCATQ.DLL
debugee.stdout> 0x777E0000 - 0x777E8000 D:\WINNT\System32\winrnr.dll
debugee.stdout> 0x777F0000 - 0x777F5000 D:\WINNT\System32\rasadhlp.dll
debugee.stdout> 0x74FD0000 - 0x74FEF000 D:\WINNT\system32\msafd.dll
debugee.stdout> 0x75010000 - 0x75017000 D:\WINNT\System32\wshtcpip.dll
debugee.stdout> 0x77920000 - 0x77943000 D:\WINNT\system32\imagehlp.dll
debugee.stdout> 0x72A00000 - 0x72A2D000 D:\WINNT\system32\DBGHELP.dll
debugee.stdout> 0x690A0000 - 0x690AB000 D:\WINNT\System32\PSAPI.DLL
debugee.stdout>
debugee.stdout> Local Time = Mon May 27 19:41:30 2002
debugee.stdout> Elapsed Time = 21
debugee.stdout> #
debugee.stdout> # HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION
debugee.stdout> # Error ID : 4C494E4B3245534F4C5645520E4350500219
debugee.stdout> # Please report this error at
debugee.stdout> # http://java.sun.com/cgi-bin/bugreport.cgi
debugee.stdout> #
debugee.stdout> # Java VM: Java HotSpot(TM) Server VM (1.4.1-beta-b13 compiled mode)
debugee.stdout> #
debugee.stdout> # An error report file has been saved as hs_err_pid992.log.
debugee.stdout> # Please refer to the file for further information.
debugee.stdout> #
========
on Solx86
^^^^^^^^
java version "1.4.1-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-beta-b13)
Java HotSpot(TM) Server VM (build 1.4.1-beta-b13, compiled mode)
debugee.stdout>
debugee.stdout> Unexpected Signal : 11 occurred at PC=0xDE8CF40D
debugee.stdout> Function=[Unknown. Nearest: JVM_GetMethodIxExceptionTableLength+0xE1D]
debugee.stdout>
Library=/net/novo172/export/home/java/dest/jdk1.4.1-b13/solaris-i586/jre/lib/i386/server/libjvm.so
debugee.stdout>
debugee.stdout> Current Java thread:
debugee.stdout> at
nsk.jdi.ClassType.invokeMethod.invokemethod004a.throwNPE(invokemethod004a.java:44)
debugee.stdout> at
nsk.jdi.ClassType.invokeMethod.invokemethod004a.main(invokemethod004a.java:32)
debugee.stdout>
debugee.stdout> Dynamic libraries:
debugee.stdout> 0x8050000
/net/novo172/export/home/java/dest/jdk1.4.1-b13/solaris-i586/jre/bin/java
debugee.stdout> 0xdfb60000 /usr/lib/libthread.so.1
debugee.stdout> 0xdfba0000 /usr/lib/libdl.so.1
debugee.stdout> 0xdfab0000 /usr/lib/libc.so.1
debugee.stdout> 0xde800000
/net/novo172/export/home/java/dest/jdk1.4.1-b13/solaris-i586/jre/lib/i386/server/libjvm.so
debugee.stdout> 0xdfa40000 /usr/lib/libCrun.so.1
debugee.stdout> 0xdfa20000 /usr/lib/libsocket.so.1
debugee.stdout> 0xdf980000 /usr/lib/libnsl.so.1
debugee.stdout> 0xdf960000 /usr/lib/libm.so.1
debugee.stdout> 0xdfa70000 /usr/lib/libw.so.1
debugee.stdout> 0xdf920000 /usr/lib/libmp.so.2
debugee.stdout> 0xdf8f0000
/net/novo172/export/home/java/dest/jdk1.4.1-b13/solaris-i586/jre/lib/i386/native_threads/libhpi.so
debugee.stdout> 0xdf8c0000
/net/novo172/export/home/java/dest/jdk1.4.1-b13/solaris-i586/jre/lib/i386/libverify.so
debugee.stdout> 0xdf870000
/net/novo172/export/home/java/dest/jdk1.4.1-b13/solaris-i586/jre/lib/i386/libjava.so
debugee.stdout> 0xdf840000
/net/novo172/export/home/java/dest/jdk1.4.1-b13/solaris-i586/jre/lib/i386/libzip.so
debugee.stdout> 0xded00000
/net/novo172/export/home/java/dest/jdk1.4.1-b13/solaris-i586/jre/lib/i386/libjdwp.so
debugee.stdout> 0xde7e0000
/net/novo172/export/home/java/dest/jdk1.4.1-b13/solaris-i586/jre/lib/i386/libdt_socket.so
debugee.stdout> 0xde7c0000 /usr/lib/nss_nisplus.so.1
debugee.stdout> 0xde790000 /usr/lib/libdoor.so.1
debugee.stdout> 0xda8d0000
/net/novo172/export/home/java/dest/jdk1.4.1-b13/solaris-i586/jre/lib/i386/libnet.so
debugee.stdout>
debugee.stdout> Local Time = Mon May 27 20:07:35 2002
debugee.stdout> Elapsed Time = 33
debugee.stdout> #
debugee.stdout> # HotSpot Virtual Machine Error : 11
debugee.stdout> # Error ID : 4F530E43505002E6
debugee.stdout> # Please report this error at
debugee.stdout> # http://java.sun.com/cgi-bin/bugreport.cgi
debugee.stdout> #
debugee.stdout> # Java VM: Java HotSpot(TM) Server VM (1.4.1-beta-b13 compiled mode)
debugee.stdout> #
debugee.stdout> # An error report file has been saved as hs_err_pid26344.log.
debugee.stdout> # Please refer to the file for further information.
debugee.stdout> #
I ran them with java_g too and got this:
debugee.stdout> #
debugee.stdout> # HotSpot Virtual Machine Error, assertion failure
debugee.stdout> # Please report this error at
debugee.stdout> # http://java.sun.com/cgi-bin/bugreport.cgi
debugee.stdout> #
debugee.stdout> # Java VM: Java HotSpot(TM) Server VM (1.4.1-beta-b10-debug compiled mode)
debugee.stdout> #
debugee.stdout> # assert(obj->is_oop(), "sanity check")
debugee.stdout> #
debugee.stdout> # Error ID: /BUILD_AREA/jdk1.4.1/hotspot/src/share/vm/runtime/handles.cpp, 16
debugee.stdout> #
debugee.stdout> # Problematic Thread: prio=5 tid=0x807bd78 nid=0x1 at breakpoint
debugee.stdout> #
Note that the same sanity check assert was hit. See
4664677 jvmdi crash on b07 week-ahead on x86 platforms with -server -Xcomp (it was closed as CNR)
4646591 mwevent001: debuggee VM crashes in -d64 -server mode
======================================================================
- duplicates
-
JDK-4700525 com.sun.jdi.ClassType.newInstance causes a crash of debugee
- Closed
- relates to
-
JDK-5007709 VM crashes on deoptimization
- Resolved
-
JDK-4646591 mwevent001: debuggee VM crashes in -d64 -server mode
- Closed
-
JDK-4664677 jvmdi crash on b07 week-ahead on x86 platforms with -server -Xcomp
- Closed
-
JDK-4765780 server java_g assert(obj->is_oop(), "sanity check")
- Closed