You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue was generated automatically by Claude Code (Anthropic's AI coding agent) running a scheduled CI-triage routine on behalf of @FrankChen021. Analysis and suggested fixes are AI-produced; please verify before acting on them.
Status: Resolved by #20457 Subject:AllocationMetricCollectorTest.testDelta (processing, unit tests (25, M*,A*,V*,W*)) Failures: 2 · First seen: 2026-09-29 · Last seen: 2026-09-30
Root cause
Line 61 asserts that the summed per-thread allocation delta exceeds threads * 100000 * 16 bytes. The test assumes every new Object() in the worker loop is heap-allocated at 16 bytes. The list holding them is never read, so once the lambda is hot, C2 escape analysis can scalar-replace those allocations. The bound then fails, and it keeps failing on in-fork reruns because the code is already JIT-compiled. The failing commit (#20310) only changes StringUtils charset handling, and the test passed on the other six master runs that day, including the next commit.
Suggested fix
Make the allocations observable: publish each worker's list to a shared volatile field or collection, or allocate byte[] of known size and keep a reference. Also assert against a conservative fraction of the expected size rather than an exact lower bound. #20457 (merged 2026-10-01) retains the allocations.
Occurrences
Failed push-triggered master jobs only. The daily triage routine adds one row per new failed job.
Activity
FrankChen021 commentedon Oct 1, 2026
Failed again on 2026-09-30: 443688f (#20377) job 109649745126, line 61 delta assertion false on all 4 attempts. Fix PR #20457 is open.