Skip to content

fix(server): skip Linux libc detection on Windows/macOS - #5354

Open
bkntr wants to merge 1 commit into
pingdotgg:mainfrom
bkntr:bugfix/windows-slow-startup
Open

fix(server): skip Linux libc detection on Windows/macOS#5354
bkntr wants to merge 1 commit into
pingdotgg:mainfrom
bkntr:bugfix/windows-slow-startup

Conversation

@bkntr

@bkntr bkntr commented Aug 4, 2026

Copy link
Copy Markdown

What Changed

Only detect the host Linux libc when the server is actually running on Linux.

Tried to keep the actual change as minimal as possible. Apologies if the unit test is slop, I am not a ts developer.

Why

The resource-monitor binary resolver unconditionally evaluated ResourceMonitorHostLinuxLibc. Its default implementation calls process.report.getReport(), even though the result is ignored when selecting a non-Linux resource-monitor binary.

On my Windows ARM64 machine (I built ARM64 from source), this unused call took approximately 154.4 seconds, which exceeded the 60 second backend readiness check timeout and resulted in the gui never showing. After the fix the app started quickly.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Low Risk
Small, platform-gated change in binary resolution; Linux libc behavior is unchanged when platform === "linux".

Overview
Fixes slow or failed server startup on Windows (and macOS) by not running Linux libc detection when resolving the resource-monitor binary on non-Linux hosts.

ResourceMonitorBinary.make() now only evaluates ResourceMonitorHostLinuxLibc when platform === "linux". Previously it always ran the default detector, which calls process.report.getReport()—unnecessary for Windows/macOS binary selection and reportedly very slow on Windows ARM64 (e.g. exceeding readiness timeouts). resourceMonitorRustTarget now accepts an optional linuxLibc for that path.

A new test stubs process.report.getReport to throw on a mocked win32 host and asserts it is never called while override resolution still succeeds.

Reviewed by Cursor Bugbot for commit 8475e3c. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Skip Linux libc detection on Windows and macOS in ResourceMonitorBinary

On non-Linux platforms, resourceTelemetry.resourceMonitorBinary.make no longer attempts to obtain ResourceMonitorHostLinuxLibc. The linuxLibc parameter in resourceMonitorRustTarget is now optional, and is only populated when platform === "linux".

Macroscope summarized 8475e3c.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 65ddbb6d-0a93-4c8f-99f9-75f88a812f37

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 4, 2026
@macroscopeapp

macroscopeapp Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved 8475e3c

Straightforward bug fix that conditionally skips Linux-specific libc detection on non-Linux platforms. The change is safe since linuxLibc is only used in the Linux branch of resourceMonitorRustTarget(), and the fix includes appropriate test coverage.

You can customize Macroscope's approvability policy. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant