JDK-5018055 : VM crashed accesing Field in sun.reflect.ConstantPool
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 5.0
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2004-03-22
  • Updated: 2004-03-29
  • Resolved: 2004-03-29
Related Reports
Duplicate :  
Description

Name: rmT116609			Date: 03/22/2004


FULL PRODUCT VERSION :
java version "1.5.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b32c)
Java HotSpot(TM) Client VM (build 1.5.0-beta-b32c, mixed mode)

FULL OS VERSION :
Microsoft Windows XP [Version 5.1.2600]

A DESCRIPTION OF THE PROBLEM :
VM crashed when executing the following code.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile and run the test case provided.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The VM should not crash and return appropriate value instead or throw an eception

ERROR MESSAGES/STACK TRACES THAT OCCUR :
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d73f98c, pid=3284, tid=884
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0-beta-b32c mixed mode)
# Problematic frame:
# V  [jvm.dll+0x10f98c]
#

---------------  T H R E A D  ---------------

Current thread (0x00036a10):  JavaThread "main" [_thread_in_vm, id=884]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000008

Registers:
EAX=0x6c270c78, EBX=0x6c2752c8, ECX=0x00000000, EDX=0x00000008
ESP=0x0007f950, EBP=0x0007f990, ESI=0x00000000, EDI=0x00036a10
EIP=0x6d73f98c, EFLAGS=0x00010206

  Top of Stack: (sp=0x0007f950)
0x0007f950:   00036a10 6c276b60 6d73fa61 00036a10
0x0007f960:   6d6c3fb6 00036a10 6ba7ac58 6d772af8
0x0007f970:   00036e68 00000000 00000000 00036e18
0x0007f980:   000365e8 000365f0 000369dc 00036a10
0x0007f990:   0007f9bc 7d6f81af 00036acc 0007f9cc
0x0007f9a0:   0007f9a0 00000000 0007f9cc 6c6ef730
0x0007f9b0:   00000000 6c2752c8 0007f9cc 0007f9f0
0x0007f9c0:   7d6f293a 00000000 7d6f6393 6c276b60

Instructions: (pc=0x6d73f98c)
0x6d73f97c:   f4 80 24 3e 00 8b c7 5f 5e c2 08 00 56 8b f1 57
0x6d73f98c:   0f b7 46 08 8d 78 01 57 e8 67 6c ff ff 59 57 50


Stack: [0x00040000,0x00080000),  sp=0x0007f950,  free space=254k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [jvm.dll+0x10f98c]
j  java.lang.Class.getName0()Ljava/lang/String;+0
j  java.lang.Class.getName()Ljava/lang/String;+9
j  java.lang.Object.toString()Ljava/lang/String;+11
j  java.lang.String.valueOf(Ljava/lang/Object;)Ljava/lang/String;+10
j  java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;+2
j  de.earlgrey1974.io.StdShellCatcher$ShellPrintStream.println(Ljava/lang/Object;)V+9
j  de.earlgrey1974.debug.ObjectBrowser.main([Ljava/lang/String;)V+152
v  ~StubRoutines::call_stub
V  [jvm.dll+0x7e22a]
V  [jvm.dll+0xf4d6b]
V  [jvm.dll+0x7e0fb]
V  [jvm.dll+0x85026]
C  [java.exe+0x14b0]
C  [java.exe+0x6282]
C  [kernel32.dll+0x214c7]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.lang.Class.getName0()Ljava/lang/String;+0
j  java.lang.Class.getName()Ljava/lang/String;+9
j  java.lang.Object.toString()Ljava/lang/String;+11
j  java.lang.String.valueOf(Ljava/lang/Object;)Ljava/lang/String;+10
j  java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;+2
j  de.earlgrey1974.io.StdShellCatcher$ShellPrintStream.println(Ljava/lang/Object;)V+9
j  de.earlgrey1974.debug.ObjectBrowser.main([Ljava/lang/String;)V+152
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x01847108 JavaThread "TimerQueue" daemon [_thread_blocked, id=2964]
  0x0099f498 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=2852]
  0x0095d6c0 JavaThread "AWT-Windows" daemon [_thread_in_native, id=3064]
  0x0095d3e8 JavaThread "AWT-Shutdown" [_thread_blocked, id=3304]
  0x0095a110 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=3648]
  0x008d9f68 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3008]
  0x008d8c30 JavaThread "CompilerThread0" daemon [_thread_blocked, id=1608]
  0x008d8010 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2588]
  0x008b1e28 JavaThread "Finalizer" daemon [_thread_blocked, id=2856]
  0x008a4938 JavaThread "Reference Handler" daemon [_thread_blocked, id=3608]
=>0x00036a10 JavaThread "main" [_thread_in_vm, id=884]

Other Threads:
  0x008d5f60 VMThread [id=3168]
  0x008db068 WatcherThread [id=1404]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 576K, used 446K [0x63a70000, 0x63b10000, 0x63f50000)
  eden space 512K,  74% used [0x63a70000, 0x63acf990, 0x63af0000)
  from space 64K, 100% used [0x63af0000, 0x63b00000, 0x63b00000)
  to   space 64K,   0% used [0x63b00000, 0x63b00000, 0x63b10000)
 tenured generation   total 1408K, used 350K [0x63f50000, 0x640b0000, 0x67a70000)
   the space 1408K,  24% used [0x63f50000, 0x63fa79b8, 0x63fa7a00, 0x640b0000)
 compacting perm gen  total 8192K, used 207K [0x67a70000, 0x68270000, 0x6ba70000)
   the space 8192K,   2% used [0x67a70000, 0x67aa3fa0, 0x67aa4000, 0x68270000)
    ro space 8192K,  67% used [0x6ba70000, 0x6bfce3d0, 0x6bfce400, 0x6c270000)
    rw space 12288K,  46% used [0x6c270000, 0x6c810a90, 0x6c810c00, 0x6ce70000)

Dynamic libraries:
0x00400000 - 0x0040b000 	C:\Programme\jdk1.5\jre\bin\java.exe
0x77f40000 - 0x77fee000 	C:\WINDOWS\System32\ntdll.dll
0x77e40000 - 0x77f38000 	C:\WINDOWS\system32\kernel32.dll
0x77da0000 - 0x77e3c000 	C:\WINDOWS\system32\ADVAPI32.dll
0x78000000 - 0x78086000 	C:\WINDOWS\system32\RPCRT4.dll
0x77be0000 - 0x77c33000 	C:\WINDOWS\system32\MSVCRT.dll
0x6d630000 - 0x6d7d7000 	C:\Programme\jdk1.5\jre\bin\client\jvm.dll
0x77d10000 - 0x77d9c000 	C:\WINDOWS\system32\USER32.dll
0x77c40000 - 0x77c80000 	C:\WINDOWS\system32\GDI32.dll
0x76af0000 - 0x76b1d000 	C:\WINDOWS\System32\WINMM.dll
0x6d270000 - 0x6d277000 	C:\Programme\jdk1.5\jre\bin\hpi.dll
0x76bb0000 - 0x76bbb000 	C:\WINDOWS\System32\PSAPI.DLL
0x6d600000 - 0x6d60b000 	C:\Programme\jdk1.5\jre\bin\verify.dll
0x6d2e0000 - 0x6d2fc000 	C:\Programme\jdk1.5\jre\bin\java.dll
0x6d620000 - 0x6d62e000 	C:\Programme\jdk1.5\jre\bin\zip.dll
0x01160000 - 0x012bb000 	C:\Programme\jdk1.5\jre\bin\awt.dll
0x72f70000 - 0x72f93000 	C:\WINDOWS\System32\WINSPOOL.DRV
0x76330000 - 0x7634c000 	C:\WINDOWS\System32\IMM32.dll
0x7ccc0000 - 0x7cde1000 	C:\WINDOWS\system32\ole32.dll
0x5b0f0000 - 0x5b124000 	C:\WINDOWS\System32\uxtheme.dll
0x51000000 - 0x51047000 	C:\WINDOWS\System32\ddraw.dll
0x73b30000 - 0x73b36000 	C:\WINDOWS\System32\DCIMAN32.dll
0x5c000000 - 0x5c0c8000 	C:\WINDOWS\System32\D3DIM700.DLL
0x01320000 - 0x0135e000 	C:\Programme\jdk1.5\jre\bin\fontmanager.dll
0x10000000 - 0x100d4000 	C:\WINDOWS\System32\nView.dll
0x70a70000 - 0x70ad5000 	C:\WINDOWS\system32\SHLWAPI.dll
0x773a0000 - 0x77b9c000 	C:\WINDOWS\system32\SHELL32.dll
0x77bd0000 - 0x77bd7000 	C:\WINDOWS\system32\VERSION.dll
0x5f1a0000 - 0x5f1ba000 	C:\WINDOWS\System32\OLEPRO32.DLL
0x770f0000 - 0x7717b000 	C:\WINDOWS\system32\OLEAUT32.dll
0x78090000 - 0x78174000 	C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.10.0_x-ww_f7fb5805\comctl32.dll
0x77310000 - 0x7739b000 	C:\WINDOWS\system32\comctl32.dll
0x017a0000 - 0x017cb000 	C:\WINDOWS\System32\NVWRSDE.DLL
0x746a0000 - 0x746e4000 	C:\WINDOWS\System32\MSCTF.dll
0x6d4a0000 - 0x6d4b3000 	C:\Programme\jdk1.5\jre\bin\net.dll
0x71a10000 - 0x71a24000 	C:\WINDOWS\System32\WS2_32.dll
0x71a00000 - 0x71a08000 	C:\WINDOWS\System32\WS2HELP.dll
0x6d4c0000 - 0x6d4c8000 	C:\Programme\jdk1.5\jre\bin\nio.dll

VM Arguments:
java_command: de.earlgrey1974.debug.ObjectBrowser

Environment Variables:
CLASSPATH=C:\Archiv\Java;.;C:\Programme\jdk1.4\lib\tools.jar;C:\Programme\Tomcat 4.0\webapps\wolm\WEB-INF\classes;C:\Programme\j2ee1.3.1\lib\j2ee.jar;C:\Programme\j2ee1.3.1\lib\j2eetools.jar
PATH=C:\Programme\MikTeX\miktex\bin;C:\Programme\Microsoft.NET\FrameworkSDK\Bin\;C:\Programme\Microsoft Visual Studio .NET\Common7\IDE\;C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\;C:\Programme\Microsoft Visual Studio .NET\Vc7\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\jdk1.5\bin;C:\Programme\SSH Communications Security\SSH Secure Shell;C:\Programme\jdk1.4\bin
USERNAME=earlgrey
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 4, GenuineIntel


---------------  S Y S T E M  ---------------

OS: Windows XP Build 2600 Service Pack 1

CPU:total 1(active 1) family 15, cmov, cx8, fxsr, mmx, sse, sse2

Memory: 4k page, physical 523632k(82452k free), swap 1280356k(847564k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0-beta-b32c) for windows-x86, built on Jan 23 2004 01:52:20 by "java_re" with MS VC++ 6.0



REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
public class Test{

public static void main(String... murx) throws Throwable
	{
				
		Class c = HashMap.class;
		c = c.getClass();
		Method m = c.getDeclaredMethod("getConstantPool", null);
		System.out.println(m);
		m.setAccessible(true);
		Object o = m.invoke(c, null);
		System.out.println(o);
		Class cc = o.getClass();
		System.out.println(cc);
		
		for (Field f : cc.getDeclaredFields())
		{
			f.setAccessible(true);
			System.out.println(f.get(o) );   // comment it. Works fine.
		}
		
		System.out.println();
		
		for (Method mm : cc.getDeclaredMethods() )
		{
			System.out.println(mm);
		}
	}
}
---------- END SOURCE ----------
(Incident Review ID: 244422) 
======================================================================

Comments
EVALUATION Same bug as 5012949. ###@###.### 2004-03-29
29-03-2004