Repository navigation
Report the compile failure of the concurrent async request test - #8989
Conversation
When a compile failed in `concurrent_async_context`, the first failed join re-raised while other domains were still writing, and `with_temp_dir`'s cleanup then failed with ENOTEMPTY: `Fun.protect` reported only `Finally_raised` and the directory was left behind. The test now joins every domain before re-raising, and a failed body's cleanup is best effort. Signed-off-by: Christoph Knittel <ck@cca.io> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Xk6AeCYpCK4SZRtHYKHGoe
Semantic Diff1 commit · Full page Report the compile failure of the concurrent async request test457cf5a · Christoph Knittel with Claude Opus 5.5 · Oct 23, 2026 When a compile failed in |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #8989 +/- ##
==========================================
- Coverage 81.22% 81.22% -0.01%
==========================================
Files 457 457
Lines 63862 63873 +11
==========================================
+ Hits 51875 51882 +7
- Misses 11987 11991 +4
🚀 New features to boost your workflow:
|
rescript
@rescript/belt
@rescript/darwin-arm64
@rescript/linux-arm64
@rescript/linux-x64
@rescript/runtime
@rescript/win32-x64
commit: |
|
Developer playground preview: https://rescript-lang.github.io/rescript/dev-playground/?version=pr-8989 |
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Fixes #8979.
When a compile failed in the
concurrent_async_contextunit test,List.iter Domain.joinre-raised at the first failed join while the other seven domains were still compiling into the temporary directory.with_temp_dir's cleanup then raced with them and failed withENOTEMPTY.Fun.protectreported onlyFun.Finally_raised: Unix.Unix_error(Unix.ENOTEMPTY, "rmdir", ...), which hid the compile error and left arewatch-driver-async-domains-*directory behind.join_alljoins every domain before re-raising the first failure, keeping its backtrace. The test uses it in place ofList.iter Domain.join.with_temp_dirre-raises the action's own exception, and in that case removing the directory is best effort. After a successful action, a cleanup error still fails the test. This applies to every test that uses the helper.Checked by running the test without a compiled runtime, the reproduction from the issue: it now fails with the compile error ("The module or file Primitive_promise can't be found") and leaves no directory behind.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Xk6AeCYpCK4SZRtHYKHGoe