-
Bug
-
Resolution: Cannot Reproduce
-
P4
-
10, 11, 14
java/awt/event/KeyEvent/RobotCrash/RobotCrash.java consistently times out
for me on Windows when run from jtreg, even though the program
exits quickly when run from the command line.
A sample jtreg generated stack dump looks like this
"main" #1 prio=5 os_prio=0 tid=0x0000000002189800 nid=0x50e0 in Object.wait() [0x000000000766f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074bf923b0> (a java.lang.Thread)
at java.lang.Thread.join(java.base@11-internal/Thread.java:1343)
- waiting to re-lock in wait() <0x000000074bf923b0> (a java.lang.Thread)
at java.lang.Thread.join(java.base@11-internal/Thread.java:1417)
at com.sun.javatest.regtest.agent.MainWrapper.main(MainWrapper.java:74)
"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x000000002d68a800 nid=0x8a8 waiting on condition [0x000000002f72e000]
java.lang.Thread.State: RUNNABLE
at java.lang.ref.Reference.waitForReferencePendingList(java.base@11-internal/Native Method)
at java.lang.ref.Reference.processPendingReferences(java.base@11-internal/Reference.java:166)
at java.lang.ref.Reference.access$000(java.base@11-internal/Reference.java:44)
at java.lang.ref.Reference$ReferenceHandler.run(java.base@11-internal/Reference.java:138)
"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x000000002d80f800 nid=0x4e24 in Object.wait() [0x000000002f85f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074c1090d8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@11-internal/ReferenceQueue.java:151)
- waiting to re-lock in wait() <0x000000074c1090d8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@11-internal/ReferenceQueue.java:172)
at java.lang.ref.Finalizer$FinalizerThread.run(java.base@11-internal/Finalizer.java:170)
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x000000002daff800 nid=0x2150 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x000000002db28800 nid=0x52d8 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x000000002dc10800 nid=0x2644 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"C1 CompilerThread0" #9 daemon prio=9 os_prio=2 tid=0x000000002dc46800 nid=0x3468 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"Sweeper thread" #10 daemon prio=9 os_prio=2 tid=0x000000002dcaa800 nid=0x21bc runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Service Thread" #11 daemon prio=9 os_prio=0 tid=0x00000000303b7800 nid=0x37d4 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Common-Cleaner" #12 daemon prio=8 os_prio=1 tid=0x0000000030334800 nid=0x410c in Object.wait() [0x000000003152e000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <no object reference available>
at java.lang.ref.ReferenceQueue.remove(java.base@11-internal/ReferenceQueue.java:151)
- waiting to re-lock in wait() <0x000000074bf23260> (a java.lang.ref.ReferenceQueue$Lock)
at jdk.internal.ref.CleanerImpl.run(java.base@11-internal/CleanerImpl.java:148)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
at jdk.internal.misc.InnocuousThread.run(java.base@11-internal/InnocuousThread.java:134)
"MainThread" #14 prio=5 os_prio=0 tid=0x000000003097f800 nid=0x4490 in Object.wait() [0x00000000326fe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074bffaab8> (a java.lang.Thread)
at java.lang.Thread.join(java.base@11-internal/Thread.java:1343)
- waiting to re-lock in wait() <0x000000074bffaab8> (a java.lang.Thread)
at java.lang.Thread.join(java.base@11-internal/Thread.java:1417)
at RobotCrash.main(RobotCrash.java:85)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@11-internal/Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@11-internal/NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@11-internal/DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(java.base@11-internal/Method.java:569)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"Thread-1" #15 prio=5 os_prio=0 tid=0x000000002ed8b800 nid=0x2ae8 in Object.wait() [0x00000000328fe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074bddc650> (a java.lang.Object)
at java.lang.Object.wait(java.base@11-internal/Object.java:328)
at sun.awt.SunToolkit.waitForIdle(java.desktop@11-internal/SunToolkit.java:1565)
- waiting to re-lock in wait() <0x000000074bddc650> (a java.lang.Object)
at sun.awt.SunToolkit.realSync(java.desktop@11-internal/SunToolkit.java:1489)
at sun.awt.SunToolkit.realSync(java.desktop@11-internal/SunToolkit.java:1402)
at java.awt.Robot.waitForIdle(java.desktop@11-internal/Robot.java:692)
- locked <0x000000074bb01440> (a java.awt.Robot)
at RobotCrash.robotKeyPressTest(RobotCrash.java:56)
at RobotCrash.run(RobotCrash.java:74)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"Java2D Disposer" #16 daemon prio=10 os_prio=2 tid=0x0000000033350800 nid=0x399c in Object.wait() [0x0000000033abe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074bc17110> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@11-internal/ReferenceQueue.java:151)
- waiting to re-lock in wait() <0x000000074bc17110> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@11-internal/ReferenceQueue.java:172)
at sun.java2d.Disposer.run(java.desktop@11-internal/Disposer.java:144)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"AWT-Shutdown" #17 prio=5 os_prio=0 tid=0x0000000033358800 nid=0x4c4c in Object.wait() [0x0000000033bee000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074bc19cd0> (a java.lang.Object)
at java.lang.Object.wait(java.base@11-internal/Object.java:328)
at sun.awt.AWTAutoShutdown.run(java.desktop@11-internal/AWTAutoShutdown.java:291)
- waiting to re-lock in wait() <0x000000074bc19cd0> (a java.lang.Object)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"AWT-Windows" #18 daemon prio=6 os_prio=0 tid=0x000000003324a800 nid=0x146c runnable [0x00000000311ef000]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WToolkit.eventLoop(java.desktop@11-internal/Native Method)
at sun.awt.windows.WToolkit.run(java.desktop@11-internal/WToolkit.java:303)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"AWT-EventQueue-0" #20 prio=6 os_prio=0 tid=0x000000003353a800 nid=0x1044 waiting on condition [0x0000000035cef000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base@11-internal/Native Method)
- parking to wait for <0x000000074bc67728> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(java.base@11-internal/LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11-internal/AbstractQueuedSynchronizer.java:2081)
at java.awt.EventQueue.getNextEvent(java.desktop@11-internal/EventQueue.java:566)
at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@11-internal/EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@11-internal/EventDispatchThread.java:124)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(java.desktop@11-internal/EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(java.desktop@11-internal/EventDispatchThread.java:109)
at java.awt.EventDispatchThread.pumpEvents(java.desktop@11-internal/EventDispatchThread.java:101)
at java.awt.EventDispatchThread.run(java.desktop@11-internal/EventDispatchThread.java:90)
"D3D Screen Updater" #22 daemon prio=7 os_prio=1 tid=0x000000003d1e7800 nid=0x3c24 in Object.wait() [0x000000003cfaf000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <no object reference available>
at sun.java2d.d3d.D3DScreenUpdateManager.run(java.desktop@11-internal/D3DScreenUpdateManager.java:423)
- waiting to re-lock in wait() <0x000000074bb8f438> (a java.lang.Object)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"VM Thread" os_prio=2 tid=0x000000000279d800 nid=0x2e84 runnable
"GC Thread#0" os_prio=2 tid=0x00000000212cc800 nid=0xaf0 runnable
"G1 Main Marker" os_prio=2 tid=0x0000000021c8b800 nid=0x3714 runnable
"G1 Conc#0" os_prio=2 tid=0x0000000021cbf800 nid=0x24bc runnable
"G1 Refine#0" os_prio=2 tid=0x000000002c5bc800 nid=0x340c runnable
"G1 Young RemSet Sampling" os_prio=2 tid=0x000000002c5de800 nid=0x45bc runnable
"VM Periodic Task Thread" os_prio=2 tid=0x000000002ec58800 nid=0x2d10 waiting on condition
for me on Windows when run from jtreg, even though the program
exits quickly when run from the command line.
A sample jtreg generated stack dump looks like this
"main" #1 prio=5 os_prio=0 tid=0x0000000002189800 nid=0x50e0 in Object.wait() [0x000000000766f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074bf923b0> (a java.lang.Thread)
at java.lang.Thread.join(java.base@11-internal/Thread.java:1343)
- waiting to re-lock in wait() <0x000000074bf923b0> (a java.lang.Thread)
at java.lang.Thread.join(java.base@11-internal/Thread.java:1417)
at com.sun.javatest.regtest.agent.MainWrapper.main(MainWrapper.java:74)
"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x000000002d68a800 nid=0x8a8 waiting on condition [0x000000002f72e000]
java.lang.Thread.State: RUNNABLE
at java.lang.ref.Reference.waitForReferencePendingList(java.base@11-internal/Native Method)
at java.lang.ref.Reference.processPendingReferences(java.base@11-internal/Reference.java:166)
at java.lang.ref.Reference.access$000(java.base@11-internal/Reference.java:44)
at java.lang.ref.Reference$ReferenceHandler.run(java.base@11-internal/Reference.java:138)
"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x000000002d80f800 nid=0x4e24 in Object.wait() [0x000000002f85f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074c1090d8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@11-internal/ReferenceQueue.java:151)
- waiting to re-lock in wait() <0x000000074c1090d8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@11-internal/ReferenceQueue.java:172)
at java.lang.ref.Finalizer$FinalizerThread.run(java.base@11-internal/Finalizer.java:170)
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x000000002daff800 nid=0x2150 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x000000002db28800 nid=0x52d8 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x000000002dc10800 nid=0x2644 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"C1 CompilerThread0" #9 daemon prio=9 os_prio=2 tid=0x000000002dc46800 nid=0x3468 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"Sweeper thread" #10 daemon prio=9 os_prio=2 tid=0x000000002dcaa800 nid=0x21bc runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Service Thread" #11 daemon prio=9 os_prio=0 tid=0x00000000303b7800 nid=0x37d4 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Common-Cleaner" #12 daemon prio=8 os_prio=1 tid=0x0000000030334800 nid=0x410c in Object.wait() [0x000000003152e000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <no object reference available>
at java.lang.ref.ReferenceQueue.remove(java.base@11-internal/ReferenceQueue.java:151)
- waiting to re-lock in wait() <0x000000074bf23260> (a java.lang.ref.ReferenceQueue$Lock)
at jdk.internal.ref.CleanerImpl.run(java.base@11-internal/CleanerImpl.java:148)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
at jdk.internal.misc.InnocuousThread.run(java.base@11-internal/InnocuousThread.java:134)
"MainThread" #14 prio=5 os_prio=0 tid=0x000000003097f800 nid=0x4490 in Object.wait() [0x00000000326fe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074bffaab8> (a java.lang.Thread)
at java.lang.Thread.join(java.base@11-internal/Thread.java:1343)
- waiting to re-lock in wait() <0x000000074bffaab8> (a java.lang.Thread)
at java.lang.Thread.join(java.base@11-internal/Thread.java:1417)
at RobotCrash.main(RobotCrash.java:85)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@11-internal/Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@11-internal/NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@11-internal/DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(java.base@11-internal/Method.java:569)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"Thread-1" #15 prio=5 os_prio=0 tid=0x000000002ed8b800 nid=0x2ae8 in Object.wait() [0x00000000328fe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074bddc650> (a java.lang.Object)
at java.lang.Object.wait(java.base@11-internal/Object.java:328)
at sun.awt.SunToolkit.waitForIdle(java.desktop@11-internal/SunToolkit.java:1565)
- waiting to re-lock in wait() <0x000000074bddc650> (a java.lang.Object)
at sun.awt.SunToolkit.realSync(java.desktop@11-internal/SunToolkit.java:1489)
at sun.awt.SunToolkit.realSync(java.desktop@11-internal/SunToolkit.java:1402)
at java.awt.Robot.waitForIdle(java.desktop@11-internal/Robot.java:692)
- locked <0x000000074bb01440> (a java.awt.Robot)
at RobotCrash.robotKeyPressTest(RobotCrash.java:56)
at RobotCrash.run(RobotCrash.java:74)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"Java2D Disposer" #16 daemon prio=10 os_prio=2 tid=0x0000000033350800 nid=0x399c in Object.wait() [0x0000000033abe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074bc17110> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@11-internal/ReferenceQueue.java:151)
- waiting to re-lock in wait() <0x000000074bc17110> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@11-internal/ReferenceQueue.java:172)
at sun.java2d.Disposer.run(java.desktop@11-internal/Disposer.java:144)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"AWT-Shutdown" #17 prio=5 os_prio=0 tid=0x0000000033358800 nid=0x4c4c in Object.wait() [0x0000000033bee000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <0x000000074bc19cd0> (a java.lang.Object)
at java.lang.Object.wait(java.base@11-internal/Object.java:328)
at sun.awt.AWTAutoShutdown.run(java.desktop@11-internal/AWTAutoShutdown.java:291)
- waiting to re-lock in wait() <0x000000074bc19cd0> (a java.lang.Object)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"AWT-Windows" #18 daemon prio=6 os_prio=0 tid=0x000000003324a800 nid=0x146c runnable [0x00000000311ef000]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WToolkit.eventLoop(java.desktop@11-internal/Native Method)
at sun.awt.windows.WToolkit.run(java.desktop@11-internal/WToolkit.java:303)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"AWT-EventQueue-0" #20 prio=6 os_prio=0 tid=0x000000003353a800 nid=0x1044 waiting on condition [0x0000000035cef000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park(java.base@11-internal/Native Method)
- parking to wait for <0x000000074bc67728> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(java.base@11-internal/LockSupport.java:194)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11-internal/AbstractQueuedSynchronizer.java:2081)
at java.awt.EventQueue.getNextEvent(java.desktop@11-internal/EventQueue.java:566)
at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@11-internal/EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@11-internal/EventDispatchThread.java:124)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(java.desktop@11-internal/EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(java.desktop@11-internal/EventDispatchThread.java:109)
at java.awt.EventDispatchThread.pumpEvents(java.desktop@11-internal/EventDispatchThread.java:101)
at java.awt.EventDispatchThread.run(java.desktop@11-internal/EventDispatchThread.java:90)
"D3D Screen Updater" #22 daemon prio=7 os_prio=1 tid=0x000000003d1e7800 nid=0x3c24 in Object.wait() [0x000000003cfaf000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(java.base@11-internal/Native Method)
- waiting on <no object reference available>
at sun.java2d.d3d.D3DScreenUpdateManager.run(java.desktop@11-internal/D3DScreenUpdateManager.java:423)
- waiting to re-lock in wait() <0x000000074bb8f438> (a java.lang.Object)
at java.lang.Thread.run(java.base@11-internal/Thread.java:832)
"VM Thread" os_prio=2 tid=0x000000000279d800 nid=0x2e84 runnable
"GC Thread#0" os_prio=2 tid=0x00000000212cc800 nid=0xaf0 runnable
"G1 Main Marker" os_prio=2 tid=0x0000000021c8b800 nid=0x3714 runnable
"G1 Conc#0" os_prio=2 tid=0x0000000021cbf800 nid=0x24bc runnable
"G1 Refine#0" os_prio=2 tid=0x000000002c5bc800 nid=0x340c runnable
"G1 Young RemSet Sampling" os_prio=2 tid=0x000000002c5de800 nid=0x45bc runnable
"VM Periodic Task Thread" os_prio=2 tid=0x000000002ec58800 nid=0x2d10 waiting on condition