Skip to content

Fix signedness typo in world range update #58390

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 13, 2025
Merged

Fix signedness typo in world range update #58390

merged 1 commit into from
May 13, 2025

Conversation

Keno
Copy link
Member

@Keno Keno commented May 12, 2025

This manifested itself as a missing invalidation downstream, but I don't know if this is visible from Base. In general, we don't set the InferenceState's max_world to typemax(UInt), but rather to the maximum world age at start of inference, and then we check at the end of inference if the world age is still the same, and only then raise it to typemax(UInt) (which arms the backedges). The downstream setup is a bit more complex, and I don't entirely know where this leaked out, but this change fixed it regardless.

This manifested itself as a missing invalidation downstream, but I don't know
if this is visible from Base. In general, we don't set the InferenceState's
max_world to `typemax(UInt)`, but rather to the maximum world age at start
of inference, and then we check at the end of inference if the world age
is still the same, and only then raise it to `typemax(UInt)` (which
arms the backedges). The downstream setup is a bit more complex, and
I don't entirely know where this leaked out, but this change fixed
it regardless.
@Keno Keno added the backport 1.12 Change should be backported to release-1.12 label May 12, 2025
Keno added a commit to JuliaComputing/DAECompiler.jl that referenced this pull request May 12, 2025
@Keno Keno added the embarrassing-bugfix Whoops! label May 12, 2025
Copy link
Member

@vtjnash vtjnash left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still think we should revert this part of the commit as not logical and not correctly implemented

@Keno Keno merged commit f0a8dd8 into master May 13, 2025
6 of 9 checks passed
@Keno Keno deleted the kf/worldageuinttypo branch May 13, 2025 17:01
@Keno
Copy link
Member Author

Keno commented May 13, 2025

I'll catch you separate to figure out how to do that properly, but in the meantime, I'll merge this to fix the bug.

Keno added a commit to JuliaComputing/DAECompiler.jl that referenced this pull request May 13, 2025
KristofferC pushed a commit that referenced this pull request May 20, 2025
This manifested itself as a missing invalidation downstream, but I don't
know if this is visible from Base. In general, we don't set the
InferenceState's max_world to `typemax(UInt)`, but rather to the maximum
world age at start of inference, and then we check at the end of
inference if the world age is still the same, and only then raise it to
`typemax(UInt)` (which arms the backedges). The downstream setup is a
bit more complex, and I don't entirely know where this leaked out, but
this change fixed it regardless.

(cherry picked from commit f0a8dd8)
@KristofferC KristofferC mentioned this pull request May 20, 2025
58 tasks
@KristofferC KristofferC removed the backport 1.12 Change should be backported to release-1.12 label Jun 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants