Skip to content

Add an #identityHash check to prevent the recursive image lockup that… - #19911

Open
pdebruic wants to merge 1 commit into
pharo-project:Pharo15from
pdebruic:7724-Infinite-recursion-upon-making-Sets-with-circular-references
Open

Add an #identityHash check to prevent the recursive image lockup that…#19911
pdebruic wants to merge 1 commit into
pharo-project:Pharo15from
pdebruic:7724-Infinite-recursion-upon-making-Sets-with-circular-references

Conversation

@pdebruic

@pdebruic pdebruic commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

…s possible with current #hash implementation

…s possible with current #hash implementation
@pdebruic

pdebruic commented Aug 2, 2026

Copy link
Copy Markdown
Contributor Author

For issue #7724

@Ducasse

Ducasse commented Aug 13, 2026

Copy link
Copy Markdown
Member

Thanks for the contribution. We will have a look at it.

@dionisiydk

Copy link
Copy Markdown
Contributor

It will not fix deep recursion:

a := #('A') asSet.
b := #('B') asSet.
b add: a.
a add: b.
a hash

@noha

noha commented Aug 15, 2026

Copy link
Copy Markdown
Member

Nothing will fix this case where Sets include Sets

@guillep

guillep commented Aug 17, 2026

Copy link
Copy Markdown
Member

Nothing will fix this case where Sets include Sets

Not fixing, but I'd like to avoid the freezing:

https://guillep.github.io/blog/2026-08-07-overflow/

A small tour of Pharo's stack, stack pages, recursion, and the surprisingly elegant way to make stack overflow less of a VM panic button.

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.

5 participants