tests: attribute native speech renderer Compositor SIGTRAP
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- playwright, typescript
- Domain
- testing-qa
Research direction
Start with packages/ui-react/tests/external-speech-runtime.test.ts and the bounded invocation in the issue; compare the same fixture and browser identity while preserving the existing controls and deadlines. Distinguish a renderer-only crash from browser-parent loss, a hook timeout, or worker-acquisition failure. Done means a usable native crash reason or finite causal comparison, with a named failing/restored comparison if a defect is established; otherwise document the prerequisite and remaining attribution gap.
Written by the indexing model from the issue text.
Description
Out of scope
No speech behavior fix, browser flag workaround, weakened assertions, timeout increase or claimed cause of #1600/#2309. No production incident is established.
Context
A distinct local reproduction control for #1600 at main 2a0b77f675da2f01c32adba3f4920650a5ee09fa completes the real package build (exit0; both streams complete at90.345s), then both speech scenarios fail with Playwright Target crashed. First failure is the original fixture-ready wait (open, packages/ui-react/tests/external-speech-runtime.test.ts:91). The second fails at its actual Dictate click. Outer pair:10pass/1fail/46assertions,103.83s; stats contributes10passes. This is a renderer crash, not either original hook timeout.
Conditions: isolated frozen-installed/full-built checkout, Bun1.4.3, host Chromium152.0.7977.82, original headless launch/route guards, BUN_JSC_useConcurrentJIT=false, BRAIN_REQUIRE_CHROME=1, an invocation-owned user/network namespace with root mapped to the current host user, loopback plus a route-free fictional dummy interface and setup capabilities dropped. Concurrent-JIT=false is confirmed by the installed runtime option dump; it is not established as causal. The original test wrapper/deadlines remain. An initial current-user-map setup lacked network configuration permission and ran no test.
Native coredump metadata correlates three renderer SIGTRAPs with the test time. One records the crashing thread as Compositor, SI_KERNEL, with an unsymbolized Chromium stack. No browser-parent termination or host OOM is established; the bounded kernel-journal search has no matching OOM entry. Current free-memory observation cannot reconstruct historical pressure. Core extraction fails with Input/output error, so no symbolized backtrace is available. No extracted core was retained.
Duplicate search found no speech/compositor/SIGTRAP survivor. #2309 records browser-wide unexpected closure during a different parallel-session reload and does not establish this renderer mechanism. No equivalence is inferred.
Scope
Attribute this native speech renderer trap, separating the browser build and namespace/launch condition from application behavior. Retain the bounded original crash and native provenance.
Acceptance criteria
- Recover a usable native crash reason or a finite causal comparison with the same fixture and browser identity.
- Distinguish renderer-only failure from browser-parent loss, original hook timeout and worker-acquisition failure.
- Preserve real typed/audio controls, route/offline guards, existing deadlines and owned-resource cleanup.
- If a responsible defect is established, scope correction with a named failing/restored comparison; otherwise document the execution prerequisite and remaining attribution gap.
Verification
Bounded invocation: unshare --user --map-root-user --net followed by route-free loopback setup/capability drop, then bun run test packages/ui-react/tests/external-speech-runtime.test.ts tests/stats-answer-render.test.tsx. Full commands, logs and sanitized core facts retained locally. This receipt is a failed local control, not CI qualification or production impact.
Contract impact
None selected; attribution remains missing. Keep needs: repro and no agent-ready.
Additional same-source controls — 2026-10-17
A current-UID-preserving namespace control reaches a separate silent bundle failure before Chrome; it supplies no renderer comparison. A further instrumented control in the current-UID namespace successfully bundles (exit0,signalnull), launches real host Chromium152.0.7977.82, then reports Target crashed at the original ready wait. This shows that root UID mapping is not required for the observed Target crashed symptom in these controls; it does not establish the same native crashing stack for that later run. The initial Compositor SIGTRAP metadata remains separately attributed. Parent JSC concurrent-JIT=false stays an experimental condition, not an established cause. See https://github.com/schlessera/brain-kit/issues/1600#issuecomment-6240695407.
2026-10-17: this verification-boundary investigation supports #736. Native parent attachment was attempted and refused with HTTP422: the parent already has the maximum100sub-issues. It remains standalone; no alternate parent or new epic was invented.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 5h 38m
- Merged PRs (30d)
- 960
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from schlessera/brain-kit
-
area: ci type: test
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
schlessera/brain-kit#2769 ·
Maintainers usually reply within 1 day
-
agent-ready area: ui-server priority: p2 type: test
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
schlessera/brain-kit#2758 ·
Maintainers usually reply within 1 day
-
agent-ready area: ui-react blocked priority: p0 type: fix
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
schlessera/brain-kit#2723 · 1 comment ·
Maintainers usually reply within 1 day
-
agent-ready area: ci area: ui-react priority: p2 type: test
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
schlessera/brain-kit#2615 · 1 comment ·
Maintainers usually reply within 1 day
-
agent-ready area: ci area: docs type: docs
Difficulty 1/5 1-3 hours Newbie friendliness 82/100
schlessera/brain-kit#2612 ·
Maintainers usually reply within 1 day
All issues in schlessera/brain-kit
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
lyswhut/lx-music-desktop#3026 ·
-
Read a vector index's quantization back on Neo4j 2026.10, which reports vector.quantization.typeOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
liberation-data/drivine#231 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
alveusgg/alveusgg#2502 · 3 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
bug workspace/linguist
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
backstage/community-plugins#11698 ·
Maintainers usually reply within 3 days