Skip to content

[release-1.10] Avoid dropping call edges in presence of identical invoke edges#57079

Merged
topolarity merged 2 commits intoJuliaLang:release-1.10from
topolarity:ct/1.10-invalidation-bug
Jan 21, 2025
Merged

[release-1.10] Avoid dropping call edges in presence of identical invoke edges#57079
topolarity merged 2 commits intoJuliaLang:release-1.10from
topolarity:ct/1.10-invalidation-bug

Conversation

@topolarity
Copy link
Copy Markdown
Member

Backport of #57077 to Julia 1.10

The intermediate data structure here (used for edge de-duplication)
was accidentally recording `invoke` edges as if they were `call` edges.

This bug is _very_ frequently benign, but if there are identical call
and invoke edges in the edge list and the invoke edge is scanned first,
the call edge will be unsoundly dropped, leading to invalidation (JuliaLang#265)
bugs.
@topolarity topolarity changed the title [release-1.10] Avoid dropping call edge due to identical invoke edge [release-1.10] Avoid dropping call edges in presence of identical invoke edges Jan 17, 2025
@topolarity topolarity merged commit 0505c2e into JuliaLang:release-1.10 Jan 21, 2025
@topolarity topolarity deleted the ct/1.10-invalidation-bug branch January 22, 2025 05:12
@KristofferC KristofferC mentioned this pull request Mar 5, 2026
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