nolanlum/tanya

Investigate deadlock (possibly) in nlopes/slack

Closed this issue · 0 comments

receiveIncomingEvent is blocked on chan send, and the receiver, handleEvents is blocked on chan receive on a time.Timer.C

SIGABRT: abort
PC=0x458721 m=0 sigcode=0

goroutine 0 [idle]:
runtime.futex(0x8f2628, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fffaf494538, 0x41062b, ...)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/sys_linux_amd64.s:526 +0x21
runtime.futexsleep(0x8f2628, 0x7f7700000000, 0xffffffffffffffff)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/os_linux.go:45 +0x4b
runtime.notesleep(0x8f2628)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/lock_futex.go:151 +0x9b
runtime.stopm()
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/proc.go:1947 +0xe5
runtime.findrunnable(0xc420020000, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/proc.go:2410 +0x50c
runtime.schedule()
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/proc.go:2536 +0x13b
runtime.park_m(0xc420000c00)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/proc.go:2599 +0xb6
runtime.mcall(0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/asm_amd64.s:351 +0x5b

goroutine 1 [semacquire, 5489 minutes]:
sync.runtime_Semacquire(0xc4200149ac)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/sema.go:56 +0x39
sync.(*WaitGroup).Wait(0xc4200149a0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/sync/waitgroup.go:129 +0x72
main.main()
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:261 +0x301

goroutine 5 [syscall, 5489 minutes]:
os/signal.signal_recv(0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/sigqueue.go:139 +0xa6
os/signal.loop()
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.0
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/os/signal/signal_unix.go:28 +0x41

goroutine 6 [chan receive, 5489 minutes]:
main.killHandler(0xc42005c4e0, 0xc42001a180)
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:21 +0x34
created by main.main
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:248 +0x129

goroutine 7 [select, 5489 minutes, locked to thread]:
runtime.gopark(0x754600, 0x0, 0x73e1df, 0x6, 0x18, 0x1)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/proc.go:291 +0x11a
runtime.selectgo(0xc420034f50, 0xc42001a240)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/select.go:392 +0xe50
runtime.ensureSigM.func1()
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/signal_unix.go:549 +0x1f4
runtime.goexit()
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/asm_amd64.s:2361 +0x1

goroutine 8 [select, 30 minutes]:
main.writeMessageLoop(0xc42001a5a0, 0xc42001a780, 0xc42001a180, 0xc42007cb40)
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:182 +0xe9
main.launchGateway(0xc420059040, 0xc42001a180)
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:232 +0x25f
main.main.func1(0xc42001a180, 0xc4200149a0, 0xc42001e380, 0x34, 0xc4200147a8, 0x5, 0xc420016740, 0xe, 0x0, 0x0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:256 +0x75
created by main.main
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:255 +0x2c5

goroutine 9 [select, 53 minutes]:
main.writeMessageLoop(0xc42001a840, 0xc42001aa20, 0xc42001a180, 0xc42007cbe0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:182 +0xe9
main.launchGateway(0xc420059100, 0xc42001a180)
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:232 +0x25f
main.main.func1(0xc42001a180, 0xc4200149a0, 0xc42001e440, 0x30, 0xc420014818, 0x5, 0xc420016820, 0xe, 0x0, 0x0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:256 +0x75
created by main.main
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:255 +0x2c5

goroutine 10 [select, 52 minutes]:
main.writeMessageLoop(0xc42001a300, 0xc42001a4e0, 0xc42001a180, 0xc42007caa0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:182 +0xe9
main.launchGateway(0xc420058f80, 0xc42001a180)
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:232 +0x25f
main.main.func1(0xc42001a180, 0xc4200149a0, 0xc42001e540, 0x34, 0xc420014888, 0x5, 0xc420016900, 0xe, 0x0, 0x0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:256 +0x75
created by main.main
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:255 +0x2c5

goroutine 12 [chan receive, 52 minutes]:
github.com/nolanlum/tanya/gateway.(*SlackClient).Poop(0xc42010e400, 0xc4200e74a0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/gateway/slack.go:376 +0x12e
created by main.launchGateway
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:221 +0xdf

goroutine 13 [IO wait, 5489 minutes]:
internal/poll.runtime_pollWait(0x7f770eb90e30, 0x72, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42010e818, 0x72, 0xc420058f00, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42010e818, 0xffffffffffffff00, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc42010e800, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc42010e800, 0xc420074120, 0xa6dc3abade31781a, 0xc420043ed8)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc42000e0d0, 0x4538f0, 0xc420043ef0, 0xc420043ef8)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).AcceptTCP(0xc42000e0d0, 0x753d10, 0xc42007caa0, 0xc4203577c0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/tcpsock.go:246 +0x49
github.com/nolanlum/tanya/irc.(*Server).Listen(0xc42007caa0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:73 +0x2dc
created by main.launchGateway
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:229 +0x207

goroutine 14 [chan receive, 52 minutes]:
github.com/nolanlum/tanya/irc.(*Server).HandleOutgoingMessageRouting(0xc42007caa0, 0xc42001a4e0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:157 +0xa4
created by main.launchGateway
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:230 +0x233

goroutine 15 [chan receive, 30 minutes]:
github.com/nolanlum/tanya/gateway.(*SlackClient).Poop(0xc42010e480, 0xc4200e74e0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/gateway/slack.go:376 +0x12e
created by main.launchGateway
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:221 +0xdf

goroutine 16 [IO wait, 5489 minutes]:
internal/poll.runtime_pollWait(0x7f770eb90d60, 0x72, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42010e998, 0x72, 0xc420059100, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42010e998, 0xffffffffffffff00, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc42010e980, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc42010e980, 0xc420074120, 0x163c5815ef512eb3, 0xc420179ed8)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc42000e0f8, 0x4538f0, 0xc420179ef0, 0xc420179ef8)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).AcceptTCP(0xc42000e0f8, 0x753d10, 0xc42007cb40, 0xc420356f00)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/tcpsock.go:246 +0x49
github.com/nolanlum/tanya/irc.(*Server).Listen(0xc42007cb40)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:73 +0x2dc
created by main.launchGateway
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:229 +0x207

goroutine 18 [chan receive, 30 minutes]:
github.com/nolanlum/tanya/irc.(*Server).HandleOutgoingMessageRouting(0xc42007cb40, 0xc42001a780)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:157 +0xa4
created by main.launchGateway
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:230 +0x233

goroutine 19 [chan receive, 53 minutes]:
github.com/nolanlum/tanya/gateway.(*SlackClient).Poop(0xc42010e500, 0xc4200e7540)
        /home/travis/gopath/src/github.com/nolanlum/tanya/gateway/slack.go:376 +0x12e
created by main.launchGateway
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:221 +0xdf

goroutine 20 [IO wait, 5489 minutes]:
internal/poll.runtime_pollWait(0x7f770eb90c90, 0x72, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42010eb18, 0x72, 0xc420059300, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42010eb18, 0xffffffffffffff00, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc42010eb00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc42010eb00, 0xc420074120, 0xd7559cb5bd94e3ee, 0xc42017bed8)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc42000e120, 0x4538f0, 0xc42017bef0, 0xc42017bef8)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).AcceptTCP(0xc42000e120, 0x753d10, 0xc42007cbe0, 0xc4203575e0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/tcpsock.go:246 +0x49
github.com/nolanlum/tanya/irc.(*Server).Listen(0xc42007cbe0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:73 +0x2dc
created by main.launchGateway
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:229 +0x207

goroutine 21 [chan receive, 53 minutes]:
github.com/nolanlum/tanya/irc.(*Server).HandleOutgoingMessageRouting(0xc42007cbe0, 0xc42001aa20)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:157 +0xa4
created by main.launchGateway
        /home/travis/gopath/src/github.com/nolanlum/tanya/main.go:230 +0x233

goroutine 22 [chan receive, 52 minutes]:
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.timerReset(0xc4200746e0, 0x1bf08eb000)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/misc.go:237 +0x70
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).resetDeadman(0xc4200b49a0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket.go:113 +0x3c
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handlePong(0xc4200b49a0, 0xc42001f680, 0x37, 0x40)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:405 +0x5a
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handleRawEvent(0xc4200b49a0, 0xc42001f680, 0x37, 0x40, 0xc4203d2040, 0x5)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:361 +0x174
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handleEvents(0xc4200b49a0, 0xc4201b0de0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:230 +0x2d3
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).ManageConnection(0xc4200b49a0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:64 +0x290
created by github.com/nolanlum/tanya/gateway.(*SlackClient).Poop
        /home/travis/gopath/src/github.com/nolanlum/tanya/gateway/slack.go:367 +0x89

goroutine 27 [chan receive, 30 minutes]:
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.timerReset(0xc420074960, 0x1bf08eb000)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/misc.go:237 +0x70
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).resetDeadman(0xc4200b4c60)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket.go:113 +0x3c
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handlePong(0xc4200b4c60, 0xc4202c0440, 0x37, 0x40)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:405 +0x5a
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handleRawEvent(0xc4200b4c60, 0xc4202c0440, 0x37, 0x40, 0xc42047ee78, 0x7)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:361 +0x174
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handleEvents(0xc4200b4c60, 0xc42001b680)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:230 +0x2d3
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).ManageConnection(0xc4200b4c60)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:64 +0x290
created by github.com/nolanlum/tanya/gateway.(*SlackClient).Poop
        /home/travis/gopath/src/github.com/nolanlum/tanya/gateway/slack.go:367 +0x89

goroutine 29 [chan receive, 52 minutes]:
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.timerReset(0xc420074be0, 0x1bf08eb000)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/misc.go:237 +0x70
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).resetDeadman(0xc4200b4f20)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket.go:113 +0x3c
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handlePong(0xc4200b4f20, 0xc42001f780, 0x37, 0x40)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:405 +0x5a
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handleRawEvent(0xc4200b4f20, 0xc42001f780, 0x37, 0x40, 0xc4202017b0, 0x5)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:361 +0x174
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handleEvents(0xc4200b4f20, 0xc420333260)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:230 +0x2d3
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).ManageConnection(0xc4200b4f20)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:64 +0x290
created by github.com/nolanlum/tanya/gateway.(*SlackClient).Poop
        /home/travis/gopath/src/github.com/nolanlum/tanya/gateway/slack.go:367 +0x89

goroutine 31 [select, 2136 minutes]:
github.com/nolanlum/tanya/irc.(*Server).handleIncomingMessageRouting(0xc42007caa0, 0xc42001b0e0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:129 +0x1a6
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:69 +0x219

goroutine 32 [chan receive, 5489 minutes]:
github.com/nolanlum/tanya/irc.(*Server).waitForKillListener(0xc42007caa0, 0xc42000e0d0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:109 +0x4d
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:70 +0x248

goroutine 33 [select, 30 minutes]:
github.com/nolanlum/tanya/irc.(*Server).handleIncomingMessageRouting(0xc42007cb40, 0xc42001b140)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:129 +0x1a6
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:69 +0x219

goroutine 34 [chan receive, 5489 minutes]:
github.com/nolanlum/tanya/irc.(*Server).waitForKillListener(0xc42007cb40, 0xc42000e0f8)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:109 +0x4d
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:70 +0x248

goroutine 35 [select, 2130 minutes]:
github.com/nolanlum/tanya/irc.(*Server).handleIncomingMessageRouting(0xc42007cbe0, 0xc42001b1a0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:129 +0x1a6
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:69 +0x219

goroutine 36 [chan receive, 5489 minutes]:
github.com/nolanlum/tanya/irc.(*Server).waitForKillListener(0xc42007cbe0, 0xc42000e120)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:109 +0x4d
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:70 +0x248

goroutine 304 [select, 4 minutes]:
github.com/nolanlum/tanya/irc.(*clientConnection).handleConnOutput(0xc420356f00)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/client.go:281 +0xe8
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:93 +0x29f

goroutine 1322 [chan send, 52 minutes]:
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).receiveIncomingEvent(0xc4200b4f20, 0xc420333260, 0x0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:339 +0x24f
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handleIncomingEvents(0xc4200b4f20, 0xc420333260)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:252 +0x4b
created by github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).ManageConnection
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:61 +0x275

goroutine 1717 [IO wait]:
internal/poll.runtime_pollWait(0x7f770eb906e0, 0x72, 0xc420536858)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42091e698, 0x72, 0xffffffffffffff00, 0x77aea0, 0x8ba458)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42091e698, 0xc42054c000, 0x1000, 0x1000)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42091e680, 0xc42054c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42091e680, 0xc42054c000, 0x1000, 0x1000, 0x8, 0x8, 0xff3)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42000e090, 0xc42054c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/net.go:176 +0x6a
crypto/tls.(*block).readFromUntil(0xc4209a4d20, 0x77a280, 0xc42000e090, 0x5, 0xc42000e090, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/crypto/tls/conn.go:493 +0x96
crypto/tls.(*Conn).readRecord(0xc4204a7180, 0x754617, 0xc4204a72a0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/crypto/tls/conn.go:595 +0xe0
crypto/tls.(*Conn).Read(0xc4204a7180, 0xc42019f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/crypto/tls/conn.go:1156 +0x100
bufio.(*Reader).Read(0xc42084fa40, 0xc420262498, 0x9, 0x9, 0xc420536c50, 0x46aa53, 0xc420536c60)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/bufio/bufio.go:216 +0x238
io.ReadAtLeast(0x779e60, 0xc42084fa40, 0xc420262498, 0x9, 0x9, 0x9, 0xc4203bf801, 0xc420536d00, 0x618cfb)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/io/io.go:309 +0x86
io.ReadFull(0x779e60, 0xc42084fa40, 0xc420262498, 0x9, 0x9, 0xc420010070, 0xc420536d30, 0x618c0d)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/io/io.go:327 +0x58
net/http.http2readFrameHeader(0xc420262498, 0x9, 0x9, 0x779e60, 0xc42084fa40, 0x0, 0x0, 0xc4209a5770, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/http/h2_bundle.go:1517 +0x7b
net/http.(*http2Framer).ReadFrame(0xc420262460, 0xc4209a5770, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/http/h2_bundle.go:1775 +0xa4
net/http.(*http2clientConnReadLoop).run(0xc420536fb8, 0x7540f8, 0xc4201027b8)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/http/h2_bundle.go:8028 +0x90
net/http.(*http2ClientConn).readLoop(0xc4203668c0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/http/h2_bundle.go:7956 +0x68
created by net/http.(*http2Transport).newClientConn
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/http/h2_bundle.go:7143 +0x65c

goroutine 303 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7f770eb90950, 0x72, 0xc420871998)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42091e418, 0x72, 0xffffffffffffff00, 0x77aea0, 0x8ba458)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42091e418, 0xc42019e500, 0xa11, 0xa11)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42091e400, 0xc42019e5ef, 0xa11, 0xa11, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42091e400, 0xc42019e5ef, 0xa11, 0xa11, 0x30, 0x6fd3c0, 0xc4203be001)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42000e088, 0xc42019e5ef, 0xa11, 0xa11, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/net.go:176 +0x6a
bufio.(*Scanner).Scan(0xc420871ec8, 0xc420332420)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/bufio/scan.go:208 +0xbf
github.com/nolanlum/tanya/irc.(*clientConnection).handleConnInput(0xc420356f00)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/client.go:102 +0x201
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:92 +0x27d

goroutine 306 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f770eb90880, 0x72, 0xc420467998)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42091e898, 0x72, 0xffffffffffffff00, 0x77aea0, 0x8ba458)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42091e898, 0xc42054d600, 0x92b, 0x92b)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42091e880, 0xc42054d6d5, 0x92b, 0x92b, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42091e880, 0xc42054d6d5, 0x92b, 0x92b, 0x30, 0x6fd3c0, 0xc4203be001)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42000e378, 0xc42054d6d5, 0x92b, 0x92b, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/net.go:176 +0x6a
bufio.(*Scanner).Scan(0xc420467ec8, 0xc420333620)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/bufio/scan.go:208 +0xbf
github.com/nolanlum/tanya/irc.(*clientConnection).handleConnInput(0xc4203575e0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/client.go:102 +0x201
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:92 +0x27d

goroutine 313 [chan receive, 5489 minutes]:
github.com/nolanlum/tanya/irc.(*Server).waitForClientCleanup(0xc42007caa0, 0xc4203577c0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:99 +0x3f
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:94 +0x2ce

goroutine 312 [select]:
github.com/nolanlum/tanya/irc.(*clientConnection).handleConnOutput(0xc4203577c0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/client.go:281 +0xe8
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:93 +0x29f

goroutine 311 [IO wait]:
internal/poll.runtime_pollWait(0x7f770eb907b0, 0x72, 0xc42031f998)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42091f098, 0x72, 0xffffffffffffff00, 0x77aea0, 0x8ba458)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42091f098, 0xc420859500, 0xa98, 0xa98)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42091f080, 0xc420859568, 0xa98, 0xa98, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42091f080, 0xc420859568, 0xa98, 0xa98, 0x0, 0xc420120180, 0xc4202c1280)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc42000e4a0, 0xc420859568, 0xa98, 0xa98, 0x0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/net/net.go:176 +0x6a
bufio.(*Scanner).Scan(0xc42031fec8, 0xc420333e00)
        /home/travis/.gimme/versions/go1.10.linux.amd64/src/bufio/scan.go:208 +0xbf
github.com/nolanlum/tanya/irc.(*clientConnection).handleConnInput(0xc4203577c0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/client.go:102 +0x201
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:92 +0x27d

goroutine 305 [chan receive, 5489 minutes]:
github.com/nolanlum/tanya/irc.(*Server).waitForClientCleanup(0xc42007cb40, 0xc420356f00)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:99 +0x3f
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:94 +0x2ce

goroutine 1596 [chan send, 30 minutes]:
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).receiveIncomingEvent(0xc4200b4c60, 0xc42001b680, 0x0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:339 +0x24f
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handleIncomingEvents(0xc4200b4c60, 0xc42001b680)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:252 +0x4b
created by github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).ManageConnection
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:61 +0x275

goroutine 307 [select, 2 minutes]:
github.com/nolanlum/tanya/irc.(*clientConnection).handleConnOutput(0xc4203575e0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/client.go:281 +0xe8
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:93 +0x29f

goroutine 308 [chan receive, 5489 minutes]:
github.com/nolanlum/tanya/irc.(*Server).waitForClientCleanup(0xc42007cbe0, 0xc4203575e0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:99 +0x3f
created by github.com/nolanlum/tanya/irc.(*Server).Listen
        /home/travis/gopath/src/github.com/nolanlum/tanya/irc/server.go:94 +0x2ce

goroutine 1328 [chan send, 52 minutes]:
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).receiveIncomingEvent(0xc4200b49a0, 0xc4201b0de0, 0x0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:339 +0x24f
github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).handleIncomingEvents(0xc4200b49a0, 0xc4201b0de0)
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:252 +0x4b
created by github.com/nolanlum/tanya/vendor/github.com/nlopes/slack.(*RTM).ManageConnection
        /home/travis/gopath/src/github.com/nolanlum/tanya/vendor/github.com/nlopes/slack/websocket_managed_conn.go:61 +0x275

rax    0xca
rbx    0x8f24e0
rcx    0x458723
rdx    0x0
rdi    0x8f2628
rsi    0x0
rbp    0x7fffaf494500
rsp    0x7fffaf4944b8
r8     0x0
r9     0x0
r10    0x0
r11    0x286
r12    0x1d80
r13    0x8
r14    0x7f770ebec000
r15    0x8
rip    0x458721
rflags 0x286
cs     0x33
fs     0x0
gs     0x0