Skip to content

tecnix: fix target result values getting GC'd mid-call - #51

Open
joshheinrichs-shopify wants to merge 1 commit into
mainfrom
fix-tecnix-result-gc
Open

tecnix: fix target result values getting GC'd mid-call#51
joshheinrichs-shopify wants to merge 1 commit into
mainfrom
fix-tecnix-result-gc

Conversation

@joshheinrichs-shopify

Copy link
Copy Markdown
Contributor

prim_tecnixTargets and the dependency path kept the only references to result Values in plain std::vector buffers, which Boehm GC does not scan. Recycled cells crashed at the ValueStorage::finish pdThunk unreachable ("Unexpected condition in ... finish(...)") or silently corrupted results. Root them in ValueVector / traceable_allocator storage. Regression test: tests/functional/tecnix/gc.sh.

prim_tecnixTargets and the dependency path kept the only references to
result Values in plain std::vector buffers, which Boehm GC does not
scan. Recycled cells crashed at the ValueStorage::finish pdThunk
unreachable ("Unexpected condition in ... finish(...)") or silently
corrupted results. Root them in ValueVector / traceable_allocator
storage. Regression test: tests/functional/tecnix/gc.sh.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant