GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||
GeezerVison is showing github.com — fix(scanner): inspect only the scanned server's tools, keep peers as index context by Dumbris · Pull Request #1812 · smart-mcp-proxy/mcpproxy-go Conversation
Member
SummaryCloses #1724 (core at >100% CPU while idle, battery drain). Root cause. The per-tool change-gate scan ( Fix. Measured.
Peer collection ( Test plan
🤖 Generated with Claude Code
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions…index context (#1724) The per-tool change-gate scan (trust_mode: scan approval and the manual-mode hold evidence) fed every other connected server's tools to the detect engine as cross-server context, and Engine.Scan then ran every check — the phrase and bundle regex detection included — over the whole fleet for each held tool, discarding the peer findings afterwards. Every discovery pass rescans every still-held tool, so an install with a few hundred tools and a few dozen held changes burned tools x fleet every 5 minutes: 471 tools, 108 held, ~11 minutes at 100% CPU per pass on the reporting machine. detect.NewScopedRegistryView(targets, peers) puts only the targets in the scan set and indexes peers into ToolsByName/ToolNames, which is the only way a check (Shadowing) ever reads them. Target findings are identical to a full view's; peers are no longer normalized or inspected. Both scanner entry points (ScanToolMetadataVerdict, detectEngineFindings) use it. One held-tool scan against a 470-tool fleet: ~3 s -> ~5 ms (BenchmarkScanToolMetadataVerdict_PerToolWithPeers). Co-Authored-By: Claude Fable 5.1 <[email protected]>
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
Dumbris
enabled auto-merge (squash)
Contributor
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. Uh oh!
There was an error while loading. Please reload this page.
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
4 tasks done
Dumbris
added a commit
that referenced
this pull request
…1816) ## Summary - `TestWaitForURL_BoundLate` reserved `127.0.0.1:0`, closed it, then re-bound 400 ms later. On CI another process/test took the port first (`bind: address already in use`, seen on #1812), failing the E2E job. - `NeverBound` and `ContextCanceled` used the same reserve-and-release pattern and could pass/fail spuriously if a stray listener took the port. - Fix: drive `WaitForURLWithDial` with a dial func that refuses (ECONNREFUSED) until a deadline. `BoundLate` holds its listener for the whole test so the port can't be stolen; the other two use no real port. Portable across darwin/linux/windows (cross-vet clean). `WaitForURL` itself is unchanged, so no CHANGELOG entry. ## Test plan - [x] `go test -race -count=50 -run TestWaitForURL ./internal/upstream/launcher/` - [x] `go test -race ./internal/upstream/launcher/` - [x] `golangci-lint run --config .github/.golangci.yml ./internal/upstream/launcher/` — 0 issues - [x] `GOOS=windows go vet`, `GOOS=linux go vet` 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Fable 5.1 <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ReviewersNo reviewsUh oh!
There was an error while loading. Please reload this page. AssigneesNo one assignedLabels
None yet
ProjectsMilestoneNo milestoneDevelopmentSuccessfully merging this pull request may close these issues. [bug] Hi, I noticed today that mcp proxy is using very high CPU (>100%) even when idlUh oh!
There was an error while loading. Please reload this page. Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later. | ||||||||||||||||||||
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |