RFR: 8185862: AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185 [v8]
Christoph Langer
clanger at openjdk.org
Fri Mar 1 08:01:08 UTC 2024
- Previous message (by thread): RFR: 8185862: AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185 [v7]
- Next message (by thread): RFR: 8185862: AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185 [v8]
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
> The assertions reported in the bug were observed spuriously and here and there broke tests in some Windows configurations.
> For instance [JDK-8266129](https://bugs.openjdk.org/browse/JDK-8266129), [JDK-8269529](https://bugs.openjdk.org/browse/JDK-8269529) or [JDK-8323664](https://bugs.openjdk.org/browse/JDK-8323664) came up due to this.
>
> The problem is that in Windows environments without a valid display, e.g. started by system services or via PowerShell Remoting, one sees a Monitor with name 'Windisc' in `EnumDisplayMonitors`.
> However, it seems to be some kind of a pseudo device where you can not get a DC via `CreateDC`. This behavior/monitor type doesn't seem to be well documented, though.
>
> I hereby modify the device initialization code to only count/detect monitors where CreateDC returns non-NULL in Devices.cpp. I also add some more checking/error handling to AwtWin32GraphicsDevice::Initialize() for correctness.
>
> Furthermore, I re-enable the test `javax/swing/reliability/HangDuringStaticInitialization.java` for Windows Debug VMs, which reverts the fix from JDK-8269529 that should not be necessary any more.
Christoph Langer has updated the pull request incrementally with one additional commit since the last revision:
load awt.dll before display check
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17614/files
- new: https://git.openjdk.org/jdk/pull/17614/files/f43da52f..7a00a647
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17614&range=07
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17614&range=06-07
Stats: 17 lines in 1 file changed: 16 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/17614.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17614/head:pull/17614
PR: https://git.openjdk.org/jdk/pull/17614
- Previous message (by thread): RFR: 8185862: AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185 [v7]
- Next message (by thread): RFR: 8185862: AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185 [v8]
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the client-libs-dev
mailing list