LLD WASM linker has a deadlock race condition bug


I would like to bring attention to this bug report:

WebAssembly is getting quite some attention in the 8.0.0 release cycle
of LLVM thanks to the target being promoted to non-experimental.
Consequently the WASM linker code in LLD is getting some more broad testing.

In the Zig frontend I've added --no-threads for now, to work around the bug.

Please let me know if there is more information I can provide to help
diagnose and fix this bug in LLD. The repro case I uploaded in the issue
tracker triggers the deadlock about 1 in 6 times for me.


Hi Andrew,

I replied to you on the bug report thread. A suspicious thing I found in lld/wasm is that it calls parallelForEach from a callback function of parallelForEach, although that function is not reentrant.