Closed suan closed 10 years ago
Which ruby version are you running? I never saw this bug.
It see it fails here: https://github.com/ysbaddaden/prax/blob/unstable/lib/prax/application.rb#L97
Maybe it's Process.spawn
or maybe it's related to realpath
or log_path
or socket_path
?
Hmmm, very interesting. The problem seems to be the combination of Process.spawn
and exec
. On both my Linux VM and Mac natively, when I do Process.spawn({}, 'exec <any command (such as ls)>')
in a Ruby 1.9.3 irb, I get a "Errno::ENOENT: No such file or directory" error.
However, I if I do the same in a 2.0.x irb, it works. I bet you're testing with Ruby 2.0 and up?
What was the intent behind having exec
at the beginning of the rackup command? I removed it and everything seems to work fine...
Process.spawn
creates a shell, and I'm using exec
to replace it for the Racker process, otherwise Prax::Monitor won't autokill instances: it kills the shell which leaves an orphaned Racker Process, when we wanted to kill the Racker process itself.
I guess I'll have to find another solution to support Ruby 1.9. Thanks for reporting!
Fixed in 55d49a0c0611c9fdaa2c7ab37f2e9e239e9a3d01
I have a stock-generated rails app which works fine on master but on unstable I get this. Any ideas? All my apps are seeing this behavior on unstable. I'm running Debian Wheezy