Specimen
Full local suite run on 2026-07-10 (branch 337-pinned-test-devices, base 263e8f6): //previewsmcp/Tests/PreviewsJITLinkTests:PreviewsJITLinkTests FAILED in 2.7s while every other target passed. The process died on an LLVM-side assertion:
Assertion failed: (PendingCallWrapperResults.size() == 1 && I != PendingCallWrapperResults.end() && "Setup message handler not connectly set up"), function handleSetup, file SimpleRemoteEPC.cpp, line 284.
(The "connectly" typo is LLVM's, in llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp — the assertion fires in SimpleRemoteEPCServer/client setup when the Setup message arrives without exactly one pending call-wrapper result, i.e. an EPC bootstrap ordering race.)
Context from the failed log before it was overwritten by the re-run: RespawnHandoffTests.failedRespawnKeepsOldAgentAndItsRenderAlive had just PASSED (the intentional _previewsmcp_absent_symbol JIT session errors it produces appeared normally); the assertion fired ~24 lines later while the parallel suites were mid-bootstrap. The whole test process aborts, so the target fails even though no individual test reported a failure.
Isolated re-run immediately after: PASSED in 13.2s. So this is an intermittent bootstrap race under parallel suite load, likely in the SimpleRemoteEPC transport setup path used by the agent-session bootstrap (survivesRepeatedRemoteSessionBootstrap and friends run concurrently).
Not masked
Recorded per no-retry policy: the fix is to root-cause the EPC setup handshake ordering (our fd/transport wiring feeding SimpleRemoteEPC, or an upstream LLVM race we can sequence around), not to add retries. Next natural step when it recurs: capture the crashed process's full log (bazel overwrites test.log on re-run — copy it out before re-running) and thread-sample if it wedges rather than asserts.
Unrelated to #337 (the run that surfaced it): that diff touches only simulator device selection in other test targets.
Specimen
Full local suite run on 2026-07-10 (branch
337-pinned-test-devices, base 263e8f6)://previewsmcp/Tests/PreviewsJITLinkTests:PreviewsJITLinkTestsFAILED in 2.7s while every other target passed. The process died on an LLVM-side assertion:(The "connectly" typo is LLVM's, in
llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp— the assertion fires inSimpleRemoteEPCServer/client setup when the Setup message arrives without exactly one pending call-wrapper result, i.e. an EPC bootstrap ordering race.)Context from the failed log before it was overwritten by the re-run:
RespawnHandoffTests.failedRespawnKeepsOldAgentAndItsRenderAlivehad just PASSED (the intentional_previewsmcp_absent_symbolJIT session errors it produces appeared normally); the assertion fired ~24 lines later while the parallel suites were mid-bootstrap. The whole test process aborts, so the target fails even though no individual test reported a failure.Isolated re-run immediately after: PASSED in 13.2s. So this is an intermittent bootstrap race under parallel suite load, likely in the SimpleRemoteEPC transport setup path used by the agent-session bootstrap (
survivesRepeatedRemoteSessionBootstrapand friends run concurrently).Not masked
Recorded per no-retry policy: the fix is to root-cause the EPC setup handshake ordering (our fd/transport wiring feeding SimpleRemoteEPC, or an upstream LLVM race we can sequence around), not to add retries. Next natural step when it recurs: capture the crashed process's full log (bazel overwrites
test.logon re-run — copy it out before re-running) and thread-sample if it wedges rather than asserts.Unrelated to #337 (the run that surfaced it): that diff touches only simulator device selection in other test targets.