Commit debea72
test: keep the site-2 staging probes alive past the peer they outlive
The amd64 ReleaseSafe SEGV (CI 30606010609) was in the TEST, not the lift. The
Windows trace named it exactly:
deliverLocalException (mod.zig:3775)
forceCancelAllQuestions
Peer.deinit (mod.zig:2062)
ImportOwnerVat.deinitAll -> self.remote.deinit()
test.L17 site 2 ... -> defer vat.deinitAll()
`stageSite2Provision` deliberately drops the staged call's Return in flight (it
severs the link so the owner's resolved_answers entry stays live, which is the
whole point of the site-2 shape). That leaves the question OUTSTANDING until
`vat.remote.deinit()`, where `forceCancelAllQuestions` delivers a local
exception THROUGH the question's stored `ctx` pointer -- and that pointer was
`&call_probe`, a local of the helper, whose frame died when the helper
returned. `deliverLocalException` then writes into a vanished stack frame: a
segfault on amd64 Linux and Windows under ReleaseSafe, and on arm64 macOS a
silent scribble into a still-mapped page, which is why every local gate and the
arm64 tier passed.
Both probes now live in the test's frame and are passed in, so they outlive the
peer that cancels the question. The helper's doc comment says why, since the
next person will be tempted to tidy them back into it.
Only this helper has the shape: it is the one that deliberately leaves a
question unanswered, and exactly its two tests crashed while the site-1 and OOM
fixtures in the same run stayed green.
The lift's own accounting is untouched by this commit -- `git diff` covers the
test file only. Local gates pass, but they passed before too; amd64 CI on this
PR is the oracle that matters.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 7195c52 commit debea72
1 file changed
Lines changed: 21 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3024 | 3024 | | |
3025 | 3025 | | |
3026 | 3026 | | |
| 3027 | + | |
| 3028 | + | |
| 3029 | + | |
| 3030 | + | |
| 3031 | + | |
| 3032 | + | |
| 3033 | + | |
| 3034 | + | |
| 3035 | + | |
3027 | 3036 | | |
3028 | 3037 | | |
3029 | 3038 | | |
3030 | 3039 | | |
| 3040 | + | |
| 3041 | + | |
3031 | 3042 | | |
3032 | 3043 | | |
3033 | 3044 | | |
3034 | 3045 | | |
3035 | | - | |
3036 | | - | |
| 3046 | + | |
3037 | 3047 | | |
3038 | | - | |
3039 | | - | |
| 3048 | + | |
3040 | 3049 | | |
3041 | 3050 | | |
3042 | 3051 | | |
| |||
3072 | 3081 | | |
3073 | 3082 | | |
3074 | 3083 | | |
3075 | | - | |
| 3084 | + | |
| 3085 | + | |
| 3086 | + | |
| 3087 | + | |
| 3088 | + | |
3076 | 3089 | | |
3077 | 3090 | | |
3078 | 3091 | | |
| |||
3150 | 3163 | | |
3151 | 3164 | | |
3152 | 3165 | | |
3153 | | - | |
| 3166 | + | |
| 3167 | + | |
| 3168 | + | |
3154 | 3169 | | |
3155 | 3170 | | |
3156 | 3171 | | |
| |||
0 commit comments