remote_syslog2
remote_syslog2 copied to clipboard
Panic trace
Happening when sending a QUIT signal, not a big deal but curious about it.
Version is 0.14 ("stable", not beta release from Github).
SIGQUIT: quit
PC=0x42a179
runtime.epollwait(0x4, 0x7fff64fad190, 0xffffffff00000080)
/usr/local/go/src/pkg/runtime/sys_linux_amd64.s:385 +0x19
runtime.netpoll(0x8c8a01)
/usr/local/go/src/pkg/runtime/netpoll_epoll.c:71 +0x7d
findrunnable()
/usr/local/go/src/pkg/runtime/proc.c:1222 +0x386
schedule()
/usr/local/go/src/pkg/runtime/proc.c:1320 +0xe3
exitsyscall0(0xc21005b5a0)
/usr/local/go/src/pkg/runtime/proc.c:1639 +0xdb
runtime.mcall(0x427dad)
/usr/local/go/src/pkg/runtime/asm_amd64.s:178 +0x4b
goroutine 1 [chan receive]:
main.main()
/Users/leon/go/src/github.com/papertrail/remote_syslog2/remote_syslog.go:124 +0x6c5
goroutine 4 [IO wait]:
net.runtime_pollWait(0x7f6ada71e660, 0x72, 0x0)
/usr/local/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc21004e4c0, 0x72, 0x7f6ada71d138, 0xb)
/usr/local/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc21004e4c0, 0xb, 0x7f6ada71d138)
/usr/local/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc21004e460, 0xc21006e000, 0x2000, 0x2000, 0x0, ...)
/usr/local/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc2100004b8, 0xc21006e000, 0x2000, 0x2000, 0x1c, ...)
/usr/local/go/src/pkg/net/net.go:122 +0xc5
crypto/tls.(*block).readFromUntil(0xc21001df30, 0x7f6ada71e9b0, 0xc2100004b8, 0x5, 0xc2100004b8, ...)
/usr/local/go/src/pkg/crypto/tls/conn.go:459 +0xb6
crypto/tls.(*Conn).readRecord(0xc21005c500, 0x17, 0x0, 0x4202cd)
/usr/local/go/src/pkg/crypto/tls/conn.go:539 +0x107
crypto/tls.(*Conn).Read(0xc21005c500, 0xc21019a3c0, 0x1, 0x1, 0x0, ...)
/usr/local/go/src/pkg/crypto/tls/conn.go:897 +0x135
github.com/papertrail/remote_syslog2/syslog.(*conn).watch(0xc21019fa80)
/Users/leon/go/src/github.com/papertrail/remote_syslog2/syslog/syslog.go:29 +0x6c
created by github.com/papertrail/remote_syslog2/syslog.dial
/Users/leon/go/src/github.com/papertrail/remote_syslog2/syslog/syslog.go:73 +0x178
goroutine 5 [chan receive]:
github.com/papertrail/remote_syslog2/syslog.(*Logger).writeLoop(0xc210193500)
/Users/leon/go/src/github.com/papertrail/remote_syslog2/syslog/syslog.go:165 +0x4c
created by github.com/papertrail/remote_syslog2/syslog.Dial
/Users/leon/go/src/github.com/papertrail/remote_syslog2/syslog/syslog.go:109 +0x15c
goroutine 6 [sleep]:
time.Sleep(0x2540be400)
/usr/local/go/src/pkg/runtime/time.goc:31 +0x31
main.tailFiles(0xc210053120, 0x0, 0x9, 0x8d12f0, 0x0, ...)
/Users/leon/go/src/github.com/papertrail/remote_syslog2/remote_syslog.go:61 +0x23e
created by main.main
/Users/leon/go/src/github.com/papertrail/remote_syslog2/remote_syslog.go:122 +0x695
rax 0xfffffffffffffffc
rbx 0x8c8a20
rcx 0xffffffffffffffff
rdx 0x80
rdi 0x4
rsi 0x7fff64fad190
rbp 0x0
rsp 0x7fff64fad150
r8 0x0
r9 0x0
r10 0xffffffff
r11 0x202
r12 0x600760
r13 0x0
r14 0x72
r15 0x10
rip 0x42a179
rflags 0x202
cs 0x33
fs 0x0
gs 0x0
Thanks for looking at it,
Anthony
It's not a real panic, but is the default behavior for a go
binary to dump a stacktrace when it receives a SIGQUIT
. We don't currently catch this signal and override that behavior since a reason to do so hasn't surfaced.
I'll leave this open if others have concerns or are curious about the behavior.