JDK-6712367 : Issues with painting - probably multi-monitor related
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6u10
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2008-06-09
  • Updated: 2019-05-14
  • Resolved: 2019-05-14
Related Reports
Duplicate :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_10-beta"
Java(TM) SE Runtime Environment (build 1.6.0_10-beta-b24)
Java HotSpot(TM) Client VM (build 11.0-b12, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]

EXTRA RELEVANT SYSTEM CONFIGURATION :
3 screens; primary on ati x300 and 2 screens on matrox card. Up-to-date drivers.
I have the following positions of the screens: [s][p][s]

A DESCRIPTION OF THE PROBLEM :
Since I work with applets I see this issue often, but it may or may not be related to applets. Strangely enough, I seem to see this more often - and more "intense" under Firefox then IE. Under FF it may sometimes stall the whole browser, console and applet! - I need to alt-tab away, and even then the resize cursor stays!

What happens is that I drag the console window and resize it back and forth between and overlapping multiple screens, it will eventually stop updating and just show garbled/un-updated graphics.

It happens using both the new plugin and the old plugin.

It seems to "restore" itself, if I move the window to the primary display and I can read the following exception:
(see attachment: exception.txt)

This may or may not be influenced by the fact that the applet is on one screen and the console is on another.

The following thread dump is from when FF locks up - which may not be entirely related, but happens for the same reasons (resize, move console window):
(see attachment: FFException.txt)


I have tried adding -Dsun.java2d.trace=log
Every exception blog was surrounded by
D3DDrawGlyphs
<EXCEPTION>
D3DFillRect

except for the fist exception which had:
sun.java2d.loops.FillRect::FillRect(AnyColor, SrcNoEa, AnyInt)
<EXCEPTION>
D3DFillRect

These are the types of exceptions I get:
(see attachment: 2DTrace.txt)

To Reproduce:
    * 3 monitors, [A][B][C] - B is primary.
    * Open browser instance on B.
    * Navigate to
      http://java.sun.com/applets/jdk/1.4/demo/applets/NervousText/example1.html
    * Wait for Java console to pop-up
    * drag it to C
    * Maximize it (redraw issues)
    * Restore (doesn't really update)
    * Drag back to B (still doesn't update)
    * Maximize - paints starts to occur again.

REPRODUCIBILITY :
This bug can be reproduced often.