Skip to content

test(crashtracker): fix flaky test on Alpine#83

Merged
watson merged 9 commits intomainfrom
watson/increase-test-timeout
Mar 3, 2026
Merged

test(crashtracker): fix flaky test on Alpine#83
watson merged 9 commits intomainfrom
watson/increase-test-timeout

Conversation

@watson
Copy link
Copy Markdown
Contributor

@watson watson commented Mar 3, 2026

No description provided.

@watson watson requested review from a team as code owners March 3, 2026 10:30
Copy link
Copy Markdown
Contributor Author

watson commented Mar 3, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link
Copy Markdown
Contributor

@szegedi szegedi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Empirically, the timeout is still a tad low – alpine targets 20-25 succeeded now on the first try, but 16 and 18 still failed. One retry made 18 succeed, but 16 still failed. I'm now re-running 16 again. Maybe bump to 30s?

@watson watson force-pushed the watson/increase-test-timeout branch from 514e63e to 6f65717 Compare March 3, 2026 12:23
@watson watson marked this pull request as draft March 3, 2026 13:58
@watson watson force-pushed the watson/increase-test-timeout branch 4 times, most recently from fc112f6 to 3661240 Compare March 3, 2026 16:26
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 3, 2026

Overall package size

Self size: 37.33 MB
Deduped: 37.33 MB
No deduping: 37.33 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------|

🤖 This report was automatically generated by heaviest-objects-in-the-universe

watson added 5 commits March 3, 2026 18:13
Timeout was hitting in CI; tests may just need more time. Bumping
from 10s to 20s to reduce flakiness. If the root cause is a race
where a test hangs, a higher timeout alone won't fix it.
The crashtracker-receiver creates stdout.log and stderr.log,
but if it never starts, these files won't exist. The timeout
handler previously called `cat` unconditionally, which threw
an error that masked the actual timeout message.
Previously, `runApp` ignored child process failures, causing the test to
silently hang until the timeout. Now the promise rejects on spawn errors
and on child exit when no crash report is received (after a 5s grace
period).
The crashtracker signal handler's 3s timeout budget was too
short for in-process symbol resolution (blazesym) on Alpine
under CI resource pressure, causing the handler to silently
abandon crash reports before they could be sent.
@watson watson force-pushed the watson/increase-test-timeout branch from 3661240 to d765b85 Compare March 3, 2026 17:14
@watson watson changed the title test(crashtracker): increase crash-report timeout to 20s test(crashtracker): fix flaky test on Alpine Mar 3, 2026
watson added 2 commits March 3, 2026 18:51
It needs to be higher than 15 sec
@watson watson force-pushed the watson/increase-test-timeout branch from 8e5975c to 28eb001 Compare March 3, 2026 18:51
@watson watson marked this pull request as ready for review March 3, 2026 20:10
@watson watson merged commit 83fd325 into main Mar 3, 2026
204 of 211 checks passed
@watson watson deleted the watson/increase-test-timeout branch March 4, 2026 06:58
tlhunter pushed a commit that referenced this pull request Mar 19, 2026
…sts (#83)

- Increase crashtracker handler timeout from 3s to 15s and crash-report
  wait timeout from 10s to 20s to reduce flakiness in CI
- Guard stdout/stderr log file reads in the timeout handler with
  existence checks to avoid masking the real timeout error
- Add error and close handlers to child processes so tests fail with a
  clear message instead of hanging indefinitely
- Add console.log labels to each test for easier debugging
tlhunter pushed a commit that referenced this pull request Mar 20, 2026
…sts (#83)

- Increase crashtracker handler timeout from 3s to 15s and crash-report
  wait timeout from 10s to 20s to reduce flakiness in CI
- Guard stdout/stderr log file reads in the timeout handler with
  existence checks to avoid masking the real timeout error
- Add error and close handlers to child processes so tests fail with a
  clear message instead of hanging indefinitely
- Add console.log labels to each test for easier debugging
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants