Commit 68b1124
committed
fix(alpine): add --runInBand workaround for N-API musl crash
Workaround for upstream issue: N-API Napi::Reference destructors calling
napi_delete_reference during Jest worker termination on Alpine/musl corrupt
V8's JIT pages, causing SIGSEGV/SIGABRT.
Changes:
- Add --runInBand to Alpine CI tests (prevents parallel worker termination)
- Remove explicit Reset() in ValueStorage::Remove() (reduces crash frequency)
- Update P02 documentation with accurate analysis
The previous "fix" was never committed - only existed in working directory.
With --runInBand: 100% pass rate. Without: ~50% crash rate on Alpine Node 20.
This is a known musl-specific issue with N-API reference cleanup during
process termination. See: nodejs/node-addon-api#660, nodejs/node#372361 parent e738b8c commit 68b1124
File tree
3 files changed
+111
-349
lines changed- .github/workflows
- doc/todo
- src
3 files changed
+111
-349
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
229 | 235 | | |
230 | 236 | | |
231 | 237 | | |
232 | 238 | | |
233 | 239 | | |
234 | 240 | | |
235 | | - | |
| 241 | + | |
236 | 242 | | |
237 | 243 | | |
238 | 244 | | |
| |||
0 commit comments