-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
workaround for #40048, stack overflow in type intersection #41091
Conversation
This seems to fix the problem in MixedModels.jl, but tests will still fail on this because a deprecation in cc: @dmbates |
This patch also appears to work around the instance of #40048 that we've been hitting. Thanks Jeff! 🎉 |
b18f68b
to
9a98e39
Compare
This was added to avoid unreliable computations in method-ambiguity detection that was making Base tests fail periodically (it seemed they would fail most often on Windows, as most particularly cursed heisenbugs do). Is type-intersection now accurate enough to avoid those cases? |
I don't know, but the failures in #40048 seem to be a larger problem. Maybe the failures I triggered in #39722 (comment) are a more consistent version of the heisenbug? |
9a98e39
to
45eea5d
Compare
@nanosoldier |
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. cc @maleadt |
@nanosoldier |
Your package evaluation job has completed - possible new issues were detected. A full report can be found here. cc @maleadt |
Looks like at least Gtk and Theta are related? |
I could not reproduce them locally. Looks like a general memory corruption kind of issue, but I guess I can't rule out the PR as a cause completely. |
I can't repro locally either. |
@nanosoldier |
This is yet another case where we end up creating circular variable constraints inside intersection. I have tried some approaches to fixing it, but so far it is proving tricky to both fully avoid the problem and preserve precision.
For some reason this call site has tended to lead to these sorts of tricky intersection cases, and does not seem to be 100% necessary, so I propose disabling it for now.