Skip to content
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

ringleader hanging #25

Closed
danrabinowitz opened this issue Apr 1, 2013 · 14 comments
Closed

ringleader hanging #25

danrabinowitz opened this issue Apr 1, 2013 · 14 comments

Comments

@danrabinowitz
Copy link
Contributor

Ringleader's been hanging on me frequently for the past few weeks.

When I try to stop an app, or when stops after idle_timeout, it freezes at this line of code: https://github.com/aniero/ringleader/blob/master/lib/ringleader/process.rb#L195

CTRL-c doesn't cancel. I have to kill -9 ringleader.

It behaved fine before (roughly) this commit:
https://github.com/aniero/ringleader/commit/27639b4e9972ceba7a7a8d148eed45eb1c3a9043

Anyone else having this issue?

@MikeSilvis
Copy link

i noticed ringleader hanging and even with:

kill_with: INT

It still behaves oddly forcing me to kill -9 my apps individually to get them to start back up in ringleader.

@zerowidth
Copy link
Owner

This has been discussed in the (closed, un-reopenable) PR #22 . The latest alpha release (1.1.5.pre0) locks sys-proctable to 1.9.1, which should be ok.

cc @tapajos

@zerowidth
Copy link
Owner

oh also cc @wengzilla

@tapajos
Copy link
Collaborator

tapajos commented Apr 3, 2013

@aniero 1.1.5.pre0 is working well here.

@danrabinowitz
Copy link
Contributor Author

Here too.

@tapajos
Copy link
Collaborator

tapajos commented Apr 5, 2013

@aniero,

Using this new version I'm getting this error very offen:

ERROR 10:56:01.045796 | Ringleader::App crashed!
Errno::EMFILE: Too many open files - pipe
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.12.1/lib/celluloid/io/reactor.rb:16:in `new'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.12.1/lib/celluloid/io/reactor.rb:16:in `initialize'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.12.1/lib/celluloid/io/mailbox.rb:10:in `new'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-io-0.12.1/lib/celluloid/io/mailbox.rb:10:in `initialize'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.12.4/lib/celluloid.rb:171:in `new'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.12.4/lib/celluloid.rb:171:in `block in mailbox_class'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.12.4/lib/celluloid.rb:204:in `call'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.12.4/lib/celluloid.rb:204:in `mailbox_factory'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.12.4/lib/celluloid.rb:225:in `actor_options'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.12.4/lib/celluloid.rb:100:in `new'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/ringleader-1.1.5.pre0/lib/ringleader/app.rb:96:in `proxy_to_app'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.12.4/lib/celluloid/calls.rb:53:in `public_send'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.12.4/lib/celluloid/calls.rb:53:in `dispatch'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.12.4/lib/celluloid/actor.rb:327:in `block in handle_message'
/Users/tapajos/.rvm/gems/ruby-1.9.3-p392/gems/celluloid-0.12.4/lib/celluloid/tasks/task_fiber.rb:24:in `block in initialize'

@zerowidth
Copy link
Owner

@tapajos Looks like you're not on the latest. Celluloid 0.13.0 is the latest dependency, and I also changed where the socket proxying happens so only one IO reactor per app is used, instead of one reactor per connection. This should drastically cut down on the number of file handles ringleader uses.

@tapajos
Copy link
Collaborator

tapajos commented Apr 5, 2013

@zerowidth
Copy link
Owner

I tell you what really helps: pushing code to github after writing it. Try now...

@tapajos
Copy link
Collaborator

tapajos commented Apr 5, 2013

@aniero ha ha ha

@tapajos
Copy link
Collaborator

tapajos commented Apr 5, 2013

I will test it now!!!

@tapajos
Copy link
Collaborator

tapajos commented Apr 5, 2013

@aniero I generated a new version locally and seems it is ok now. Can you release a new beta?

@zerowidth
Copy link
Owner

I'll release a new beta once I test celluloid 0.13.1!

@zerowidth
Copy link
Owner

ringleader 1.1.5.pre1 is released.

The hanging bug should be fixed now, as is an error we found in celluloid re: unhandled and un-rescuable IO errors with prematurely-closed sockets.

There may still be an issue with reel, per celluloid/reel#33, but it's been running fine for me. Let me know if there are any problems, either with proxying or with the web interface.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants