-
Bug
-
Resolution: Won't Fix
-
P4
-
6, 9
-
generic
-
generic
Failing test name:
nsk/jdi/VirtualMachine/instanceCounts/instancecounts005
Attached test try load in debugee VM large number of classes using custom classloader, after loading ~2500 classes debuggee VM hangs.
Hanging doesn't depends on size of loaded classes, VM hangs when about 2500 was loaded.
Debugee VM thread dump:
Full thread dump Java HotSpot(TM) Client VM (1.6.0-beta2-b84 mixed mode):
"Attach Listener" daemon prio=10 tid=0x08079000 nid=0x31f8 waiting on condition [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"Low Memory Detector" daemon prio=10 tid=0x080dcc00 nid=0x31e8 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x080db400 nid=0x31e7 waiting on condition [0x00000000..0x4a9caf98]
java.lang.Thread.State: RUNNABLE
"JDWP Command Reader" daemon prio=10 tid=0x080d0000 nid=0x31e3 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"JDWP Event Helper Thread" daemon prio=10 tid=0x080ce800 nid=0x31e2 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"JDWP Transport Listener: dt_socket" daemon prio=10 tid=0x080cc800 nid=0x31e1 runnable [0x00000000..0x4a8a82d0]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x080c4c00 nid=0x31e0 runnable [0x00000000..0x4a82a3e0]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x080af000 nid=0x31df in Object.wait() [0x4a7d9000..0x4a7d9680]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x429907e0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x429907e0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x080aac00 nid=0x31de in Object.wait() [0x4a788000..0x4a788800]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x42990800> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x42990800> (a java.lang.ref.Reference$Lock)
"main" prio=10 tid=0x0805b800 nid=0x31dc runnable [0x401e1000..0x401e18d8]
java.lang.Thread.State: RUNNABLE
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at HangTestDebuggee.main(HangTest.java:66)
"VM Thread" prio=10 tid=0x080a7800 nid=0x31dd runnable
"VM Periodic Task Thread" prio=10 tid=0x080de400 nid=0x31e9 waiting on condition
JNI global references: 8820
If decrease number of loaded classes to 2000(run: java HangTest classCount 2000) debugee successfull load all classes but VM hangs on exit.
Thread dump:
Full thread dump Java HotSpot(TM) Client VM (1.6.0-beta2-b84 mixed mode):
"Attach Listener" daemon prio=10 tid=0x0805b800 nid=0x34b5 waiting on condition [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"DestroyJavaVM" prio=10 tid=0x4abf6000 nid=0x349b runnable [0x00000000..0x401e17a0]
java.lang.Thread.State: RUNNABLE
"Low Memory Detector" daemon prio=10 tid=0x080dcc00 nid=0x34a7 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x080db400 nid=0x34a6 waiting on condition [0x00000000..0x4a9caf18]
java.lang.Thread.State: RUNNABLE
"JDWP Command Reader" daemon prio=10 tid=0x080cfc00 nid=0x34a2 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"JDWP Event Helper Thread" daemon prio=10 tid=0x080ce800 nid=0x34a1 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"JDWP Transport Listener: dt_socket" daemon prio=10 tid=0x080cc800 nid=0x34a0 runnable [0x00000000..0x4a8a8350]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x080c4c00 nid=0x349f runnable [0x00000000..0x4a82a360]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x080af000 nid=0x349e in Object.wait() [0x4a7d9000..0x4a7d9700]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x4298fb98> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x4298fb98> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x080aac00 nid=0x349d in Object.wait() [0x4a788000..0x4a788780]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x4298fbb8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x4298fbb8> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x080a7800 nid=0x349c runnable
JNI global references: 7112
nsk/jdi/VirtualMachine/instanceCounts/instancecounts005
Attached test try load in debugee VM large number of classes using custom classloader, after loading ~2500 classes debuggee VM hangs.
Hanging doesn't depends on size of loaded classes, VM hangs when about 2500 was loaded.
Debugee VM thread dump:
Full thread dump Java HotSpot(TM) Client VM (1.6.0-beta2-b84 mixed mode):
"Attach Listener" daemon prio=10 tid=0x08079000 nid=0x31f8 waiting on condition [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"Low Memory Detector" daemon prio=10 tid=0x080dcc00 nid=0x31e8 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x080db400 nid=0x31e7 waiting on condition [0x00000000..0x4a9caf98]
java.lang.Thread.State: RUNNABLE
"JDWP Command Reader" daemon prio=10 tid=0x080d0000 nid=0x31e3 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"JDWP Event Helper Thread" daemon prio=10 tid=0x080ce800 nid=0x31e2 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"JDWP Transport Listener: dt_socket" daemon prio=10 tid=0x080cc800 nid=0x31e1 runnable [0x00000000..0x4a8a82d0]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x080c4c00 nid=0x31e0 runnable [0x00000000..0x4a82a3e0]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x080af000 nid=0x31df in Object.wait() [0x4a7d9000..0x4a7d9680]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x429907e0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x429907e0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x080aac00 nid=0x31de in Object.wait() [0x4a788000..0x4a788800]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x42990800> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x42990800> (a java.lang.ref.Reference$Lock)
"main" prio=10 tid=0x0805b800 nid=0x31dc runnable [0x401e1000..0x401e18d8]
java.lang.Thread.State: RUNNABLE
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at HangTestDebuggee.main(HangTest.java:66)
"VM Thread" prio=10 tid=0x080a7800 nid=0x31dd runnable
"VM Periodic Task Thread" prio=10 tid=0x080de400 nid=0x31e9 waiting on condition
JNI global references: 8820
If decrease number of loaded classes to 2000(run: java HangTest classCount 2000) debugee successfull load all classes but VM hangs on exit.
Thread dump:
Full thread dump Java HotSpot(TM) Client VM (1.6.0-beta2-b84 mixed mode):
"Attach Listener" daemon prio=10 tid=0x0805b800 nid=0x34b5 waiting on condition [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"DestroyJavaVM" prio=10 tid=0x4abf6000 nid=0x349b runnable [0x00000000..0x401e17a0]
java.lang.Thread.State: RUNNABLE
"Low Memory Detector" daemon prio=10 tid=0x080dcc00 nid=0x34a7 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x080db400 nid=0x34a6 waiting on condition [0x00000000..0x4a9caf18]
java.lang.Thread.State: RUNNABLE
"JDWP Command Reader" daemon prio=10 tid=0x080cfc00 nid=0x34a2 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"JDWP Event Helper Thread" daemon prio=10 tid=0x080ce800 nid=0x34a1 runnable [0x00000000..0x00000000]
java.lang.Thread.State: RUNNABLE
"JDWP Transport Listener: dt_socket" daemon prio=10 tid=0x080cc800 nid=0x34a0 runnable [0x00000000..0x4a8a8350]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x080c4c00 nid=0x349f runnable [0x00000000..0x4a82a360]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x080af000 nid=0x349e in Object.wait() [0x4a7d9000..0x4a7d9700]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x4298fb98> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x4298fb98> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x080aac00 nid=0x349d in Object.wait() [0x4a788000..0x4a788780]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x4298fbb8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x4298fbb8> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x080a7800 nid=0x349c runnable
JNI global references: 7112