-
Notifications
You must be signed in to change notification settings - Fork 66
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
Child processes hang and won't die under Ruby 1.9 #11
Comments
confirmed, works doesn't work, it's just hangs there forever |
I'm not sure if this is related, but I've found that whenever I start my Sinatra app using Shotgun, the first request hangs indefinitely. After I hit refresh everything works fine, but when I try to kill webrick it hangs at "going to shutdown ..." until I open up Activity Monitor and manually kill the Ruby process(es). This doesn't happen when I use rackup, so I assume the problem is with Shotgun. (Ruby 1.9.1p376, Shotgun 0.6) |
This seems to be due to Marshal causing a deadlock. Like grant said, it's just that first request that deadlocks... if I kill that request, the server shuts down normally. Also, the forked parent PID is the main parent PID for subsequent requests, so I don't think the child is accepting connections. |
I think this is the issue causing it for me: |
Maybe the simplest solution is to add some logic to prevent shotgun from firing up Webrick when it detects Ruby 1.9? |
here with Shotgun 0.8 and Ruby 1.9 the application dont works, results on load error (cant find the file of my app) |
+1 it cannot load my app file when using Webrick or Thin on Ruby 1.9.2-p0 with Shotgun 0.8 and Sinatra 1.1.0. Backtrace: '
|
Aha, correction, this has been fixed in issue http://github.com/rtomayko/shotgun/issues/closed#issue/22 and this is a duplicate, at least for my problem. Installing the gem via git worked like a charm :) |
The LoadError related issues should be fixed. Could those of you that were having issues on the first request give 0.9 a try and see if that fixes anything for you? |
We assume this is no longer an issue. Please file a new issue if it is. Thanks. |
Running under Ruby 1.9 w/ webrick, the child processes are hanging pretty much immediately after fork. I think the issue may be that the child processes still have the parent process's accept socket open and so children are getting requests. Needs more research.
The text was updated successfully, but these errors were encountered: