-
Notifications
You must be signed in to change notification settings - Fork 11
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
Experiencing frequent crashing with 1.1.5 #28
Comments
This is known issue, per recent discussion in #celluloid. Sounds like @halorgium's working on a fix but it's not there yet. |
Found it: celluloid/celluloid-io#23. Closing until upstream gets a fix. |
@zerowidth @wengzilla I would appreciate confirmation of whether that PR fixes the issue. |
@wengzilla mind giving that PR on celluloid-io a try? I don't have a decent enough environment running right now in which I could test this. @halorgium unfortunately I don't know yet of a simple way of triggering this, it just seemed to happen on (some) high volume of requests. I've tried causing it with ab and similar, but the only way I reliably saw it was with a high-volume workload on a real set of apps at my previous job. If you've got any ideas, I'm happy to try 'em out... |
@zerowidth you can trigger it if you fill the kernel buffers, which isn't super efficient to do. @tarcieri should we worry too much the regression test? It is a somewhat hot code path, but the change is not specifically tested. |
Gah, I suck at commenting. @halorgium, how hard is it to reproduce the "fill the kernel buffers" case? I'm less worried about efficiency than having a reproducible load test on ringleader. |
@zerowidth doing lots of big async writes. |
Definitely not an opensource gem building guru, so I probably missed a step... What do I need to do to test this out?
NoMethodError: undefined method |
Sorry, this is a bit of a versioning snafu on our part... celluloid 0.14.1 probably should've been 0.15. You're running an out-of-date version of celluloid-io (0.14.0) which is incompatible with Celluloid 0.14.1. Please try the gem releases of both celluloid 0.4.1 and celluloid-io 0.14.1. |
Got it to work with celluloid and celluloid-io both on version 0.14.1, but still seeing the selector issue... Will continue to try to use for today and tomorrow and see if the error is persistent. ERROR 16:02:15.535417 | Ringleader::App crashed! |
@halorgium do you think this should be fixed on master? |
Trying to fix this upstream: |
@zerowidth - I just tried upgrading to the latest ringleader, but have been experiencing a bunch of crashes on regular page requests... On the plus side, the hanging issue (Issue #25) is not affecting me. See below:
ERROR 14:34:52.137634 | Ringleader::App crashed!
ArgumentError: this IO is already registered with selector
/Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io/reactor.rb:42:in
register' /Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io/reactor.rb:42:in
wait'/Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io/reactor.rb:26:in
wait_writable' /Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io.rb:47:in
wait_writable'/Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:36:in
wait_writable' /Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:66:in
rescue in block in syswrite'/Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:63:in
block in syswrite' /Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:399:in
synchronize'/Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:61:in
syswrite' /Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:356:in
do_write'/Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.14.0/lib/celluloid/io/stream.rb:249:in
write' /Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/ringleader-1.1.5/lib/ringleader/app.rb:139:in
copy_stream'/Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/ringleader-1.1.5/lib/ringleader/app.rb:139:in
proxy' /Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.14.0/lib/celluloid/calls.rb:25:in
public_send'/Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.14.0/lib/celluloid/calls.rb:25:in
dispatch' /Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.14.0/lib/celluloid/calls.rb:125:in
dispatch'/Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.14.0/lib/celluloid/actor.rb:328:in
block in handle_message' /Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.14.0/lib/celluloid/tasks.rb:42:in
block in initialize'/Users/edwardweng/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.14.0/lib/celluloid/tasks/task_fiber.rb:9:in `block in create'
The text was updated successfully, but these errors were encountered: