Issue 174922
Summary Audit core ORC operations for JITDylib-closed safety.
Labels orcjit
Assignees
Reporter lhames
    `llvm/include/llvm/ExecutionEngine/Orc/Core.h` and `llvm/lib/ExecutionEngine/Orc/Core.cpp` both contain assertions of the form
```c++
assert(State == Open && "JD is defunct");
```
but treating this as a programmatic error is impractical: When the session is ended, `ExecutionSession::endSession()` closes all JITDylibs before shutting down the `TaskDispatcher` (via `ExecutorProcessControl::disconnect`), but this means that there may be in-flight materialisations targeting the now-closed JITDylibs. When these materialisations attempt to interact with the closed JITDylib they will trigger this assertion. (Similar issues may arise if a JITDylib is closed during the session).

We should audit these assertions, and I expect that most of them should be replaced with a recoverable error: either `ResourceTrackerDefunct`, or the upcoming `JITDylibDefunct` error.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to