Unexplained hangs on Windows arm64
Patricio Chilano Mateo
patricio.chilano.mateo at oracle.com
Fri Feb 6 02:56:21 UTC 2026
Hi Fabian,
This is likely due to https://bugs.openjdk.org/browse/JDK-8373630. I see
you are testing on 25.0.2 but the fix is in 25.0.3. Could you see if it
reproduces with a newer build?
Patricio
On 2/5/26 6:40 PM, Fabian Meumertzheim wrote:
> Hi everyone,
>
> I'm currently investigating indefinite hangs of the build system Bazel
> that occur only on Windows arm64
> (https://github.com/bazelbuild/bazel/issues/28520) - Linux, macOS as
> well as Windows x64 are unaffected. Bazel runs itself via an embedded
> JDK 25 and I've been able to reproduce the same hangs on 25.0.2.
>
> The hangs occur while Bazel downloads external dependencies using
> HttpURLConnection in virtual threads created by a
> VirtualThreadPerTaskExecutor. I captured JSON thread dumps
> (https://github.com/user-attachments/files/25097968/threads.json and
> https://github.com/user-attachments/files/25102540/threads2.json are
> examples, but I can provide more) which all seem to have the following
> in common:
> 1. Virtual threads are blocked in either very short synchronized
> blocks (e.g. SynchronizedMap methods) or WEPoll#ctl.
> 2. There are enough carrier threads available throughout (the machine
> has 8 cores).
>
> I don't know how to explain why there is no progress in these
> situations - the thread dumps don't seem to point to an obvious
> deadlock, but the program never makes progress again after getting
> into this state. WEPoll#ctl led me to think that this may be related
> to a subtle deadlock issue affecting the Go runtime
> (https://www.ntkernel.com/a-rare-cancelioex-hang-in-go-on-windows/),
> but I then found thread dumps such as the second one above that don't
> include an such frames.
>
> Is there anything special about the Loom impl on Windows arm64 that
> could explain this behavior?
>
> Fabian
More information about the loom-dev
mailing list