-
Bug
-
Resolution: Duplicate
-
P2
-
None
-
1.4.1_03
-
None
-
x86
-
windows_xp
This problem is seen only with dual-monitor systems running Windows XP with remote desktop enabled. It also happens on machines with two video cards, not
on machines that have a single video card that feeds two different monitors.
It happens under JDK 1.4.1_02, 1.4.1_03 and 1.4.2_01.
STEPS TO REPRODUCE:
- Choose any Swing/AWT application (like: SwingSet demo)
- Set the monitor on the right to be the primary display (normally the left
monitor is the primary).
- Log into the machine through remote desktop.
- Launch the application (any Swing app should cause the behavior as
well).
- Disconnect the remote desktop session, but do not log out - the app should
remain running.
- Log in to the machine locally.
Most of the time the VM hits this exception:
java.lang.ArrayIndexOutOfBoundsException: 1
at sun.awt.Win32GraphicsEnvironment.getDefaultScreenDevice(Win32GraphicsEnvironment.java:61)
at sun.awt.windows.WToolkit.resetGC(WToolkit.java:126)
at sun.awt.Win32GraphicsEnvironment.displayChanged(Win32GraphicsEnvironment.java:79)
at sun.awt.windows.WToolkit$4.run(WToolkit.java:734)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.ArrayIndexOutOfBoundsException: 1
at sun.awt.windows.WWindowPeer.displayChanged(WWindowPeer.java:162)
at sun.awt.windows.WWindowPeer$1.run(WWindowPeer.java:126)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.ArrayIndexOutOfBoundsException: 1
at sun.awt.windows.WWindowPeer.displayChanged(WWindowPeer.java:162)
at sun.awt.windows.WWindowPeer$1.run(WWindowPeer.java:126)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
on machines that have a single video card that feeds two different monitors.
It happens under JDK 1.4.1_02, 1.4.1_03 and 1.4.2_01.
STEPS TO REPRODUCE:
- Choose any Swing/AWT application (like: SwingSet demo)
- Set the monitor on the right to be the primary display (normally the left
monitor is the primary).
- Log into the machine through remote desktop.
- Launch the application (any Swing app should cause the behavior as
well).
- Disconnect the remote desktop session, but do not log out - the app should
remain running.
- Log in to the machine locally.
Most of the time the VM hits this exception:
java.lang.ArrayIndexOutOfBoundsException: 1
at sun.awt.Win32GraphicsEnvironment.getDefaultScreenDevice(Win32GraphicsEnvironment.java:61)
at sun.awt.windows.WToolkit.resetGC(WToolkit.java:126)
at sun.awt.Win32GraphicsEnvironment.displayChanged(Win32GraphicsEnvironment.java:79)
at sun.awt.windows.WToolkit$4.run(WToolkit.java:734)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.ArrayIndexOutOfBoundsException: 1
at sun.awt.windows.WWindowPeer.displayChanged(WWindowPeer.java:162)
at sun.awt.windows.WWindowPeer$1.run(WWindowPeer.java:126)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.ArrayIndexOutOfBoundsException: 1
at sun.awt.windows.WWindowPeer.displayChanged(WWindowPeer.java:162)
at sun.awt.windows.WWindowPeer$1.run(WWindowPeer.java:126)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
- duplicates
-
JDK-4417798 Need to track add/remove of monitors on display changes
-
- Closed
-