Skip to content

Conversation

@ksss
Copy link
Collaborator

@ksss ksss commented Jan 21, 2026

Although rare, there's a possibility of breaking references after GC.compact if a dynamic symbol happens to be interned into the constant pool.
To fix this issue, I've modified the code to copy the string and intern it as an owned type when a dynamic symbol is passed.
Additionally, we've written a test case that reproduces the problem.

@ksss
Copy link
Collaborator Author

ksss commented Jan 22, 2026

I found that even static symbols can have broken references starting from 4.0, so I fixed it to copy uniquely.

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