tests: native hosted admission health probe stalls past 1 s once in warm phase

Closed
#2,416 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, typescript
Domain
devops, testing

Research direction

Start with scripts/native-proof/hosted-app.test.ts and the uploaded runtime-host-proof artifact at run-pi-uid1000-*/run/phase-progress.json. Compare the timed-out warm health probe with successful probes and admission and WebSocket timings; then run a bounded hosted or local reproduction under constrained CPU to distinguish event-loop lag, connection setup, and runner contention. Keep the 1 s assertion; record attribution with evidence, or document reproduction attempts and conditions.

Written by the indexing model from the issue text.

Description

area: ci needs: repro priority: p2 type: fix

Context

Ready run 39111465321, attempt 1, runtime_host 117628571211, for PR #2415. Checkout f7164b7af6b1f5641411f17c3ffb67c0eb1f218c, parents base 7f22bb6ac2892360f3a5c4d3a1f93d9997af43e8 / head ae707746ad0df2fd58e6c17b04615c3e75c3362c, tree 83d6b7858ae065f0f77e70dbcfb071ed7b9c46a6. The PR changes only scripts/browser-shard-costs.json, which this runtime does not read.

scripts/native-proof/hosted-app.test.ts ("native hosted pi uid 1000 first/warm admission, health, WebSocket, Stop and cancellation") failed HOSTED_ADMISSION_HEALTH_WITHIN_1_SECOND (line 183).

From the uploaded runtime-host-proof artifact (run-pi-uid1000-*/run/phase-progress.json):

Phase Health probes Slowest successful Timeouts submit→ack
first 33 91 ms 0 1,935 ms
warm 34 156 ms 1 (health[22], TimeoutError at 1,000 ms) 2,309 ms

All other probes completed in 0–156 ms with status 200. One warm-phase health request got no response within its 1 s signal, while admission and WebSocket ping/pong (29/29) completed.

Scope

Attribute the stall before changing anything. Did the host event loop block, or did the single probe's connection or scheduling stall? Use existing artifacts and a bounded hosted or local reproduction under constrained CPU. Then fix the cause, or report it with evidence.

Out of scope: raising the 1 s health bound or retrying probes without attribution.

Acceptance criteria

  • The stalled probe is attributed with evidence (event-loop lag, connection setup or runner contention), or the reproduction attempts and their conditions are recorded.
  • Any change keeps the 1 s health assertion and is proven failing-first.

Contract impact

None.

Dominant language
TypeScript
Stars
3
Forks
0
Avg merge
5h 8m
Merged PRs (30d)
946

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.