-
-
Notifications
You must be signed in to change notification settings - Fork 925
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
DynamicScope sizeError #4516
Comments
@snowp wow we want to get this one fixed. Any chance you can get a snippet we can see this fail locally? |
The code that triggered it uses a job framework in our in-house Java service container, so most of this code can't be shared. I'll try to simulate what it does in some code, but might be tricky. I'll also note that this happened today for the first time on one of our staging boxes today, and we've probably done around 30-40 deploys a day with 9.1.7.0 since it came out, making this a pretty rare occurrence. That said it's a pretty gnarly bug when it happens so it's still pretty serious. |
Can you get us the entire method surrounding that block? The error you're getting basically means that we allocated a single-slot scope for the method+closure and then it turned out to need more than one slot. Normally I'd suspect our compiler, but with Java integration in the mix it's possible something there is messing it up as well. Like @enebo says, we very much want to fix this for our 9.1.8.0 release next week. High prioritiy, so any information you can provide would be a great help. |
Looks like I was slightly off what line the error seemed to occur on:
This is basically what I referred to as Let me know if theres anything else I can provide. |
The full stack trace (or at least the top 10-20 frames of it) would also be very helpful. You may need I'm leaning toward this being a peculiar IR bug, but I don't see anything in this code that should trip up the compiler. |
Other notes:
We might be able to sit on our hands and hope this is fixed by @enebo's work in 9.1.8.0 to fix block jitting concurrency issues. If you are able to reprouduce it in any way, you might try doing so on a snapshot of 9.1.8.0 tomorrow or over the weekend. At this point, unless it's already fixed, this probably won't make 9.1.8.0. |
That sounds good to me. I haven't been able to reproduce it since that one time, but I'll give it a shot this weekend. |
@headius we still have an occurrence of this with close to 100% likelihood. I will try to create a less complex reproducer for this, admittedly the one I have in that issue isn't very straight forward yet. |
Saw this appear in our exception monitoring:
org.jruby.runtime.scopes.DynamicScope1 only supports scopes with 1 variables
The code in question that fails looks something like this:
where items is a Java collection. Failure happens while trying to evaluate the block (
JavaLang.each
is the first Java line in the call stack).From the logs it looks like the same call site will keep failing with that exception until the app is restarted, so guessing either the call site or
DynamicScope1
is in a bad state. I'll note that this is happening in the same jobs that caused me to file an issue about another race condition during DynamicScope generation last year, so this might be related to that.I'm gonna be digging into this issue, but would love to see if anyone has any ideas.
The text was updated successfully, but these errors were encountered: