Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

tests: attribute native speech renderer Compositor SIGTRAP

Closed
#2,357 5 comments 0 reactions 0 assignees View on GitHub

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

area: ci area: ui-react needs: repro priority: p2 type: test

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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from schlessera/brain-kit

All issues in schlessera/brain-kit

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.