[all-commits] [llvm/llvm-project] 195c81: ORC: Fix flaky OrcLazy tests (#228619)
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Sat Oct 3 00:16:00 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 195c81658995a4b7531c30a12c5aef6cf2bbd671
https://github.com/llvm/llvm-project/commit/195c81658995a4b7531c30a12c5aef6cf2bbd671
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-10-03 (Sat, 03 Oct 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
ORC: Fix flaky OrcLazy tests (#228619)
I've seen this fail a few too many times so just let AI deal with it. I
don't
know anything about orc, but extending lifetime of lock_guard seems
plausible.
Notify lookupInitSymbols CV while holding the mutex
The init-symbol lookup completion callback decremented Count under
LookupMutex but called CV.notify_one() after releasing it. The waiting
thread could observe Count == 0, return from lookupInitSymbols, and
destroy the stack-allocated mutex and condition variable before the
callback signalled it. With concurrent compile threads the callback runs
on a dispatcher thread, so the late notify wrote into reused stack
memory, e.g. during endSession right after deinitialize.
This caused intermittent crashes in
ExecutionEngine/OrcLazy/multiple-compile-threads-basic.ll on macOS
(#50408, #126982). MachOPlatform and ELFNixPlatform already notify their
bootstrap condition variables under the mutex for the same reason.
Co-authored-by: Claude
[noreply at anthropic.com](mailto:noreply at anthropic.com)
Co-authored-by: Claude <noreply at anthropic.com>
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list