-
Notifications
You must be signed in to change notification settings - Fork 187
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
makeSharedShape() called on a shared shape #3179
Comments
No, because this means something was actually shared between threads but wasn't marked as shared beforehand, i.e. a bug in the sharing logic or a missing write barrier or possibly a race in the code like concurrent Hash mutation or so. The first backtrace line are But I don't see anything wrong there from a quick look. |
Okay. Maybe I've just misread the message. "makeSharedShape() can only be called on non-shared shapes" reads to me like the item was marked as shared from another thread and this one didn't see the update. |
That interpretation is fairly correct, we are seeing two threads racing to mark an object as shared. It is very similar to another error message we have:
This happened just a tiny bit later. |
I'm seeing this one on No idea what to make of it. |
@byroot So it likely means two threads are trying to share the same object at the same time, which is unexpected (TruffleRuby should avoid that situation). |
I was wondering if the original report was the same issue. |
Right, I saw 3 issues referencing the error, so I figured I wouldn't open an independent one. Thanks for the fix. |
I got a few similar exceptions in case the backtrace is useful.
|
I'm seeing this with increasing frequency running a rails app with puma and the latest GFTC dev build. Latest stack trace:
|
From that latest stracktrace, the top entry is https://github.com/bugsnag/bugsnag-ruby/blob/v6.26.3/lib/bugsnag/utility/circular_buffer.rb#L27 which is For the previous stacktrace, the top entry is https://github.com/rails/rails/blob/v7.1.3/actionview/lib/action_view/lookup_context.rb#L103. We're inside writing an ivar, so it must be the |
While running a Rails application under Puma I encountered
java.lang.UnsupportedOperationException: makeSharedShape() can only be called on non-shared shapes.
. I've seen this error pop up before, although likely under different circumstances. Can we make the sharing operation idempotent?The text was updated successfully, but these errors were encountered: