burke / zeus

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

Zeus 0.15.8 panic: runtime error: invalid memory address or nil pointer dereference #567

Closed benjie closed 8 years ago

benjie commented 8 years ago

Description of Problem

With zeus 0.15.8, zeus start crashes with panic: runtime error: invalid memory address or nil pointer dereference

zeus 0.15.4 works

System details

$ rails new blog
[... snip ...]
$ cd blog
$ zeus start
Starting Zeus server v0.15.8
[ready] [crashed] [running] [connecting] [waiting]
boot
└── default_bundle
    ├── test_environment
    │   └── test_helper
    └── development_environment
        └── prerake

Available Commands: [waiting] [crashed] [ready]
zeus test (alias: rspec, testrb)
zeus runner (alias: r)
zeus console (alias: c)
zeus server (alias: s)
zeus generate (alias: g)
zeus destroy (alias: d)
zeus dbconsole
zeus rake
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x0]

goroutine 9 [running]:
panic(0x41aca40, 0xc8200100f0)
        /Users/burke/.dev/go/1.6.2/src/runtime/panic.go:481 +0x3e6
created by github.com/burke/zeus/go/statuschart.ttyStart
        /Users/burke/src/github.com/burke/zeus/go/statuschart/tty.go:52 +0x49

screenshot 2016-06-30 17 03 05

Expected Behavior

No crash

metcalf commented 8 years ago

Ah @burke I think this is https://github.com/burke/ttyutils/pull/1. My best guess is that you built 0.15.4 with a version of Go that had a different struct memory layout that didn't trigger this latent bug. When you built 0.15.8, you had probably updated Golang on your machine and thus built a binary that includes this bug.

burke commented 8 years ago

Yep, I built 0.15.8 with go 1.6.2. Perhaps I should yank 0.15.8?

burke commented 8 years ago

btw, I can give you rubygems push access if you want it.

metcalf commented 8 years ago

Sure! I'm ametcalf on rubygems. I'll have a PR incoming to update ttyutils and bump the version.

metcalf commented 8 years ago

@benjie: published 0.15.9, please tell me if you still encounter problems!

latortuga commented 8 years ago

@metcalf just installed this myself and I get an immediate exit status 1 on linux whereas, no other changes, 0.15.4 works fine. Troubleshooting tips?

$ zeus start
Starting Zeus server v0.15.9
[ready] [crashed] [running] [connecting] [waiting]
boot
└── default_bundle
    ├── development_environment
    │   └── prerake
    └── test_environment
        └── test_helper

Available Commands: [waiting] [crashed] [ready]
zeus destroy (alias: d)
zeus dbconsole
zeus rake
zeus runner (alias: r)
zeus console (alias: c)
zeus server (alias: s)
zeus generate (alias: g)
zeus test (alias: rspec, testrb)
exit status 1

$ gem uninstall zeus -v 0.15.9
Successfully uninstalled zeus-0.15.9
$ zeus start                                                                                                                                                                                          
Starting Zeus server v0.15.4
[ready] [crashed] [running] [connecting] [waiting]
boot
└── default_bundle
    ├── development_environment
    │   └── prerake
    └── test_environment
        └── test_helper

Available Commands: [waiting] [crashed] [ready]
zeus rake
zeus runner (alias: r)
zeus console (alias: c)
zeus server (alias: s)
zeus generate (alias: g)
zeus destroy (alias: d)
zeus dbconsole
zeus test (alias: rspec, testrb)
metcalf commented 8 years ago

@burke: can you do the output from zeus --log /dev/stderr start? I want to make sure we're seeing the same things.

latortuga commented 8 years ago
2016/06/30 17:05:15.487917 [/Users/andrew/code/go/src/github.com/burke/zeus/go/processtree/slavenode.go:384] boot/(no PID) root process exited with an error before it could boot: exit status 1; output was: /home/drew/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/zeus-0.15.9/lib/zeus/rails.rb:17:in `require': cannot load such file -- zeus (LoadError)
        from /home/drew/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/zeus-0.15.9/lib/zeus/rails.rb:17:in `<top (required)>'
        from /home/drew/.rbenv/versions/2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require'
        from /home/drew/.rbenv/versions/2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require'
        from /home/drew/.rbenv/versions/2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
benjie commented 8 years ago

(I see you've pulled 0.15.9 due to similar issues)

staycreativedesign commented 7 years ago

I have a the same problem now 0.15.10