From d1fd323043b6cb299c01854f4a7378e8debba83d Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Fri, 25 Sep 2026 10:27:39 +0700 Subject: [PATCH] The destroyed-allocator trap is recorded as having no site --- TODO.org | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TODO.org b/TODO.org index f9fc4f1d..40382148 100644 --- a/TODO.org +++ b/TODO.org @@ -1274,7 +1274,8 @@ No ordering of the frees fixes it: the container holds a pointer to the header. =arena-destroy= now frees the pages and the arena record and retires the allocator header — epoch bumped, procedure trapping as =DestroyedAllocator=, never freed — so the stale check reads live memory on every side that makes it. -Rules out freeing the header while any container may hold it. See +Rules out freeing the header while any container may hold it. The +=DestroyedAllocator= trap prints no site: the allocator procedure is given none. See docs/BUILT.md, "Three amendments to a frozen spec". ** DONE Map removal costs a backward-shift loop