Skip to content

Go-related panic all of a sudden #103

Closed
tsigo opened this Issue Sep 16, 2012 · 17 comments
@tsigo
tsigo commented Sep 16, 2012

I had a zeus instance humming along flawlessly for over 6 hours of development time (love it, by the way!) and then all of a sudden for seemingly no reason it started throwing this error:

panic: open /dev/ptmx: device not configured

goroutine 1 [running]:
github.com/burke/zeus/go/zeusclient.doRun(0x1, 0x1000000000, 0x23ff, 0x7fff5fbff901)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusclient/zeusclient.go:47 +0x221
github.com/burke/zeus/go/zeusclient.Run(0x7fff5fbff901, 0xf800000001)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusclient/zeusclient.go:25 +0x23
main.main()
    /Users/burke/go/src/github.com/burke/zeus/go/cmd/zeus/zeus.go:46 +0x3ff

goroutine 2 [syscall]:
created by runtime.main
    /private/tmp/bindist454984655/go/src/pkg/runtime/proc.c:221

goroutine 3 [syscall]:
os/signal.loop()
    /usr/local/go/src/pkg/os/signal/signal_unix.go:20 +0x1c
created by os/signal.init·1
    /usr/local/go/src/pkg/os/signal/signal_unix.go:26 +0x2f

Happens on every zeus <command> now. I don't know what caused it; I'm fairly certain a reboot will fix it, but I don't want to reboot just yet.

OSX, Zeus 0.11.0

@tsigo
tsigo commented Sep 16, 2012

Magically fixed itself. I think it was after several branch changes. I'll leave this open in case there's something you can do to prevent it/warn people, but otherwise feel free to close.

@burke
Owner
burke commented Sep 16, 2012

That's really weird. I can't even imagine what would cause that to happen. I'll keep it in mind next time I'm in that code, but I wouldn't know where to look to start debugging. Thanks for the report. Let me know if it happens again and I'll try to troubleshoot it.

@burke burke closed this Sep 16, 2012
@rogercampos

I'm also experiencing random crashes of zeus, a copy of the dump:

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x4 pc=0x80cb3cd]

goroutine 9480 [running]:
sync/atomic.CompareAndSwapUint32(0x4, 0x0, 0x1, 0xb748ef3b, 0xb748ef48, ...)
    /usr/local/go/src/pkg/sync/atomic/asm_386.s:13 +0xc
sync.(*Mutex).Lock(0x4, 0x807120b)
    /usr/local/go/src/pkg/sync/mutex.go:40 +0x39
github.com/burke/zeus/go/unixsocket.(*Usock).ReadMessage(0x0, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:121 +0x3d
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).handleMessages(0x18730d00, 0x12)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:343 +0x2e
created by github.com/burke/zeus/go/zeusmaster.(*SlaveNode).doCrashedOrReadyState
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:221 +0x95

goroutine 1 [chan receive]:
github.com/burke/zeus/go/zeusmaster.Run(0xbfa74501, 0x5)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:51 +0x311
main.main()
    /Users/burke/go/src/github.com/burke/zeus/go/cmd/zeus/zeus.go:37 +0x25e

goroutine 2 [syscall]:
created by runtime.main
    /usr/local/go/src/pkg/runtime/proc.c:221

goroutine 3 [syscall]:
os/signal.loop()
    /usr/local/go/src/pkg/os/signal/signal_unix.go:20 +0x1f
created by os/signal.init·1
    /usr/local/go/src/pkg/os/signal/signal_unix.go:26 +0x32

goroutine 4 [select]:
github.com/burke/zeus/go/zeusmaster.StartSlaveMonitor(0x1872a540, 0x1872de10, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavemonitor.go:48 +0x26f
created by github.com/burke/zeus/go/zeusmaster.Run
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:32 +0x167

goroutine 5 [select]:
github.com/burke/zeus/go/zeusmaster.StartClientHandler(0x1872a540, 0x1872dde0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/clienthandler.go:42 +0x1e3
created by github.com/burke/zeus/go/zeusmaster.Run
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:33 +0x188

goroutine 6 [select]:
github.com/burke/zeus/go/zeusmaster.StartFileMonitor(0x1872a540, 0x1872ddb0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/filemonitor.go:37 +0x19d
created by github.com/burke/zeus/go/zeusmaster.Run
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:34 +0x1a9

goroutine 7 [runnable]:
syscall.Syscall()
    /usr/local/go/src/pkg/syscall/asm_linux_386.s:33 +0x57
github.com/burke/ttyutils.ioctl(0x1, 0x5413, 0x18812f48, 0x20, 0x64, ...)
    /Users/burke/go/src/github.com/burke/ttyutils/ttyutils_linux.go:47 +0x41
github.com/burke/ttyutils.Winsize(0x18700080, 0x20, 0x0)
    /Users/burke/go/src/github.com/burke/ttyutils/ttyutils_linux.go:24 +0x63
github.com/burke/zeus/go/zeusmaster.(*StatusChart).lengthOfOutput(0x1872d360, 0x1, 0x1)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/statuslogger.go:123 +0x2b
github.com/burke/zeus/go/zeusmaster.(*StatusChart).draw(0x1872d360, 0x18729fc0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/statuslogger.go:104 +0x6b
github.com/burke/zeus/go/zeusmaster.StartStatusChart(0x1872a540, 0x1872dd80, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/statuslogger.go:70 +0x3d5
created by github.com/burke/zeus/go/zeusmaster.Run
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:35 +0x1ca

goroutine 8 [chan receive]:
github.com/burke/zeus/go/zeusmaster._func_005(0x18700380, 0x18700358, 0x18700360, 0x18700368, 0x18700370, ...)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:42 +0x33
created by github.com/burke/zeus/go/zeusmaster.Run
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:44 +0x2c4

goroutine 9 [chan receive]:
github.com/burke/zeus/go/zeusmaster._func_006(0x18700358, 0x18700360, 0x18700368, 0x18700370, 0x18700378, ...)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:47 +0x33
created by github.com/burke/zeus/go/zeusmaster.Run
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:49 +0x2f9

goroutine 10 [finalizer wait]:
created by runtime.gc
    /usr/local/go/src/pkg/runtime/mgc0.c:882

goroutine 11 [syscall]:
created by addtimer
    /usr/local/go/src/pkg/runtime/ztime_386.c:72

goroutine 12 [syscall]:
syscall.Syscall6()
    /usr/local/go/src/pkg/syscall/asm_linux_386.s:46 +0x27
syscall.EpollWait(0xf, 0x1879e008, 0xa, 0xa, 0xffffffff, ...)
    /usr/local/go/src/pkg/syscall/zerrors_linux_386.go:1780 +0x7d
net.(*pollster).WaitFD(0x1879e000, 0x1872cbd0, 0x0, 0x0, 0x0, ...)
    /usr/local/go/src/pkg/net/fd_linux.go:146 +0x12b
net.(*pollServer).Run(0x1872cbd0, 0x0)
    /usr/local/go/src/pkg/net/fd.go:236 +0xdf
created by net.newPollServer
    /usr/local/go/src/pkg/net/newpollserver.go:35 +0x308

goroutine 13 [chan receive]:
net.(*pollServer).WaitRead(0x1872cbd0, 0x1879c230, 0x1872a4e0, 0xb)
    /usr/local/go/src/pkg/net/fd.go:268 +0x75
net.(*netFD).ReadMsg(0x1879c230, 0x188f2800, 0x400, 0x400, 0x18a4ca60, ...)
    /usr/local/go/src/pkg/net/fd.go:486 +0x20a
net.(*UnixConn).ReadMsgUnix(0x18700568, 0x188f2800, 0x400, 0x400, 0x18a4ca60, ...)
    /usr/local/go/src/pkg/net/unixsock_posix.go:274 +0xe7
github.com/burke/zeus/go/unixsocket.(*Usock).readFromSocket(0x1879f870, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:186 +0xd2
github.com/burke/zeus/go/unixsocket.(*Usock).ReadFD(0x1879f870, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:109 +0x90
github.com/burke/zeus/go/zeusmaster._func_004(0x187003a8, 0x18700570, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavemonitor.go:35 +0x2b
created by github.com/burke/zeus/go/zeusmaster.StartSlaveMonitor
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavemonitor.go:41 +0x13f

goroutine 14 [runnable]:
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).doCrashedOrReadyState(0x18730d80, 0x1, 0x811e71c)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:228 +0x218
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).Run(0x18730d80, 0x187003a0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:129 +0x1a1
created by github.com/burke/zeus/go/zeusmaster.StartSlaveMonitor
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavemonitor.go:44 +0x197

goroutine 15 [semacquire]:
sync.runtime_Semacquire(0x18700320, 0x18700320)
    /usr/local/go/src/pkg/runtime/zsema_386.c:146 +0x29
sync.(*Cond).Wait(0x1872a7e0, 0x1)
    /usr/local/go/src/pkg/sync/cond.go:67 +0xa8
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).WaitUntilReadyOrCrashed(0x18730b80, 0x807203a)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:64 +0x103
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).doWaitingState(0x18730b00, 0x1, 0x811e890)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:148 +0x4e
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).Run(0x18730b00, 0x187003a0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:121 +0x249
created by github.com/burke/zeus/go/zeusmaster.StartSlaveMonitor
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavemonitor.go:44 +0x197

goroutine 16 [chan receive]:
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).doUnbootedState(0x18730d00, 0x187003a0, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:169 +0x2b9
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).Run(0x18730d00, 0x187003a0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:123 +0x1f5
created by github.com/burke/zeus/go/zeusmaster.StartSlaveMonitor
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavemonitor.go:44 +0x197

goroutine 17 [select]:
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).doCrashedOrReadyState(0x18730e00, 0x1, 0x811e71c)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:228 +0x218
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).Run(0x18730e00, 0x187003a0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:129 +0x1a1
created by github.com/burke/zeus/go/zeusmaster.StartSlaveMonitor
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavemonitor.go:44 +0x197

goroutine 18 [chan receive]:
net.(*pollServer).WaitRead(0x1872cbd0, 0x1895a7e0, 0x1872a4e0, 0xb)
    /usr/local/go/src/pkg/net/fd.go:268 +0x75
net.(*netFD).ReadMsg(0x1895a7e0, 0x1897c800, 0x400, 0x400, 0x1887c0a0, ...)
    /usr/local/go/src/pkg/net/fd.go:486 +0x20a
net.(*UnixConn).ReadMsgUnix(0x187005c8, 0x1897c800, 0x400, 0x400, 0x1887c0a0, ...)
    /usr/local/go/src/pkg/net/unixsock_posix.go:274 +0xe7
github.com/burke/zeus/go/unixsocket.(*Usock).readFromSocket(0x18991c00, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:186 +0xd2
github.com/burke/zeus/go/unixsocket.(*Usock).ReadMessage(0x18991c00, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:128 +0xaf
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).doBootingState(0x18730b80, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:185 +0x36
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).Run(0x18730b80, 0x187003a0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:125 +0xcf
created by github.com/burke/zeus/go/zeusmaster.StartSlaveMonitor
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavemonitor.go:44 +0x197

goroutine 19 [semacquire]:
sync.runtime_Semacquire(0x187000a0, 0x187000a0)
    /usr/local/go/src/pkg/runtime/zsema_386.c:146 +0x29
sync.(*Cond).Wait(0x1872a760, 0x1)
    /usr/local/go/src/pkg/sync/cond.go:67 +0xa8
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).WaitUntilReadyOrCrashed(0x18730d00, 0x807203a)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:64 +0x103
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).doWaitingState(0x18730c80, 0x1, 0x811e890)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:148 +0x4e
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).Run(0x18730c80, 0x187003a0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:121 +0x249
created by github.com/burke/zeus/go/zeusmaster.StartSlaveMonitor
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavemonitor.go:44 +0x197

goroutine 20 [chan receive]:
net.(*pollServer).WaitRead(0x1872cbd0, 0x1873ee70, 0x1872a4e0, 0xb)
    /usr/local/go/src/pkg/net/fd.go:268 +0x75
net.(*netFD).accept(0x1873ee70, 0x80adb6c, 0x0, 0x1872a0e0, 0x18700170, ...)
    /usr/local/go/src/pkg/net/fd.go:622 +0x199
net.(*UnixListener).AcceptUnix(0x1872e520, 0x1879fc60, 0x189a8c60)
    /usr/local/go/src/pkg/net/unixsock_posix.go:350 +0x46
github.com/burke/zeus/go/zeusmaster._func_001(0x187003f0, 0x18700428, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/clienthandler.go:32 +0x2b
created by github.com/burke/zeus/go/zeusmaster.StartClientHandler
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/clienthandler.go:39 +0x129

goroutine 21 [syscall]:
syscall.Syscall6()
    /usr/local/go/src/pkg/syscall/asm_linux_386.s:46 +0x27
syscall.wait4(0x3a05, 0x18700730, 0x0, 0x187b2320, 0x1, ...)
    /usr/local/go/src/pkg/syscall/zerrors_linux_386.go:1598 +0x63
syscall.Wait4(0x3a05, 0xb7763e18, 0x0, 0x187b2320, 0x187b1090, ...)
    /usr/local/go/src/pkg/syscall/syscall_linux.go:178 +0x5b
os.(*Process).wait(0x1872e830, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/os/exec_unix.go:22 +0xae
os.(*Process).Wait(0x1872e830, 0x4, 0x81db040)
    /usr/local/go/src/pkg/os/doc.go:43 +0x29
os/exec.(*Cmd).Wait(0x187af000, 0x0, 0x0)
    /usr/local/go/src/pkg/os/exec/exec.go:302 +0x130
os/exec.(*Cmd).Run(0x187af000, 0x81066a8, 0x187a4480)
    /usr/local/go/src/pkg/os/exec/exec.go:226 +0x67
os/exec.(*Cmd).CombinedOutput(0x187af000, 0x0, 0x0)
    /usr/local/go/src/pkg/os/exec/exec.go:346 +0x1a8
github.com/burke/zeus/go/zeusmaster.babysitRootProcess(0x187af000, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:328 +0x29
created by github.com/burke/zeus/go/zeusmaster.(*SlaveNode).doUnbootedState
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:164 +0x288

goroutine 22 [syscall]:
syscall.Syscall()
    /usr/local/go/src/pkg/syscall/asm_linux_386.s:20 +0x1f
syscall.Read(0xb, 0x187b6000, 0x800, 0x800, 0x1, ...)
    /usr/local/go/src/pkg/syscall/zerrors_linux_386.go:2136 +0x61
os.(*File).read(0x187004d0, 0x187b6000, 0x800, 0x800, 0x1, ...)
    /usr/local/go/src/pkg/os/file_unix.go:163 +0x44
os.(*File).Read(0x187004d0, 0x187b6000, 0x800, 0x800, 0x18700740, ...)
    /usr/local/go/src/pkg/os/file.go:95 +0x67
github.com/burke/zeus/go/zeusmaster._func_002()
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/filemonitor.go:80 +0x7a
created by github.com/burke/zeus/go/zeusmaster.startWrapper
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/filemonitor.go:90 +0x196

goroutine 23 [syscall]:
syscall.Syscall6()
    /usr/local/go/src/pkg/syscall/asm_linux_386.s:46 +0x27
syscall.wait4(0x3a03, 0x187005e8, 0x0, 0x1872bd70, 0x1, ...)
    /usr/local/go/src/pkg/syscall/zerrors_linux_386.go:1598 +0x63
syscall.Wait4(0x3a03, 0xb7634ef8, 0x0, 0x1872bd70, 0x0, ...)
    /usr/local/go/src/pkg/syscall/syscall_linux.go:178 +0x5b
os.(*Process).wait(0x1872e0c0, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/os/exec_unix.go:22 +0xae
os.(*Process).Wait(0x1872e0c0, 0x0, 0x0)
    /usr/local/go/src/pkg/os/doc.go:43 +0x29
os/exec.(*Cmd).Wait(0x18778000, 0x0, 0x0)
    /usr/local/go/src/pkg/os/exec/exec.go:302 +0x130
github.com/burke/zeus/go/zeusmaster._func_003(0x187003e8, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/filemonitor.go:93 +0x2b
created by github.com/burke/zeus/go/zeusmaster.startWrapper
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/filemonitor.go:95 +0x1ab

goroutine 24 [syscall]:
syscall.Syscall()
    /usr/local/go/src/pkg/syscall/asm_linux_386.s:20 +0x1f
syscall.Read(0x11, 0x18a7064a, 0x7b6, 0x7b6, 0xa1, ...)
    /usr/local/go/src/pkg/syscall/zerrors_linux_386.go:2136 +0x61
os.(*File).read(0x187006d0, 0x18a7064a, 0x7b6, 0x7b6, 0xa1, ...)
    /usr/local/go/src/pkg/os/file_unix.go:163 +0x44
os.(*File).Read(0x187006d0, 0x18a7064a, 0x7b6, 0x7b6, 0xa1, ...)
    /usr/local/go/src/pkg/os/file.go:95 +0x67
bytes.(*Buffer).ReadFrom(0x187a4480, 0x1872a460, 0x187006d0, 0x64a, 0x0, ...)
    /usr/local/go/src/pkg/bytes/buffer.go:153 +0x1d1
io.Copy(0x1872a960, 0x187a4480, 0x1872a460, 0x187006d0, 0x0, ...)
    /usr/local/go/src/pkg/io/io.go:340 +0x86
os/exec._func_003(0x187005d0, 0x187005d8, 0x80cae0b, 0x0, 0x0, ...)
    /usr/local/go/src/pkg/os/exec/exec.go:201 +0x57
os/exec._func_004(0x18700418, 0x187b1060, 0x0)
    /usr/local/go/src/pkg/os/exec/exec.go:268 +0x23
created by os/exec.(*Cmd).Start
    /usr/local/go/src/pkg/os/exec/exec.go:269 +0x588

goroutine 26 [chan receive]:
net.(*pollServer).WaitRead(0x1872cbd0, 0x187e60e0, 0x1872a4e0, 0xb)
    /usr/local/go/src/pkg/net/fd.go:268 +0x75
net.(*netFD).ReadMsg(0x187e60e0, 0x187fb400, 0x400, 0x400, 0x187cf6c0, ...)
    /usr/local/go/src/pkg/net/fd.go:486 +0x20a
net.(*UnixConn).ReadMsgUnix(0x18700910, 0x187fb400, 0x400, 0x400, 0x187cf6c0, ...)
    /usr/local/go/src/pkg/net/unixsock_posix.go:274 +0xe7
github.com/burke/zeus/go/unixsocket.(*Usock).readFromSocket(0x187d8600, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:186 +0xd2
github.com/burke/zeus/go/unixsocket.(*Usock).ReadMessage(0x187d8600, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:128 +0xaf
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).handleMessages(0x18730e00, 0x3)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:343 +0x2e
created by github.com/burke/zeus/go/zeusmaster.(*SlaveNode).doCrashedOrReadyState
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:221 +0x95

goroutine 415 [chan receive]:
net.(*pollServer).WaitRead(0x1872cbd0, 0x1882b620, 0x1872a4e0, 0xb)
    /usr/local/go/src/pkg/net/fd.go:268 +0x75
net.(*netFD).ReadMsg(0x1882b620, 0x187d5c00, 0x400, 0x400, 0x187d36a0, ...)
    /usr/local/go/src/pkg/net/fd.go:486 +0x20a
net.(*UnixConn).ReadMsgUnix(0x18700e10, 0x187d5c00, 0x400, 0x400, 0x187d36a0, ...)
    /usr/local/go/src/pkg/net/unixsock_posix.go:274 +0xe7
github.com/burke/zeus/go/unixsocket.(*Usock).readFromSocket(0x187d8300, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:186 +0xd2
github.com/burke/zeus/go/unixsocket.(*Usock).ReadMessage(0x187d8300, 0x0, 0x0)
    /Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:128 +0xaf
github.com/burke/zeus/go/zeusmaster.(*SlaveNode).handleMessages(0x18730d80, 0x3)
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:343 +0x2e
created by github.com/burke/zeus/go/zeusmaster.(*SlaveNode).doCrashedOrReadyState
    /Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/slavenode.go:221 +0x95
@pic
pic commented Dec 11, 2012

I experienced the same. After a while I figured out that I forgot to "bundle install" the application.
So, to recap:

  • add new gem to Gemfile
  • zeus start -> panic: runtime error: invalid memory address or nil pointer dereference in goroutine, permanently

Problem solved after "bundle install"

@agrouselle

Same for me, running bundle and installing missing gems fixed the issue. Hope it helps.

@burke burke reopened this Dec 11, 2012
@kurko
kurko commented Mar 20, 2013

I'm experiencing this on 0.13.3.rc2 (for some reason, it's actually 0.13.3, but --version returns rc2). I used this for almost a year flawlessly, never saw that error.

bundle fixed it. I'd suggest a friendlier message about it. What do you guys think?

@curious-attempt-bunny

I just started having this problem with 0.13.2 and have upgraded to 0.13.3. I've bundle installed but I'm still getting the same failure. The first few lines of the failure are:

slavenode.go:202: EOF
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x73cda]

I'll follow up here if I resolve the problem.

Edit: I had a gem that was causing a segmentation fault. Resolving that resolved my zeus problem.

@mattfordham

I am randoming getting this message too. I initially thought it was related to adding stuff to the Gemfile while Zeus was running, but I've now had it randomly while simply writing/running RSpec tests.

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x73d27]

Using Zeus version 0.13.3.rc2

@burke
Owner
burke commented May 23, 2013

Could you paste the next paragraph of the trace? I need the file/line the error occurred in.

@mattfordham

Dang it, I just clear my console. When it happens again, I'll post ASAP. Also of note is that when this happens I typically end up with a handful of zombie 'Ruby' processes that I need to kill via Activity Monitor prior to being able to successfully start Zeus again (I also need to rm .zeus.sock)

@gregory
gregory commented Jul 17, 2013

have also a crash ...

Starting Zeus server
exit status 1hed] [running] [connecting] [waiting]
[ready] [crashed] [running] [connecting] [waiting]
boot
└── default_bundle
├── development_environment
│  └── prerake
└── test_environment
├── cucumber_environment
└── test_helper

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

goroutine 15 [running]:
github.com/burke/zeus/go/unixsocket.(Usock).WriteMessage(0x0, 0xf84012fc40, 0x3a5300000010, 0xf84005e420, 0xe, ...)
/Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:81 +0xba
github.com/burke/zeus/go/processtree.(
SlaveNode).bootSlave(0xf8400880d0, 0xf8400881a0, 0x0, 0x5200000001)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:274 +0x10e
github.com/burke/zeus/go/processtree.(SlaveNode).doCrashedOrReadyState(0xf8400880d0, 0xf800000001, 0x10cf6c, 0x4300000001)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:247 +0x142
github.com/burke/zeus/go/processtree.(
SlaveNode).Run(0xf8400880d0, 0xf84005e3f0, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:142 +0x184
created by github.com/burke/zeus/go/processtree._func_001
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 1 [select]:
github.com/burke/zeus/go/zeusmaster.doRun(0x0, 0x229c)
/Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:46 +0x377
github.com/burke/zeus/go/zeusmaster.Run()
/Users/burke/go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:21 +0x1c
main.main()
/Users/burke/go/src/github.com/burke/zeus/go/cmd/zeus/zeus.go:40 +0x29c

goroutine 2 [syscall]:
created by runtime.main
/usr/local/go/src/pkg/runtime/proc.c:221

goroutine 3 [syscall]:
os/signal.loop()
/usr/local/go/src/pkg/os/signal/signal_unix.go:20 +0x1c
created by os/signal.init·1
/usr/local/go/src/pkg/os/signal/signal_unix.go:26 +0x2f

goroutine 4 [select]:
github.com/burke/zeus/go/filemonitor.start(0xf840099000, 0xf840092280, 0xf8400922d0, 0x0, 0x0, ...)
/Users/burke/go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:51 +0x148
created by github.com/burke/zeus/go/filemonitor.Start
/Users/burke/go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:21 +0x7e

goroutine 5 [select]:
github.com/burke/zeus/go/processtree._func_001(0xf84005f250, 0xf84005f260, 0xf84005f258, 0x0, 0x0, ...)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:56 +0x314
created by github.com/burke/zeus/go/processtree.StartSlaveMonitor
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:65 +0xb6

goroutine 6 [select]:
github.com/burke/zeus/go/clienthandler._func_001(0xf84005f278, 0xf84005f270, 0xf84005f268, 0x0, 0x0, ...)
/Users/burke/go/src/github.com/burke/zeus/go/clienthandler/clienthandler.go:47 +0x23c
created by github.com/burke/zeus/go/clienthandler.Start
/Users/burke/go/src/github.com/burke/zeus/go/clienthandler/clienthandler.go:56 +0xb6

goroutine 7 [runnable]:
syscall.Syscall()
/usr/local/go/src/pkg/syscall/asm_darwin_amd64.s:34 +0x61
syscall.Write(0x1, 0xf840109d40, 0x4000000022, 0xf800000000, 0x0, ...)
/usr/local/go/src/pkg/syscall/zsyscall_darwin_amd64.go:1114 +0x78
os.(File).write(0xf84005f008, 0xf840109d40, 0x4000000022, 0xf800000000, 0x0, ...)
/usr/local/go/src/pkg/os/file_unix.go:177 +0x69
os.(
File).Write(0xf84005f008, 0xf840109d40, 0x4000000022, 0x0, 0x0, ...)
/usr/local/go/src/pkg/os/file.go:139 +0x83
fmt.Fprintf(0xf840045660, 0xf84005f008, 0xf840139f60, 0xf800000022, 0x0, ...)
/usr/local/go/src/pkg/fmt/print.go:214 +0xa4
fmt.Printf(0xf840139f60, 0x22, 0x0, 0x0, 0x112a54, ...)
/usr/local/go/src/pkg/fmt/print.go:222 +0x97
github.com/burke/zeus/go/statuschart.(*StatusChart).draw(0xf840001d70, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/statuschart/statuschart.go:123 +0x1f5
github.com/burke/zeus/go/statuschart._func_001(0xf84005f280, 0xf84005f290, 0xf84005f288, 0x0, 0x0, ...)
/Users/burke/go/src/github.com/burke/zeus/go/statuschart/statuschart.go:72 +0x497
created by github.com/burke/zeus/go/statuschart.Start
/Users/burke/go/src/github.com/burke/zeus/go/statuschart/statuschart.go:79 +0xb6

goroutine 8 [finalizer wait]:
created by runtime.gc
/usr/local/go/src/pkg/runtime/mgc0.c:882

goroutine 9 [syscall]:
created by addtimer
/usr/local/go/src/pkg/runtime/ztime_amd64.c:72

goroutine 10 [syscall]:
syscall.Syscall6()
/usr/local/go/src/pkg/syscall/asm_darwin_amd64.s:38 +0x5
syscall.kevent(0x17, 0x0, 0x0, 0xf84006bd88, 0xa, ...)
/usr/local/go/src/pkg/syscall/zsyscall_darwin_amd64.go:199 +0x88
syscall.Kevent(0xf800000017, 0x0, 0x0, 0xf84006bd88, 0xa0000000a, ...)
/usr/local/go/src/pkg/syscall/syscall_bsd.go:538 +0xa4
net.(pollster).WaitFD(0xf84006bd80, 0xf840042b40, 0x0, 0x0, 0x0, ...)
/usr/local/go/src/pkg/net/fd_darwin.go:96 +0x185
net.(
pollServer).Run(0xf840042b40, 0x0)
/usr/local/go/src/pkg/net/fd.go:236 +0xe4
created by net.newPollServer
/usr/local/go/src/pkg/net/newpollserver.go:35 +0x382

goroutine 11 [chan receive]:
net.(pollServer).WaitRead(0xf840042b40, 0xf840089090, 0xf840043d50, 0x23, 0x1, ...)
/usr/local/go/src/pkg/net/fd.go:268 +0x73
net.(
netFD).ReadMsg(0xf840089090, 0xf840102400, 0x40000000400, 0xf84012f060, 0x2000000020, ...)
/usr/local/go/src/pkg/net/fd.go:486 +0x2d5
net.(UnixConn).ReadMsgUnix(0xf84005f428, 0xf840102400, 0x40000000400, 0xf84012f060, 0x2000000020, ...)
/usr/local/go/src/pkg/net/unixsock_posix.go:274 +0x144
github.com/burke/zeus/go/unixsocket.(
Usock).readFromSocket(0xf840097280, 0x0, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:186 +0xf4
github.com/burke/zeus/go/unixsocket.(*Usock).ReadFD(0xf840097280, 0xf800000000, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:109 +0xaa
github.com/burke/zeus/go/processtree._func_002(0xf84005f0e0, 0xf84005f420, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:43 +0x28
created by github.com/burke/zeus/go/processtree._func_001
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:49 +0x1a7

goroutine 12 [semacquire]:
sync.runtime_Semacquire(0xf84005f3f0, 0xf84005f3f0)
/usr/local/go/src/pkg/runtime/zsema_amd64.c:146 +0x25
sync.(Cond).Wait(0xf840042fc0, 0x1)
/usr/local/go/src/pkg/sync/cond.go:67 +0xaa
github.com/burke/zeus/go/processtree.(
SlaveNode).WaitUntilReadyOrCrashed(0xf840088410, 0x51028)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:75 +0x133
github.com/burke/zeus/go/processtree.(SlaveNode).doWaitingState(0xf8400885b0, 0xf800000001, 0x10d6bc, 0x5700000001)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:163 +0x51
github.com/burke/zeus/go/processtree.(
SlaveNode).Run(0xf8400885b0, 0xf84005e3f0, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:136 +0x2f2
created by github.com/burke/zeus/go/processtree._func_001
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 13 [semacquire]:
sync.runtime_Semacquire(0xf84005f790, 0xf84005f790)
/usr/local/go/src/pkg/runtime/zsema_amd64.c:146 +0x25
sync.(Cond).Wait(0xf840042e80, 0x1)
/usr/local/go/src/pkg/sync/cond.go:67 +0xaa
github.com/burke/zeus/go/processtree.(
SlaveNode).WaitUntilReadyOrCrashed(0xf8400881a0, 0x51028)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:75 +0x133
github.com/burke/zeus/go/processtree.(SlaveNode).doWaitingState(0xf840088270, 0xf800000001, 0x10d6bc, 0x5700000001)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:163 +0x51
github.com/burke/zeus/go/processtree.(
SlaveNode).Run(0xf840088270, 0xf84005e3f0, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:136 +0x2f2
created by github.com/burke/zeus/go/processtree._func_001
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 14 [semacquire]:
sync.runtime_Semacquire(0xf84005f3f0, 0x19215)
/usr/local/go/src/pkg/runtime/zsema_amd64.c:146 +0x25
sync.(Cond).Wait(0xf840042fc0, 0x1)
/usr/local/go/src/pkg/sync/cond.go:67 +0xaa
github.com/burke/zeus/go/processtree.(
SlaveNode).WaitUntilReadyOrCrashed(0xf840088410, 0x51028)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:75 +0x133
github.com/burke/zeus/go/processtree.(SlaveNode).doWaitingState(0xf8400884e0, 0xf800000001, 0x10d6bc, 0x5700000001)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:163 +0x51
github.com/burke/zeus/go/processtree.(
SlaveNode).Run(0xf8400884e0, 0xf84005e3f0, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:136 +0x2f2
created by github.com/burke/zeus/go/processtree._func_001
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 16 [semacquire]:
sync.runtime_Semacquire(0xf84005f130, 0xf84005f130)
/usr/local/go/src/pkg/runtime/zsema_amd64.c:146 +0x25
sync.(Cond).Wait(0xf840042ec0, 0x1)
/usr/local/go/src/pkg/sync/cond.go:67 +0xaa
github.com/burke/zeus/go/processtree.(
SlaveNode).WaitUntilReadyOrCrashed(0xf840088270, 0x51028)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:75 +0x133
github.com/burke/zeus/go/processtree.(SlaveNode).doWaitingState(0xf840088340, 0xf800000001, 0x10d6bc, 0x5700000001)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:163 +0x51
github.com/burke/zeus/go/processtree.(
SlaveNode).Run(0xf840088340, 0xf84005e3f0, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:136 +0x2f2
created by github.com/burke/zeus/go/processtree._func_001
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 17 [semacquire]:
sync.runtime_Semacquire(0xf84005f790, 0x19215)
/usr/local/go/src/pkg/runtime/zsema_amd64.c:146 +0x25
sync.(Cond).Wait(0xf840042e80, 0x1)
/usr/local/go/src/pkg/sync/cond.go:67 +0xaa
github.com/burke/zeus/go/processtree.(
SlaveNode).WaitUntilReadyOrCrashed(0xf8400881a0, 0x51028)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:75 +0x133
github.com/burke/zeus/go/processtree.(SlaveNode).doWaitingState(0xf840088410, 0xf800000001, 0x10d6bc, 0x5700000001)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:163 +0x51
github.com/burke/zeus/go/processtree.(
SlaveNode).Run(0xf840088410, 0xf84005e3f0, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:136 +0x2f2
created by github.com/burke/zeus/go/processtree._func_001
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 18 [chan receive]:
github.com/burke/zeus/go/processtree.(SlaveNode).doUnbootedState(0xf8400881a0, 0xf84005e3f0, 0x0, 0x5500000000, 0x0, ...)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:184 +0x3d4
github.com/burke/zeus/go/processtree.(
SlaveNode).Run(0xf8400881a0, 0xf84005e3f0, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavenode.go:138 +0x294
created by github.com/burke/zeus/go/processtree._func_001
/Users/burke/go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 19 [chan receive]:
net.(pollServer).WaitRead(0xf840042b40, 0xf840089000, 0xf840043d50, 0x23, 0x1, ...)
/usr/local/go/src/pkg/net/fd.go:268 +0x73
net.(
netFD).accept(0xf840089000, 0x63b12, 0x0, 0xf8400458a0, 0xf84005f040, ...)
/usr/local/go/src/pkg/net/fd.go:622 +0x20d
net.(*UnixListener).AcceptUnix(0xf840044940, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/net/unixsock_posix.go:350 +0x4d
github.com/burke/zeus/go/clienthandler._func_002(0xf84005f298, 0xf84005f120, 0x0, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/clienthandler/clienthandler.go:37 +0x28
created by github.com/burke/zeus/go/clienthandler._func_001
/Users/burke/go/src/github.com/burke/zeus/go/clienthandler/clienthandler.go:44 +0x15a

goroutine 21 [syscall]:
syscall.Syscall()
/usr/local/go/src/pkg/syscall/asm_darwin_amd64.s:14 +0x5
syscall.Read(0x2300000013, 0xf84010b000, 0x80000000800, 0x100000001, 0x0, ...)
/usr/local/go/src/pkg/syscall/zsyscall_darwin_amd64.go:810 +0x78
os.(File).read(0xf84005f328, 0xf84010b000, 0x80000000800, 0x80000000800, 0x0, ...)
/usr/local/go/src/pkg/os/file_unix.go:163 +0x58
os.(
File).Read(0xf84005f328, 0xf84010b000, 0x80000000800, 0xf84010b000, 0x0, ...)
/usr/local/go/src/pkg/os/file.go:95 +0x83
github.com/burke/zeus/go/filemonitor._func_001(0xf84005f358, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:92 +0x87
created by github.com/burke/zeus/go/filemonitor.startWrapper
/Users/burke/go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:103 +0x22f

goroutine 22 [syscall]:
syscall.Syscall6()
/usr/local/go/src/pkg/syscall/asm_darwin_amd64.s:38 +0x5
syscall.wait4(0x92f7, 0xf84005f050, 0x0, 0xf8400656c0, 0x1, ...)
/usr/local/go/src/pkg/syscall/zsyscall_darwin_amd64.go:32 +0x81
syscall.Wait4(0x92f7, 0x2661e34, 0x0, 0xf8400656c0, 0x0, ...)
/usr/local/go/src/pkg/syscall/syscall_bsd.go:136 +0x6a
os.(Process).wait(0xf840101940, 0x0, 0x0, 0x0, 0x9dd8a, ...)
/usr/local/go/src/pkg/os/exec_unix.go:22 +0xe1
os.(
Process).Wait(0xf840101940, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/os/doc.go:43 +0x25
os/exec.(*Cmd).Wait(0xf8400a2000, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/os/exec/exec.go:302 +0x1b7
github.com/burke/zeus/go/filemonitor._func_002(0xf84005f360, 0x0)
/Users/burke/go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:106 +0x29
created by github.com/burke/zeus/go/filemonitor.startWrapper
/Users/burke/go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:111 +0x246

@bauersman

Zeus reproducibly crashes for me whenever I produce a syntax error in a class definition (any error that causes ruby -c to complain). Pasting first two paragraphs of the stacktrace, can post the complete trace if needed.

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x73d27]

goroutine 15 [running]:
github.com/burke/zeus/go/unixsocket.(Usock).WriteMessage(0x0, 0xf84005fb98, 0x3a4300000006, 0xf84005f1b8, 0x4, ...)
/Users/turadg/Code/Go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:81 +0xba
github.com/burke/zeus/go/processtree.(
SlaveNode).bootCommand(0xf840088340, 0xf8404d2d40, 0xf8404d2d40, 0x0)
/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:288 +0x9c
github.com/burke/zeus/go/processtree.(SlaveNode).bootQueuedCommandsAndSlaves(0xf840088340, 0x1)
/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:308 +0x7d
github.com/burke/zeus/go/processtree.(
SlaveNode).doCrashedOrReadyState(0xf840088340, 0xf800000001, 0x10dadc, 0x4300000001)
/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:241 +0xd1
github.com/burke/zeus/go/processtree.(*SlaveNode).Run(0xf840088340, 0xf84005e3e0, 0x0, 0x0)
/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:142 +0x184
created by github.com/burke/zeus/go/processtree._func_001
/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

@mariusbutuc

a fresh cup of bundle fixed it for me.

@toxaq
toxaq commented Oct 18, 2013

I'm getting the same with any syntax error. It makes the console go invisible, which I can reset but I'm left with zeus processes still running. If I kill them then in a short period of time, guard will lock up and the only thing I can do is a hard reset of my entire machine. It won't actually turn off, I have to hold the off button down.

I've tried bundle update to no avail. Here's the dump on crash:

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x73d27]
└── default_bundle
goroutine 13 [running]:ironment
github.com/burke/zeus/go/unixsocket.(*Usock).WriteMessage(0x0, 0xf8400607d8, 0x3a4300000006, 0xf8400601b8, 0x4, ...)
    └── /Users/turadg/Code/Go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:81 +0xba
github.com/burke/zeus/go/processtree.(*SlaveNode).bootCommand(0xf8400894e0, 0xf8403525e0, 0xf8403525e0, 0x0)
        /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:288 +0x9c
github.com/burke/zeus/go/processtree.(*SlaveNode).bootQueuedCommandsAndSlaves(0xf8400894e0, 0x1)
Availabl/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:308 +0x7d
github.com/burke/zeus/go/processtree.(*SlaveNode).doCrashedOrReadyState(0xf8400894e0, 0xf800000001, 0x10dadc, 0x4300000001)
zeus des/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:241 +0xd1
github.com/burke/zeus/go/processtree.(*SlaveNode).Run(0xf8400894e0, 0xf84005f3e0, 0x0, 0x0)
zeus con/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:142 +0x184
created by github.com/burke/zeus/go/processtree._func_001
zeus run/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215
zeus generate (alias: g)
goroutine 1 [select]:ec, testrb)
github.com/burke/zeus/go/zeusmaster.doRun(0x0, 0x229c)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:47 +0x377
github.com/burke/zeus/go/zeusmaster.Run()
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:22 +0x1c
main.main()
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/cmd/zeus/zeus.go:40 +0x29c

goroutine 2 [syscall]:
created by runtime.main
    /usr/local/Cellar/go/1.0.3/src/pkg/runtime/proc.c:221

goroutine 3 [syscall]:
os/signal.loop()
    /usr/local/Cellar/go/1.0.3/src/pkg/os/signal/signal_unix.go:20 +0x1c
created by os/signal.init·1
    /usr/local/Cellar/go/1.0.3/src/pkg/os/signal/signal_unix.go:26 +0x2f

goroutine 4 [select]:
github.com/burke/zeus/go/filemonitor.start(0xf84009a000, 0xf840082500, 0xf840082550, 0x0, 0x0, ...)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:51 +0x148
created by github.com/burke/zeus/go/filemonitor.Start
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:21 +0x7e

goroutine 5 [select]:
github.com/burke/zeus/go/processtree._func_001(0xf840060250, 0xf840060260, 0xf840060258, 0x0, 0x0, ...)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:56 +0x314
created by github.com/burke/zeus/go/processtree.StartSlaveMonitor
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:65 +0xb6

goroutine 6 [select]:
github.com/burke/zeus/go/clienthandler._func_001(0xf840060278, 0xf840060270, 0xf840060268, 0x0, 0x0, ...)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/clienthandler/clienthandler.go:47 +0x23c
created by github.com/burke/zeus/go/clienthandler.Start
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/clienthandler/clienthandler.go:56 +0xb6

goroutine 7 [runnable]:
syscall.Syscall()
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/asm_darwin_amd64.s:34 +0x61
syscall.Write(0x1, 0xf8400604f0, 0x800000005, 0xf800000000, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/zsyscall_darwin_amd64.go:1279 +0x78
os.(*File).write(0xf840060008, 0xf8400604f0, 0x800000005, 0xf800000000, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/file_unix.go:188 +0x69
os.(*File).Write(0xf840060008, 0xf8400604f0, 0x800000005, 0x226bea8, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/file.go:139 +0x83
fmt.Fprintf(0xf840043a80, 0xf840060008, 0x113534, 0xf800000005, 0x226bea8, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/fmt/print.go:214 +0xa4
fmt.Printf(0x113534, 0x64255b1b00000005, 0x226bea8, 0x100000001, 0x1, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/fmt/print.go:222 +0x97
github.com/burke/zeus/go/statuschart.(*StatusChart).draw(0xf840047c00, 0xf840047060)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/statuschart/statuschart.go:115 +0x123
github.com/burke/zeus/go/statuschart._func_001(0xf840060280, 0xf840060290, 0xf840060288, 0x0, 0x0, ...)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/statuschart/statuschart.go:78 +0x4ed
created by github.com/burke/zeus/go/statuschart.Start
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/statuschart/statuschart.go:83 +0xb6

goroutine 8 [finalizer wait]:
created by runtime.gc
    /usr/local/Cellar/go/1.0.3/src/pkg/runtime/mgc0.c:882

goroutine 9 [syscall]:
created by addtimer
    /usr/local/Cellar/go/1.0.3/src/pkg/runtime/ztime_amd64.c:72

goroutine 10 [syscall]:
syscall.Syscall6()
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/asm_darwin_amd64.s:38 +0x5
syscall.kevent(0x10, 0x0, 0x0, 0xf84006cd88, 0xa, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/zsyscall_darwin_amd64.go:199 +0x88
syscall.Kevent(0xf800000010, 0x0, 0x0, 0xf84006cd88, 0xa0000000a, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/syscall_bsd.go:546 +0xa4
net.(*pollster).WaitFD(0xf84006cd80, 0xf840046600, 0x0, 0x0, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/net/fd_darwin.go:96 +0x185
net.(*pollServer).Run(0xf840046600, 0x0)
    /usr/local/Cellar/go/1.0.3/src/pkg/net/fd.go:236 +0xe4
created by net.newPollServer
    /usr/local/Cellar/go/1.0.3/src/pkg/net/newpollserver.go:35 +0x382

goroutine 11 [chan receive]:
net.(*pollServer).WaitRead(0xf840046600, 0xf84008a090, 0xf840043ed0, 0x23, 0x1, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/net/fd.go:268 +0x73
net.(*netFD).ReadMsg(0xf84008a090, 0xf840270000, 0x40000000400, 0xf8403d77c0, 0x2000000020, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/net/fd.go:486 +0x2d5
net.(*UnixConn).ReadMsgUnix(0xf840060590, 0xf840270000, 0x40000000400, 0xf8403d77c0, 0x2000000020, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/net/unixsock_posix.go:274 +0x144
github.com/burke/zeus/go/unixsocket.(*Usock).readFromSocket(0xf840081b00, 0x0, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:186 +0xf4
github.com/burke/zeus/go/unixsocket.(*Usock).ReadFD(0xf840081b00, 0xf800000000, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:109 +0xaa
github.com/burke/zeus/go/processtree._func_002(0xf8400600f0, 0xf840060598, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:43 +0x28
created by github.com/burke/zeus/go/processtree._func_001
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:49 +0x1a7

goroutine 12 [select]:
github.com/burke/zeus/go/processtree.(*SlaveNode).doCrashedOrReadyState(0xf8400890d0, 0xf800000001, 0x10e03c, 0x5200000001)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:244 +0x288
github.com/burke/zeus/go/processtree.(*SlaveNode).Run(0xf8400890d0, 0xf84005f3e0, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:144 +0x22b
created by github.com/burke/zeus/go/processtree._func_001
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 14 [select]:
github.com/burke/zeus/go/processtree.(*SlaveNode).doCrashedOrReadyState(0xf840089410, 0xf800000001, 0x10dadc, 0x4300000001)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:244 +0x288
github.com/burke/zeus/go/processtree.(*SlaveNode).Run(0xf840089410, 0xf84005f3e0, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:142 +0x184
created by github.com/burke/zeus/go/processtree._func_001
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 15 [chan receive]:
github.com/burke/zeus/go/processtree.(*SlaveNode).doUnbootedState(0xf8400895b0, 0xf84005f3e0, 0x0, 0x5500000000, 0x0, ...)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:184 +0x3d4
github.com/burke/zeus/go/processtree.(*SlaveNode).Run(0xf8400895b0, 0xf84005f3e0, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:138 +0x294
created by github.com/burke/zeus/go/processtree._func_001
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 16 [select]:
github.com/burke/zeus/go/processtree.(*SlaveNode).doCrashedOrReadyState(0xf840089270, 0xf800000001, 0x10e03c, 0x5200000001)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:244 +0x288
github.com/burke/zeus/go/processtree.(*SlaveNode).Run(0xf840089270, 0xf84005f3e0, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:144 +0x22b
created by github.com/burke/zeus/go/processtree._func_001
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 17 [select]:
github.com/burke/zeus/go/processtree.(*SlaveNode).doCrashedOrReadyState(0xf8400891a0, 0xf800000001, 0x10e03c, 0x5200000001)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:244 +0x288
github.com/burke/zeus/go/processtree.(*SlaveNode).Run(0xf8400891a0, 0xf84005f3e0, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:144 +0x22b
created by github.com/burke/zeus/go/processtree._func_001
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 18 [select]:
github.com/burke/zeus/go/processtree.(*SlaveNode).doCrashedOrReadyState(0xf840089340, 0xf800000001, 0x10e03c, 0x5200000001)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:244 +0x288
github.com/burke/zeus/go/processtree.(*SlaveNode).Run(0xf840089340, 0xf84005f3e0, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:144 +0x22b
created by github.com/burke/zeus/go/processtree._func_001
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 19 [chan receive]:
net.(*pollServer).WaitRead(0xf840046600, 0xf84008a000, 0xf840043ed0, 0x23, 0x1, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/net/fd.go:268 +0x73
net.(*netFD).accept(0xf84008a000, 0x641a5, 0x0, 0xf840043480, 0xf840060040, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/net/fd.go:622 +0x20d
net.(*UnixListener).AcceptUnix(0xf840045c60, 0xf840088a50, 0xf840329900, 0x0)
    /usr/local/Cellar/go/1.0.3/src/pkg/net/unixsock_posix.go:350 +0x4d
github.com/burke/zeus/go/clienthandler._func_002(0xf840060048, 0xf840060208, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/clienthandler/clienthandler.go:37 +0x28
created by github.com/burke/zeus/go/clienthandler._func_001
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/clienthandler/clienthandler.go:44 +0x15a

goroutine 20 [syscall]:
syscall.Syscall6()
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/asm_darwin_amd64.s:38 +0x5
syscall.wait4(0x2ce4, 0xf8400606e8, 0x0, 0xf840110000, 0x1, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/zsyscall_darwin_amd64.go:32 +0x81
syscall.Wait4(0x2ce4, 0x22b1d84, 0x0, 0xf840110000, 0x9e2af, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/syscall_bsd.go:136 +0x6a
os.(*Process).wait(0xf8401066a0, 0xf8400606a8, 0x0, 0x0, 0x9e551, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/exec_unix.go:22 +0xe1
os.(*Process).Wait(0xf8401066a0, 0x0, 0x0, 0x22b1e58)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/doc.go:43 +0x25
os/exec.(*Cmd).Wait(0xf840055f00, 0x0, 0x0, 0x0)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/exec/exec.go:308 +0x1b7
os/exec.(*Cmd).Run(0xf840055f00, 0xe3080, 0xf8400ed660, 0xf840084c90)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/exec/exec.go:232 +0x6d
os/exec.(*Cmd).CombinedOutput(0xf840055f00, 0x0, 0x0, 0x0)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/exec/exec.go:352 +0x246
github.com/burke/zeus/go/processtree.(*SlaveNode).babysitRootProcess(0xf8400890d0, 0xf840055f00, 0x0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:344 +0x25
created by github.com/burke/zeus/go/processtree.(*SlaveNode).doUnbootedState
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:179 +0x398

goroutine 21 [syscall]:
syscall.Syscall()
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/asm_darwin_amd64.s:14 +0x5
syscall.Read(0x8, 0xf8400fc000, 0x80000000800, 0xf84004a000, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/zsyscall_darwin_amd64.go:905 +0x78
os.(*File).read(0xf840060110, 0xf8400fc000, 0x80000000800, 0xa5368, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/file_unix.go:174 +0x58
os.(*File).Read(0xf840060110, 0xf8400fc000, 0x80000000800, 0xa00000041, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/file.go:95 +0x83
github.com/burke/zeus/go/filemonitor._func_001(0xf840060298, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:92 +0x87
created by github.com/burke/zeus/go/filemonitor.startWrapper
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:103 +0x22f

goroutine 22 [syscall]:
syscall.Syscall6()
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/asm_darwin_amd64.s:38 +0x5
syscall.wait4(0x2ce3, 0xf8400605e0, 0x0, 0xf84008a480, 0x1, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/zsyscall_darwin_amd64.go:32 +0x81
syscall.Wait4(0x2ce3, 0x22cae34, 0x0, 0xf84008a480, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/syscall_bsd.go:136 +0x6a
os.(*Process).wait(0xf840045c80, 0x0, 0x0, 0x0, 0x9e551, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/exec_unix.go:22 +0xe1
os.(*Process).Wait(0xf840045c80, 0x0, 0x0, 0x0)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/doc.go:43 +0x25
os/exec.(*Cmd).Wait(0xf840055000, 0x0, 0x0, 0x0)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/exec/exec.go:308 +0x1b7
github.com/burke/zeus/go/filemonitor._func_002(0xf8400602a0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:106 +0x29
created by github.com/burke/zeus/go/filemonitor.startWrapper
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/filemonitor/filemonitor.go:111 +0x246

goroutine 23 [syscall]:
syscall.Syscall()
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/asm_darwin_amd64.s:14 +0x5
syscall.Read(0x9, 0xf8403bb9d2, 0x42e0000042e, 0x202, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/zsyscall_darwin_amd64.go:905 +0x78
os.(*File).read(0xf8400606a0, 0xf8403bb9d2, 0x42e0000042e, 0x202, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/file_unix.go:174 +0x58
os.(*File).Read(0xf8400606a0, 0xf8403bb9d2, 0x42e0000042e, 0xe0000000202, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/file.go:95 +0x83
bytes.(*Buffer).ReadFrom(0xf8400ed660, 0xf840043f90, 0xf8400606a0, 0x19d2, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/bytes/buffer.go:153 +0x199
io.Copy(0xf840084c90, 0xf8400ed660, 0xf840043f90, 0xf8400606a0, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/io/io.go:352 +0xc2
os/exec._func_003(0xf84005fb90, 0xf840060698, 0xa030e, 0x0, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/exec/exec.go:207 +0x5a
os/exec._func_004(0xf8400605d0, 0xf8400f3800, 0x0, 0x0)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/exec/exec.go:274 +0x1e
created by os/exec.(*Cmd).Start
    /usr/local/Cellar/go/1.0.3/src/pkg/os/exec/exec.go:275 +0x65c

goroutine 25 [syscall]:
syscall.Syscall()
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/asm_darwin_amd64.s:14 +0x5
syscall.Read(0xf, 0xf840132000, 0x100000001000, 0x2720d01, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/zsyscall_darwin_amd64.go:905 +0x78
os.(*File).read(0xf8400607f8, 0xf840132000, 0x100000001000, 0x60, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/file_unix.go:174 +0x58
os.(*File).Read(0xf8400607f8, 0xf840132000, 0x100000001000, 0xfac00000000, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/file.go:95 +0x83
bufio.(*Reader).fill(0xf84010ef00, 0xfac00000000)
    /usr/local/Cellar/go/1.0.3/src/pkg/bufio/bufio.go:77 +0xf0
bufio.(*Reader).ReadSlice(0xf84010ef00, 0xa, 0x0, 0x0, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/bufio/bufio.go:257 +0x1b6
bufio.(*Reader).ReadBytes(0xf84010ef00, 0xf84012cf0a, 0x0, 0x0, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/bufio/bufio.go:335 +0xb8
bufio.(*Reader).ReadString(0xf84010ef00, 0xf84017c00a, 0x0, 0xa00000000, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/bufio/bufio.go:374 +0x50
github.com/burke/zeus/go/processtree.(*SlaveNode).handleMessages(0xf8400890d0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:364 +0x6a
created by github.com/burke/zeus/go/processtree.(*SlaveNode).doCrashedOrReadyState
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:237 +0xab

goroutine 293 [syscall]:
syscall.Syscall()
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/asm_darwin_amd64.s:14 +0x5
syscall.Read(0x13, 0xf840197000, 0x100000001000, 0x275ed88, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/syscall/zsyscall_darwin_amd64.go:905 +0x78
os.(*File).read(0xf8400609b0, 0xf840197000, 0x100000001000, 0x16ed5, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/file_unix.go:174 +0x58
os.(*File).Read(0xf8400609b0, 0xf840197000, 0x100000001000, 0x5c400000000, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/os/file.go:95 +0x83
bufio.(*Reader).fill(0xf84017a880, 0x5c400000000)
    /usr/local/Cellar/go/1.0.3/src/pkg/bufio/bufio.go:77 +0xf0
bufio.(*Reader).ReadSlice(0xf84017a880, 0x50000000a, 0x0, 0x0, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/bufio/bufio.go:257 +0x1b6
bufio.(*Reader).ReadBytes(0xf84017a880, 0xf84029590a, 0x0, 0x0, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/bufio/bufio.go:335 +0xb8
bufio.(*Reader).ReadString(0xf84017a880, 0xf840147a0a, 0x0, 0xa00000000, 0x0, ...)
    /usr/local/Cellar/go/1.0.3/src/pkg/bufio/bufio.go:374 +0x50
github.com/burke/zeus/go/processtree.(*SlaveNode).handleMessages(0xf8400891a0, 0x0)
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:364 +0x6a
created by github.com/burke/zeus/go/processtree.(*SlaveNode).doCrashedOrReadyState
    /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:237 +0xab

goroutine 29093 [chan receive]:

And these are the processes left running after the crash:

grep [z]eus
wat          11495   0.0  0.4  2629428 143360 s002  S     1:05pm   0:04.87 zeus slave: development_environment   rvm_bin_path=/Users/wat/.rvm/bin
wat          11493   0.0  0.3  2574008 112240 s002  S     1:05pm   0:04.26 zeus slave: default_bundle   
wat          11492   0.0  0.1  2487012  32740 s002  S     1:05pm   0:00.70 zeus slave: boot   
wat          11491   0.0  0.0  2469012   6348 s002  S     1:05pm   0:03.48 /Users/wat/.rvm/gems/ruby-1.9.3-p448@example/gems/zeus-0.13.3/build/fsevents-wrapper
wat           2668   0.0  0.1  2494704  34916 s002  S    Thu02pm   0:00.71 zeus slave: boot   
wat          11503   0.0  0.2  2631232  54676 s002  S     1:05pm   0:00.06 zeus slave: prerake  

This pretty much will happen at least once a day which unfortunately is nullifying all the time I had been saving(!)

@nicolasgarnil

zeus is evil
(bundle install fixed it)

@ndyakov
ndyakov commented Mar 5, 2014

I'm getting the same error here:

go version go1.0.2
Ubuntu 13.04
Linux 3.8.0-35-generic x86_64
Zeus version 0.13.3.rc2
ruby-1.9.3-p448-perf (installed via rbenv)
rbenv 0.4.0

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x4735a5]

goroutine 14 [running]:
github.com/burke/zeus/go/unixsocket.(*Usock).WriteMessage(0x0, 0xf84005ef80, 0x3a5300000009, 0xf84005f160, 0x7, ...)
 /Users/turadg/Code/Go/src/github.com/burke/zeus/go/unixsocket/unixsocket.go:81 +0xba
github.com/burke/zeus/go/processtree.(*SlaveNode).bootSlave(0xf84008d410, 0xf84008d4e0, 0x0, 0x5200000001)
        /Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:274 +0x10e
github.com/burke/zeus/go/processtree.(*SlaveNode).doCrashedOrReadyState(0xf84008d410, 0xf800000001, 0x50d7d4, 0x4300000001)
/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:247 +0x142
github.com/burke/zeus/go/processtree.(*SlaveNode).Run(0xf84008d410, 0xf84005e3e0, 0x0, 0x0)
/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavenode.go:142 +0x184
created by github.com/burke/zeus/go/processtree._func_001
/Users/turadg/Code/Go/src/github.com/burke/zeus/go/processtree/slavemonitor.go:52 +0x215

goroutine 1 [select]:
github.com/burke/zeus/go/zeusmaster.doRun(0x7fc900000000, 0x400e9c)
        /Users/turadg/Code/Go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:47 +0x377
github.com/burke/zeus/go/zeusmaster.Run()
        /Users/turadg/Code/Go/src/github.com/burke/zeus/go/zeusmaster/zeusmaster.go:22 +0x1c
main.main()
        /Users/turadg/Code/Go/src/github.com/burke/zeus/go/cmd/zeus/zeus.go:40 +0x29c

goroutine 2 [syscall]:
created by runtime.main
        /usr/local/Cellar/go/1.0.3/src/pkg/runtime/proc.c:221
....

Also , zeus is left running, so here is an strace:

read(0, "", 4096)                       = 0
select(4, [0 3], NULL, NULL, NULL)      = 1 (in [0])
read(0, "", 4096)                       = 0
select(4, [0 3], NULL, NULL, NULL)      = 1 (in [0])
....

bundle install didn't help.

@nulty
nulty commented Sep 24, 2014

This happened due to a syntax error in my code. Maybe that will help someone reading this

@latortuga latortuga closed this Sep 24, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.