Skip to content

Commit 0cebced

Browse files
authored
Merge pull request #623 from richarddd/fix/loongarch64-qemu-sigsegv-ci
Fix intermittent SIGSEGV in loongarch64 QEMU CI tests
2 parents 6add375 + 8ef797e commit 0cebced

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,10 @@ jobs:
464464
env:
465465
RUST_BACKTRACE: full
466466
run: |
467-
${{ matrix.target == 'wasm32-wasip1' && 'CARGO_TARGET_WASM32_WASIP1_RUNNER=wasmtime' || '' }} ${{ matrix.target == 'wasm32-wasip2' && 'CARGO_TARGET_WASM32_WASIP2_RUNNER=wasmtime' || '' }} cargo test ${{ matrix.optimization && '--release' || '' }} --all ${{ (matrix.target == 'wasm32-wasip1' || matrix.target == 'wasm32-wasip2') && '--exclude module-loader' || '' }} --target ${{ matrix.target }} --no-default-features --features ${{ matrix.features }}
467+
# Limit test threads to 1 for loongarch64 targets to work around an intermittent
468+
# QEMU user-mode emulation bug: "QEMU internal SIGSEGV {code=MAPERR, addr=0x20}"
469+
# This is a race condition in QEMU's thread emulation, not a bug in rquickjs.
470+
${{ startsWith(matrix.target, 'loongarch64') && 'RUST_TEST_THREADS=1' || '' }} ${{ matrix.target == 'wasm32-wasip1' && 'CARGO_TARGET_WASM32_WASIP1_RUNNER=wasmtime' || '' }} ${{ matrix.target == 'wasm32-wasip2' && 'CARGO_TARGET_WASM32_WASIP2_RUNNER=wasmtime' || '' }} cargo test ${{ matrix.optimization && '--release' || '' }} --all ${{ (matrix.target == 'wasm32-wasip1' || matrix.target == 'wasm32-wasip2') && '--exclude module-loader' || '' }} --target ${{ matrix.target }} --no-default-features --features ${{ matrix.features }}
468471
469472
update-bindings:
470473
if: ${{ github.event_name != 'pull_request' && !startsWith(github.ref, 'refs/tags/') }}

0 commit comments

Comments
 (0)