Skip to content

Conversation

dnut
Copy link
Contributor

@dnut dnut commented Sep 9, 2025

This change was originally motivated by a segfault we were seeing in replay. The stack trace pointed to the line of code that dereferences ancestors in freezeSlot. Turned out, ancestors wasn't related to the problem in any way and the stack trace was total nonsense. Anyway, we can still merge the improvement to ancestors.

Ancestors is a hashmap which requires memory allocations and makes you pass things around by pointer, which leads to mistakes. This is overkill. It can just be a bit set tracking some recent slots. No allocations are needed.

This switches the implementation to be a bit set.

@github-project-automation github-project-automation bot moved this to 🏗 In progress in Sig Sep 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🏗 In progress
Development

Successfully merging this pull request may close these issues.

1 participant