-
-
Notifications
You must be signed in to change notification settings - Fork 922
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
ThreadKill not handled by ThreadFiber #2773
Comments
Yes, we probably should just be handling it there, since it needs to propagate out of the fiber into the owning thread. |
If you can come up with a way to test this, it would be great. Perhaps something that spins up a bunch of threads with fibers and kills them. |
I'm not sure why/how the fibers are getting killed, actually. Running the Celluloid tests off of master or 0-16-stable fails pretty much every time on JRuby. The "probe_spec.rb" is pretty much what consistently causes this error (though the spec is complex as it is). It seems to be failing randomly in an "after" block - where celluloid is shut down (tasks are killed, etc.). There's a bit too much stuff there going on for me to create a simple failing example with JRuby. Though the Celluoid tests fail pretty much every time. I don't get the JRuby side of the threads are interrupted (the flags and stuff) to even being to find where it's failing on the Celluloid side (where the fibers are killed/interrupted). I thought about just catching the exception in JRuby and throwing any Ruby exception - just to get idea of where the exception is happening. I'm not even sure how to kill a fiber to begin with... |
I'll test the fix and let you know (building jruby-head will take a while). |
Cool! The tests now hang sometimes, but ... no crashes so far! I'm marking this as closed. Thanks, you're awesome! :) |
Celluloid tests are failing consistently on JRuby (jruby-1.7.19 and jruby-head from RVM) with stacks like the following:
On jruby-head it's:
Isn't
ThreadFiber.run
supposed to catch and handleThreadKill
?Let me know if I can debug further (though coming up with a specific short snippet may be hard).
The text was updated successfully, but these errors were encountered: