JDK-4480734 : MultiBufferDuke crashes when changing from 8 to 16 bpp (win32 only) (multimon)
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 1.4.0
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: windows_nt
  • CPU: x86
  • Submitted: 2001-07-17
  • Updated: 2003-08-12
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
Set your display mode to 8 bits per pixel.

Start MultiBufferDuke (in test/java/awt/fullscreen/MultiBufferDuke)

Choose a display mode that is not 8 bpp (one of the 16 bpp will do).

Here is the stack trace I get:

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x8E756EA
Function=AwtPalette::GetSystemInverseLUT+0xA
Library=N:\build\win32\bin\awt.dll
Source file = ../../../src/win32/native/sun/windows/awt_Palette.h : 48


Current Java thread:
        at sun.java2d.loops.Blit.Blit(Native Method)
        at sun.java2d.pipe.DrawImage.blitSurfaceData(DrawImage.java:729)
        at sun.java2d.pipe.DrawImage.renderSurfaceData(DrawImage.java:374)
        at sun.java2d.pipe.DrawImage.clipAndRenderSurfaceData(DrawImage.java:711
)
        at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:70)Win32SD.java: g
d, graphicsConfig = Win32GraphicsDevice[screen=0], Win32GraphicsConfig[dev=Win32
GraphicsDevice[screen=0],pixfmt=1]
        at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:53)
Win32SD_initOps: wsdo, device, hmon, screen = 0x8c5700, 0x86ab88, 0x10001, 0
        at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:818)GetDDInstForDe
vice, hmon = 0x10001
ddInstance[0]->hMon = 0x10001
        at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2708)DDCreateSu
rf: wsdo, wsdo->hmon = 0x8c5700, 0x10001
        at sun.awt.image.ImageRepresentation.drawToBufImage(ImageRepresentation.
java:738)
        at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:825)
        at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2708)
        at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2825)
        at MultiBufferDuke.restoreSpriteContent(MultiBufferDuke.java:388)
        at MultiBufferDuke.initOffscreen(MultiBufferDuke.java:372)
        at MultiBufferDuke.run(MultiBufferDuke.java:315)
        at java.lang.Thread.run(Thread.java:579)



Comments
EVALUATION Committing to merlin. michael.martak@Eng 2001-07-17 I could not get this to reproduce in the latest promoted builds (b72) on Win2K or NT 4.0. michael.martak@Eng 2001-07-23 The problem seems to be connected to multimon. I can reproduce the error consistently on the latest builds when I have multimon enabled on my win2k system. When I disable the secondary monitor, however, the app runs fine. chet.haase@Eng 2001-07-24 Decommitting from merlin; committing to tiger, yak (hopper). michael.martak@Eng 2001-07-24 Win98, DukeRoids running in a window (-windowed parameter): on multiscreen system, with both screens set to the same depth, dragging the frame between the screens causes crash. ###@###.### 2001-10-29 This bug report had other issues attached to the evaluation, but those have now been moved into separate bug reports. This bug report will continue to focus on multimon fullscreen issues. ###@###.### 2002-05-22
22-05-2002