Skip to content

ci(nextest): demote gear-lazy-pages leak detection to non-fatal#5513

Closed
grishasobol wants to merge 2 commits into
masterfrom
gsobol/ci/lazy-pages-leak-timeout
Closed

ci(nextest): demote gear-lazy-pages leak detection to non-fatal#5513
grishasobol wants to merge 2 commits into
masterfrom
gsobol/ci/lazy-pages-leak-timeout

Conversation

@grishasobol
Copy link
Copy Markdown
Member

Summary

  • gear-lazy-pages tests sporadically trip LEAK-FAIL on the build / unix / macos-aarch64 (debug) job even though every test passes its assertions (e.g. https://github.com/gear-tech/gear/actions/runs/26409463111/job/77745159307).
  • Reproduced on trivial tests like pages::tests::end_offset — pure arithmetic, no I/O. The test function returns in <20ms but the binary process does not close its stdout/stderr handles within nextest's default 5s leak window, so nextest marks the run leaky.
  • The crate pulls in wasmer-vm and (on Apple Silicon) the mach exception-ports plumbing; their teardown at process exit can exceed 5s on a busy GHA runner. Same shape as the ethexe-service flake fixed in 4857095.
  • Mitigation: 10s leak window with result = pass for gear-lazy-pages. Leaks still surface in nextest output for inspection but no longer fail the run.

Test plan

  • CI green on this branch
  • No regression in real lazy-pages test signal (assertion failures, panics) — those are not affected by leak-timeout and will still fail the run

🤖 Generated with Claude Code

gear-lazy-pages tests trip LEAK-FAIL on macos-aarch64 (Apple Silicon)
debug runs even though every test passes its assertions. Reproduced on
trivial tests like pages::tests::end_offset that do nothing but
arithmetic: the test function returns in <20ms but the binary process
does not close its stdout/stderr handles within nextest's default 5s
leak-timeout, so nextest marks it leaky.

The crate pulls in wasmer-vm and (on Apple) the mach exception-ports
plumbing. Their teardown at process exit can exceed 5s on a busy GHA
runner; this is the same shape as the ethexe-service flake fixed in
4857095.

Same mitigation: 10s leak window with result = pass for gear-lazy-pages.
Leaks still surface in nextest output for inspection but no longer
fail the run.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses intermittent CI failures in the gear-lazy-pages package caused by false-positive leak detection in nextest. Due to slow teardown of dependencies like wasmer-vm on macOS runners, the default 5-second leak window was being exceeded. The changes extend this window to 10 seconds and demote leak failures to non-fatal, ensuring that actual test assertions remain the primary indicator of success or failure.

Highlights

  • CI Configuration Update: Modified .config/nextest.toml to adjust leak detection settings for the gear-lazy-pages package.
  • Leak Detection Mitigation: Increased the leak timeout to 10 seconds and set the result to 'pass' for gear-lazy-pages to prevent false-positive test failures on busy CI runners.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the .config/nextest.toml configuration file to add a test profile override for the gear-lazy-pages package. Specifically, it increases the leak timeout period to 10 seconds and sets the result to pass. This change addresses occasional test failures on busy Apple Silicon runners caused by the teardown of wasmer-vm and mach exception ports exceeding the default leak window. I have no feedback to provide as there are no review comments.

Updated comment to clarify wasm execution VM behavior.
@breathx
Copy link
Copy Markdown
Member

breathx commented May 29, 2026

Not actual after #4860

@breathx breathx closed this May 29, 2026
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