Skip to content

Commit 01c4f86

Browse files
yury-sclaude
andcommitted
repro: focus on jammy x86, bump iterations, run 5 replicas
Drop noble + arm legs (binary is x86 only and noble is a control we don't need to re-verify). Run 5 parallel replicas of jammy x86 to amortize the ~0.1-1% per-launch crash rate observed in CI. Per replica: 3000 iterations x 8 parallel launches = 24k browser starts per replica, 120k total across the matrix. At a 0.18% rate, expected ~216 SIGSEGV events; if zero, the bug is conditional on something Playwright sets up that this minimal repro doesn't. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 36c5f6c commit 01c4f86

1 file changed

Lines changed: 15 additions & 20 deletions

File tree

.github/workflows/repro_chs_jammy.yml

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,54 +3,49 @@
33
# from Chrome for Testing, launches it in a tight loop with the same flags
44
# Playwright uses, and counts SIGSEGV exits.
55
#
6-
# Mirrors test_docker.yml's matrix and `--ipc=host` exactly so the runtime
7-
# environment is identical to the failing job, modulo the Java/Playwright
8-
# layer.
6+
# Mirrors test_docker.yml's `--ipc=host` and ubuntu:jammy container exactly.
7+
# Runs 5 parallel replicas to amortize the ~0.1-1% per-launch crash rate.
98
name: Repro CHS jammy SIGSEGV
109

1110
on:
1211
workflow_dispatch:
1312
inputs:
1413
iterations:
15-
description: Launches per matrix leg
16-
default: '300'
14+
description: Launches per replica
15+
default: '3000'
1716
parallel:
18-
description: Concurrent launches
19-
default: '4'
17+
description: Concurrent launches per replica
18+
default: '8'
2019
chrome_version:
21-
description: Chrome for Testing version (e.g. 148.0.7778.96)
20+
description: Chrome for Testing version
2221
default: '148.0.7778.96'
2322
push:
2423
branches:
2524
- 'repro/**'
2625

2726
jobs:
2827
repro:
29-
name: Repro (${{ matrix.flavor }}, ${{ matrix.runs-on }})
28+
name: Repro jammy x86 (replica ${{ matrix.replica }})
3029
timeout-minutes: 60
31-
runs-on: ${{ matrix.runs-on }}
30+
runs-on: ubuntu-24.04
3231
strategy:
3332
fail-fast: false
3433
matrix:
35-
flavor: [jammy, noble]
36-
runs-on: [ubuntu-24.04, ubuntu-24.04-arm]
34+
replica: [1, 2, 3, 4, 5]
3735
steps:
3836
- uses: actions/checkout@v6
3937

4038
- name: Build Docker image
4139
run: |
42-
# Override the FROM line to match the matrix flavor.
43-
sed "s|^FROM ubuntu:.*$|FROM ubuntu:${{ matrix.flavor }}|" \
44-
tools/chs-repro/Dockerfile > tools/chs-repro/Dockerfile.${{ matrix.flavor }}
4540
docker build \
4641
--build-arg CHROME_VERSION=${{ inputs.chrome_version || '148.0.7778.96' }} \
47-
-t chs-repro:${{ matrix.flavor }} \
48-
-f tools/chs-repro/Dockerfile.${{ matrix.flavor }} \
42+
-t chs-repro:jammy \
43+
-f tools/chs-repro/Dockerfile \
4944
tools/chs-repro
5045
5146
- name: Run repro (--ipc=host, matches test_docker.yml)
5247
run: |
5348
docker run --rm --ipc=host \
54-
-e ITERATIONS=${{ inputs.iterations || '300' }} \
55-
-e PARALLEL=${{ inputs.parallel || '4' }} \
56-
chs-repro:${{ matrix.flavor }}
49+
-e ITERATIONS=${{ inputs.iterations || '3000' }} \
50+
-e PARALLEL=${{ inputs.parallel || '8' }} \
51+
chs-repro:jammy

0 commit comments

Comments
 (0)