Commit bc3b47f
fix(engine): thread-local CURRENT_UNIT_NOTE_BITS under cfg(test)
The engine is single-threaded by contract, but cargo test runs tests
on parallel threads: every reconcile_one writes the same Shared static
holding a BroadcastSlot (an Rc with non-atomic refcounts), so parallel
tests corrupt the refcount and a later drop segfaults (~1/10 runs,
SIGSEGV on Linux CI, SIGABRT/SIGSEGV locally). Apply the PARAMS_SIGNAL
cfg(test) thread_local idiom already used for the same race in
params.rs. 0/30 failures after, full workspace passes.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 006ca3c commit bc3b47f
1 file changed
Lines changed: 17 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
463 | 463 | | |
464 | 464 | | |
465 | 465 | | |
| 466 | + | |
466 | 467 | | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
467 | 476 | | |
468 | 477 | | |
469 | | - | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
470 | 482 | | |
471 | 483 | | |
472 | 484 | | |
473 | | - | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
474 | 489 | | |
475 | 490 | | |
476 | 491 | | |
| |||
0 commit comments