On Tue, 15 Jul 2025 19:52:15 GMT, Alisen Chung <[email protected]> wrote:
> > The getFocusableWindowState() method is not intended to modify the
> > configuration; doing so can cause recursive re-entry on Linux.
>
> What's causing the recursive re-entry? Is the bug in the code path in linux
> when calling getFocusableWindowState?
Hello @alisenchung, @mrserb,
In the test, we override getFocusableWindowState() to call removeNotify().
During the execution of removeNotify(), getFocusableWindowState() is called
again as you see in the call stack, which leads to an infinite recursive loop
and eventually results in a StackOverflowError
getFocusableWindowState()
└─→ removeNotify()
...
└─→ isFocusableWindow()
...
└─→ getFocusableWindowState() ← loop
At first, I thought this was a bug in the test and submitted a fix (as shown in
the PR). However, since @mrserb mentioned that the JDK should be able to
handle this scenario on Linux, I’m continuing to investigate the issue further.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/26298#issuecomment-3100428466