burke / zeus

Boot any rails app in under a second.
MIT License
3.33k stars 231 forks source link

Better debugger(redirecting errors from rails) #626

Open artemgurzhii opened 7 years ago

artemgurzhii commented 7 years ago

Running zeus start

slavenode.go:215: [boot] read unix ->: EOF
exit status 7

Running rails server

Could not find x-0.0.1 in any of the sources
Run `bundle install` to install missing gems.
sideshowcoder commented 7 years ago

Yes this is quite annoying and sadly has been a longer standing problem #555 and #617 are related to this. Any help is highly welcome!

artemgurzhii commented 7 years ago

@sideshowcoder As I understand there is no way to redirect errors from rails s as you not using it, so the only way is to actually throw same errors as rails s would?

sideshowcoder commented 7 years ago

Well the problem in this case is actually that the error is thrown way earlier when the gems are loaded, zeus breaks up the boot process in a tree like structure (the one you see on the console) so what is happening here is that the default_env fails to boot due to missing / incorrect gems, this means we never actually get to a point where we then fork an environment where we run commands agains (aka test or development). It would be valuable so to catch those kind of boot errors and surface them to the developer.

sideshowcoder commented 7 years ago

You can actually see those errors when passing --log mylogfile.txt this should probably be surfaced easier.

kurko commented 5 years ago

Actually the log doesn't output this problem.

2019/05/13 16:30:43.549511 [/Users/phil/Source/go/src/github.com/burke/zeus/go/processtree/slavenode.go:135] boot/(8328) initialized slave boot with pid 8328 from parent 0
2019/05/13 16:30:43.549589 [/Users/phil/Source/go/src/github.com/burke/zeus/go/processtree/slavenode.go:152] boot/(8328) entering state SBooting
2019/05/13 16:30:43.795722 [/Users/phil/Source/go/src/github.com/burke/zeus/go/processtree/slavenode.go:158] boot/(8328) entering state SCrashed
2019/05/13 16:30:43.795843 [/Users/phil/Source/go/src/github.com/burke/zeus/go/processtree/slavenode.go:158] default_bundle/(no PID) entering state SCrashed
2019/05/13 16:30:43.795884 [/Users/phil/Source/go/src/github.com/burke/zeus/go/processtree/slavenode.go:158] development_environment/(no PID) entering state SCrashed
2019/05/13 16:30:43.795915 [/Users/phil/Source/go/src/github.com/burke/zeus/go/processtree/slavenode.go:158] prerake/(no PID) entering state SCrashed
2019/05/13 16:30:43.796010 [/Users/phil/Source/go/src/github.com/burke/zeus/go/processtree/slavenode.go:158] test_environment/(no PID) entering state SCrashed
2019/05/13 16:30:43.796037 [/Users/phil/Source/go/src/github.com/burke/zeus/go/processtree/slavenode.go:158] test_helper/(no PID) entering state SCrashed
2019/05/13 16:30:43.799331 [/Users/phil/Source/go/src/github.com/burke/zeus/go/processtree/slavenode.go:402] boot/(8328) root process exited with an error before it could boot: exit status 7; output was:

Notice that it ends in output was: and nothing it output. Running bundle exec rails s raises the following though

Could not find byebug-10.0.2 in any of the sources
Run `bundle install` to install missing gems.