> 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 14 additional commits since the last revision: - declare variable hasDisplays final - Merge branch 'master' into JDK-8185862 - load awt.dll before display check - Change implementation of headless determination on Windows - Merge branch 'master' into JDK-8185862 - Reflect display detection in java.awt.GraphicsEnvironment::isHeadless() - Merge branch 'master' into JDK-8185862 - Get rid of global variables and restore old handling wrt calling ::GetDIBits - Merge branch 'master' into JDK-8185862 - Little cleanup - ... and 4 more: https://git.openjdk.org/jdk/compare/5cf9714c...002fba2d ------------- Changes: - all: https://git.openjdk.org/jdk/pull/17614/files - new: https://git.openjdk.org/jdk/pull/17614/files/7a00a647..002fba2d Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=17614&range=08 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=17614&range=07-08 Stats: 4039 lines in 155 files changed: 2329 ins; 1055 del; 655 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