Skip to content
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

Revert "Subtype: avoid false alarm caused by eager forall_exists_subtype. (#48441)" #49859

Closed
wants to merge 1 commit into from

Conversation

kpamnany
Copy link
Contributor

Closes #49857.

This reverts commit 2a2068d2677eae3fe2101c89f9ed6c98e51f3a62 which was from PR #48441. Removing this fixes the freeze but since #48441 fixed #40865, merging this will reopen that issue.

It's probably safe to say that a freeze is worse than an error but we're open to discussion for how to best resolve this. Cc: @AzamatB

Please note that #49857 means that 1.9.0 is broken for us and unless all commits affecting subtype.c up to and including 280f9993608956f76eac30fc85e1c6ebbca4f5e6 are backported, all of 1.9 is broken for us. Cc: @vtjnash and @N5N3, the author of #48441.

Cc: @KristofferC to confirm that I've opened the PR correctly to land it in 1.9.1 if it's merged.

Cc: @quinnj and @NHDaly

@kpamnany kpamnany requested a review from vtjnash May 17, 2023 16:39
@KristofferC
Copy link
Member

unless all commits affecting subtype.c up to and including 280f9993608956f76eac30fc85e1c6ebbca4f5e6 are backported, all of 1.9 is broken for us

Why is this the case?

@kpamnany
Copy link
Contributor Author

Why is this the case?

See the issue. We ran into this while testing with 1.9.0 -- a pretty basic call (create_database()) never returned due to this freeze.

@KristofferC
Copy link
Member

Yes, but why does "all commits to subtype.c have to be included" and not just the one that fixes the problem?

@kpamnany
Copy link
Contributor Author

Ah. Because I went 4 PRs deep in trying to get the fix commit to apply and was still getting merge conflicts. It's certainly possible that someone who knows subtype.c better can reduce the needed commits -- it was looking like over a dozen commits needed to me.

@KristofferC
Copy link
Member

Maybe @N5N3 can give some input.

@NHDaly
Copy link
Member

NHDaly commented May 17, 2023

@kpamnany's comment above was also based on this discussion with @vtjnash on slack:

@vtjnash: Ah, that might be tricky. We had a lot of subtyping fixes like this on master, so we were planning not to backport most of them
[...]
@vtjnash: you might want to take the whole list of changes to subtype.c and try to apply all of them up to that commit
@kpamnany: I've instead tried to back out the breaking commit. There were only a couple of conflicts which seemed simple to resolve. It's building now.

Which is how we ended up here.

@N5N3
Copy link
Member

N5N3 commented May 17, 2023

Apparently, we get a Union explosion here, and 280f999 avoid that with separatable subtyping.
We can't just revert #48441 (#48441 was backported to fix the bug caused by #48221).
A better fix (if we don't want to backport 280f999 ) is to disable the slow path in local_forall_exists_subtype.

@kpamnany
Copy link
Contributor Author

A better fix (if we don't want to backport 280f999 ) is to disable the slow path in local_forall_exists_subtype.

It isn't that we don't want to backport it -- it depends on a previous commit, etc.

Could you please clarify disabling the slow path? Do what in this else block?

@N5N3
Copy link
Member

N5N3 commented May 18, 2023

Replacing if (noRmore || (limit_slow && (count > 3 || !sub))) above with if (noRmore || limit_slow) should be enough.

BTW, we’d better test #49014 in this PR.

@kpamnany
Copy link
Contributor Author

Please see #49875. I'll close this if that's a more acceptable solution.

@kpamnany kpamnany closed this May 18, 2023
@kpamnany kpamnany deleted the kp/fix-49857 branch May 18, 2023 18:52
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.

4 participants