Repository navigation
Conversation
…K-1428) The peer probe charges name resolution against one per-URL budget and fetches the address it just resolved, but no test failed when either behavior was removed. Two tests now run the probe with a stubbed Bun.dns.lookup: one resolves RFC 6761 .invalid names to 127.0.0.1 and checks both requests reached that address, and one delays resolution and checks the HTTP phase only gets the remaining budget. The create shim oracle flake (Expected 71, Received 128) was bun test's 5 s default timeout firing on a loaded host: bun test SIGTERMs the running shim and the runner mapped the signaled exit to a bare 128. The fixture test file now sets a 60 s default, and the runner reports a signaled command as 128 plus its signal number. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…iter 3 s budget concurrent_claim_writers_serialize_without_overlapping_slots gave each of its eight writers a fixed 3 s budget to take the provider lease. A writer can wait behind seven fsync-backed critical sections, so a loaded host (load average ~190) expired the budget and panicked with provider_busy. The budget is now a named 120 s hang guard, and the test asserts serialization directly: the main thread holds the lease until every writer has been refused once, a shared counter fails E_TEST_CLAIM_LEASE_OVERLAP if two writers are inside the lease, and slots must still be unique. dead_witness_rejects_replacement_listener_and_changed_lock now fails fast with E_TEST_PUBLICATION_CHILD_EXITED when the publication child dies before publishing, like the other three child tests, instead of at the 3 s deadline. Refs HACK-1430 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…not calendar boot time On macOS the node job identity recorded `kern.boottime` as its boot. XNU moves that value whenever the wall clock is stepped, and `timed` steps it routinely, so a step between spawn and the timeout signal turned a normal timeout into "Owned child boot/start/UID/group identity mismatch; no signal sent." and a quarantine. The boot is now `kern.bootsessionuuid` (canonical lowercase UUID, the Darwin peer of Linux `boot_id`), read through a sysctl seam with no calendar fallback. The process start stays the kernel's fork-time `p_start` snapshot, which a clock step does not rewrite. `verify` refuses any recorded boot that is not a canonical UUID, so a receipt written before this change in the `seconds:micros` format never authorizes a signal. Tests cover a simulated clock step and boot-session change through the seam, the retired format, a pre-upgrade in-flight job under recovery, the rollback-journal race between check and open, and run_child's Gone-before-exit paths through an injected inspect. The restart contract test now judges the first receipt that names the child. Refs HACK-1429 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ndow Under load, `restart_does_not_own_or_duplicate_supervisor` failed once in 20 runs as quarantined with "Child termination deadline exceeded." Instrumentation showed the SIGTERM 1.5 s into the job and the first SIGKILL 4.4 s in: one supervisor pass stalled for about 2.8 s (CPU starvation, or a journal busy wait while the restarted node opened the database). The deadline check ran in the same pass as that SIGKILL, so a normal timeout was quarantined before the kill could settle. The termination deadline (timeout + 2 s from start) now also requires 2 s since the owner's first SIGTERM or SIGKILL. Each anchor is set once, so termination stays bounded. A child that is never signalled, for example one that reads as Gone forever, keeps the original deadline. Refs HACK-1429 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ery test's job lock Under load, a concurrent test thread's fork can share the dropped job-lock file until its exec closes the CLOEXEC descriptor, so the next schedule pass still saw the lock as held (2 failures in 30 loaded runs). The test now retries schedule for a bounded time. It still requires quarantine and an unsignalled child. Refs HACK-1429 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… timing out Job::new now returns only after the TERM-ignoring shell prints 'ready', which it does after 'trap '' TERM' is installed. Under CPU load the 50 ms timeout could otherwise SIGTERM the shell before the trap ran, killing it and failing the Gone-window and kill-branch tests that cover Authority::Exiting. Refs HACK-1429 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Integration gate for merge batch b58: origin/next + #484 (HACK-1428) + #485 (HACK-1430) + #486 (HACK-1429). Tree 736d6ef2. Closed after the batch squashes.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.