Skip to content

Memory: enforce JSON stringify heap-budget peak contract in CI #828

Description

@chrisbbreuer

Parent: #480. Related: #473, #722.

Current main 8e1e441d2f96867efc40da6cafcc6fbeed0f5476 fails the Linux Debug unit shard 2/4: context.test.heap_limit_bytes: JSON stringify bulk string runs fail atomically, at stats.peak_bytes <= stats.limit_bytes (src/context.zig:12280). Job result: 489 passed, 54 platform skips, 1 failed, 0 leaked; Zig 0.17.0-dev.1818 on the runner. The preceding 2182-pass/1-skip full local macOS Debug run did not reproduce it.

The first JavaScript atomic-failure assertion passed; the failing assertion is the peak-memory contract. BudgetAllocator currently permits a one-time grace after a recovery collection, and reports original limit_bytes separately from grace_granted_bytes. That is a source-level lead, not yet a reproduced root cause.

Acceptance:

  • Reproduce with allocator telemetry on the failing platform.
  • Reconcile/enforce the documented hard-limit contract without simply raising a cap, weakening the assertion, disabling collection, or hiding the failure.
  • Preserve atomic stringify publication and callback ordering.
  • Run focused OOM, allocator recovery, no-GIL/TSan and full unit coverage.

Keep #823/#824 open until terminal CI verification is resolved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions