On Thu, 15 May 2025 19:22:06 GMT, Jeremy Wood <d...@openjdk.org> wrote:
>> Unfortunately I'm unable to reproduce this failure. I slowed the test down; >> it passes on my machine before and after this PR. >> >> I added a little bit of logging that might also help identify what's >> happening. >> >> Does anyone have any more suggestions? > > Jeremy Wood has updated the pull request incrementally with two additional > commits since the last revision: > > - 8356061: restructuring to move things to EDT > > This was requested here: > https://github.com/openjdk/jdk/pull/25244#discussion_r2091656355 > > mrserb asked: "Also please move creation and access_to all Swing > components to EDT" > > (I'm not sure this will help much? My understanding was *creation* of > Swing components could happen off the EDT as long as they were made > displayable on the EDT.) > > Now we still call jc.getLocationOnScreen off the EDT. If that posed a > thread-based problem it'd probably manifest as a > IllegalComponentStateException, which is not mentioned in 8356061. > - 8356061: adding 1000ms pause after window construction > > This was requested here: > https://github.com/openjdk/jdk/pull/25244#discussion_r2091656355 > > So now we'll pause at least 1.1s before the first call to > `jc.getLocationOnScreen`, and at least 2.1s before the first call to > `robot.getPixelColor(x, y)`. > > (getLocationOnScreen has never failed with an IllegalStateException.) I think the test can be greatly simplified if you redirect all rendering into a BufferedImage, in that case the use of robot can be removed. ------------- PR Comment: https://git.openjdk.org/jdk/pull/25244#issuecomment-2889420453