Skip to content

Instantly share code, notes, and snippets.

@aemneina
Created March 20, 2018 04:17
Show Gist options
  • Save aemneina/52a498d21388f1bddbc0417c1eb78eee to your computer and use it in GitHub Desktop.
Save aemneina/52a498d21388f1bddbc0417c1eb78eee to your computer and use it in GitHub Desktop.
websocket-proxy thread dump
SIGQUIT: quit
PC=0x45e53a m=0
goroutine 0 [idle]:
runtime.rtsigprocmask(0xc800000002, 0xc820009894, 0x0)
/usr/local/go/src/runtime/sys_linux_amd64.s:206 +0x1a
runtime.updatesigmask(0x0, 0x0)
/usr/local/go/src/runtime/os1_linux.go:381 +0xfd
runtime.dieFromSignal(0x2)
/usr/local/go/src/runtime/signal1_unix.go:191 +0x3c
runtime.sighandler(0xc800000002, 0xc820009bb0, 0xc820009a80, 0xfd9580)
/usr/local/go/src/runtime/signal_amd64x.go:147 +0x308
runtime.sigtrampgo(0x2, 0xc820009bb0, 0xc820009a80)
/usr/local/go/src/runtime/signal_sigtramp.go:48 +0xf6
runtime.sigtramp(0x7, 0x0, 0xc820002000, 0x0, 0x7fa0, 0x0, 0x0, 0x0, 0x286, 0x10, ...)
/usr/local/go/src/runtime/sys_linux_amd64.s:234 +0x1b
runtime.sigreturn(0x0, 0xc820002000, 0x0, 0x7fa0, 0x0, 0x0, 0x0, 0x286, 0x10, 0xb5399e, ...)
/usr/local/go/src/runtime/sys_linux_amd64.s:238
goroutine 1 [IO wait]:
net.runtime_pollWait(0x7f3db9fcc8b0, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201c19c0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201c19c0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).accept(0xc8201c1960, 0x0, 0x7f3db9fe1210, 0xc8203a1560)
/usr/local/go/src/net/fd_unix.go:426 +0x27c
net.(*TCPListener).AcceptTCP(0xc820022540, 0xecf4b164e8600, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:254 +0x4d
net.(*TCPListener).Accept(0xc820022540, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:264 +0x3d
github.com/rancher/websocket-proxy/proxy/proxyprotocol.(*Listener).Accept(0xc8201bd2e0, 0x0, 0x0, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxyprotocol/proxy_protocol.go:71 +0x79
github.com/rancher/websocket-proxy/proxy/tls.(*SplitListener).Accept(0xc8203a0160, 0x0, 0x0, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/tls/splitter.go:29 +0x79
net/http.(*Server).Serve(0xc8201a6c80, 0x7f3db9fe10f0, 0xc8203a0160, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2117 +0x129
github.com/rancher/websocket-proxy/proxy.(*Starter).StartProxy(0xc82000d220, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:168 +0x160c
main.main()
/go/src/github.com/rancher/websocket-proxy/main.go:89 +0x6f6
goroutine 17 [syscall, 1 minutes, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1998 +0x1
goroutine 10 [sleep]:
time.Sleep(0x12a05f200)
/usr/local/go/src/runtime/time.go:59 +0xf9
github.com/rancher/websocket-proxy/proxy.(*Switcher).start(0xc8200d2660)
/go/src/github.com/rancher/websocket-proxy/proxy/frontend_switcher.go:58 +0x1f5
created by github.com/rancher/websocket-proxy/proxy.NewSwitcher
/go/src/github.com/rancher/websocket-proxy/proxy/frontend_switcher.go:25 +0x80
goroutine 41 [chan receive, 1 minutes]:
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket(0xc8200e0740, 0x7f3db9fe1308, 0xc8200c1110, 0xc82033cee0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:322 +0x920
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).ServeHTTP(0xc8200e0740, 0x7f3db9fe1308, 0xc8200c1110, 0xc82033cee0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:280 +0x98
github.com/rancher/websocket-proxy/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc82000f1d0, 0x7f3db9fe1308, 0xc8200c1110, 0xc82033cee0)
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/gorilla/mux/mux.go:107 +0x297
github.com/rancher/websocket-proxy/proxy.(*pathCleaner).ServeHTTP(0xc820022538, 0x7f3db9fe1308, 0xc8200c1110, 0xc82033cee0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:209 +0xe9
github.com/rancher/websocket-proxy/proxy.(*SwarmHandler).ServeHTTP(0xc8201c43e0, 0x7f3db9fe1308, 0xc8200c1110, 0xc82033cee0)
/go/src/github.com/rancher/websocket-proxy/proxy/swarm_handler.go:14 +0xba
net/http.serverHandler.ServeHTTP(0xc8201a6c80, 0x7f3db9fe1308, 0xc8200c1110, 0xc82033cee0)
/usr/local/go/src/net/http/server.go:2081 +0x19e
net/http.(*conn).serve(0xc8204f2a80)
/usr/local/go/src/net/http/server.go:1472 +0xf2e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2137 +0x44e
goroutine 11 [select]:
github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache.(*janitor).Run(0xc8200d6480, 0xc8200f4040)
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache/cache.go:1037 +0x15c
created by github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache.runJanitor
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache/cache.go:1056 +0x81
goroutine 12 [sleep]:
time.Sleep(0xee6b280)
/usr/local/go/src/runtime/time.go:59 +0xf9
github.com/rancher/websocket-proxy/proxy.(*Starter).StartProxy.func1(0xc82000d220)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:117 +0x14c
created by github.com/rancher/websocket-proxy/proxy.(*Starter).StartProxy
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:119 +0x10a8
goroutine 527 [IO wait]:
net.runtime_pollWait(0x7f3db9fcc070, 0x72, 0xc82034f000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201c1a30, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201c1a30, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201c19d0, 0xc82034f000, 0x1000, 0x1000, 0x0, 0x7f3db9fc7050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200225f0, 0xc82034f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
bufio.(*Reader).Read(0xc8204f1560, 0xc82034f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/proxyprotocol.(*Conn).Read(0xc82039d7a0, 0xc82034f000, 0x1000, 0x1000, 0x1, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxyprotocol/proxy_protocol.go:107 +0xdc
bufio.(*Reader).fill(0xc8204f15c0)
/usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Read(0xc8204f15c0, 0xc82031d4d9, 0x1, 0x1, 0x87c020, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:207 +0x260
github.com/rancher/websocket-proxy/proxy/tls.(*Conn).Read(0xc82039d7d0, 0xc82031d4d9, 0x1, 0x1, 0x20002, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/tls/splitter.go:20 +0x7d
net/http.(*connReader).closeNotifyAwaitActivityRead(0xc8203ad6c0, 0xc8204f0660, 0xc8203a0280)
/usr/local/go/src/net/http/server.go:542 +0x9c
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:537 +0x92
goroutine 42 [IO wait]:
net.runtime_pollWait(0x7f3db9fcc970, 0x72, 0xc8202f4000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82016d480, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82016d480, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82016d420, 0xc8202f4000, 0x8000, 0x8000, 0x0, 0x7f3db9fc7050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200225b8, 0xc8202f4000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
bufio.(*Reader).Read(0xc8204107e0, 0xc8202f4000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/proxyprotocol.(*Conn).Read(0xc82039ccc0, 0xc8202f4000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxyprotocol/proxy_protocol.go:107 +0xdc
bufio.(*Reader).Read(0xc820410840, 0xc8202f4000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/tls.(*Conn).Read(0xc82039ccf0, 0xc8202f4000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/tls/splitter.go:20 +0x7d
io.copyBuffer(0x7f3db9fe58f8, 0xc8203802e0, 0x7f3db9fe1238, 0xc82039ccf0, 0xc8202f4000, 0x8000, 0x8000, 0x8a, 0x0, 0x0)
/usr/local/go/src/io/io.go:380 +0x247
io.Copy(0x7f3db9fe58f8, 0xc8203802e0, 0x7f3db9fe1238, 0xc82039ccf0, 0xc8203802e0, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
net.genericReadFrom(0x7f3db9fccbc0, 0xc8200225d0, 0x7f3db9fe1238, 0xc82039ccf0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:569 +0xb1
net.(*TCPConn).ReadFrom(0xc8200225d0, 0x7f3db9fe1238, 0xc82039ccf0, 0xc82001c6a0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:63 +0x2f1
io.copyBuffer(0x7f3db9fccbc0, 0xc8200225d0, 0x7f3db9fe1238, 0xc82039ccf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:374 +0x180
io.Copy(0x7f3db9fccbc0, 0xc8200225d0, 0x7f3db9fe1238, 0xc82039ccf0, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket.func1(0x7f3db9fccbc0, 0xc8200225d0, 0x7f3db9fe1238, 0xc82039ccf0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:317 +0x4f
created by github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:320 +0x844
goroutine 372 [IO wait]:
net.runtime_pollWait(0x7f3db9fcc130, 0x72, 0xc8203ba000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201a9950, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201a9950, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201a98f0, 0xc8203ba000, 0x8000, 0x8000, 0x0, 0x7f3db9fc7050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820022668, 0xc8203ba000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
io.copyBuffer(0x7f3db9fe5808, 0xc82018fcb0, 0x7f3db9fccb70, 0xc820022668, 0xc8203ba000, 0x8000, 0x8000, 0x7f8, 0x0, 0x0)
/usr/local/go/src/io/io.go:380 +0x247
io.Copy(0x7f3db9fe5808, 0xc82018fcb0, 0x7f3db9fccb70, 0xc820022668, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket.func1(0x7f3db9fe5808, 0xc82018fcb0, 0x7f3db9fccb70, 0xc820022668)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:317 +0x4f
created by github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:321 +0x8fd
goroutine 43 [IO wait]:
net.runtime_pollWait(0x7f3db9fcc730, 0x72, 0xc8203e6000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82016d6b0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82016d6b0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82016d650, 0xc8203e6000, 0x8000, 0x8000, 0x0, 0x7f3db9fc7050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200225d0, 0xc8203e6000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
io.copyBuffer(0x7f3db9fe5808, 0xc82039ccf0, 0x7f3db9fccb70, 0xc8200225d0, 0xc8203e6000, 0x8000, 0x8000, 0x286c, 0x0, 0x0)
/usr/local/go/src/io/io.go:380 +0x247
io.Copy(0x7f3db9fe5808, 0xc82039ccf0, 0x7f3db9fccb70, 0xc8200225d0, 0x7f3db9fe1238, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket.func1(0x7f3db9fe5808, 0xc82039ccf0, 0x7f3db9fccb70, 0xc8200225d0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:317 +0x4f
created by github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:321 +0x8fd
goroutine 308 [chan receive]:
net/http.(*connReader).Read(0xc8203ad6c0, 0xc82029c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:519 +0x104
bufio.(*Reader).fill(0xc8200ee600)
/usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc8200ee600, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:328 +0x21a
bufio.(*Reader).ReadLine(0xc8200ee600, 0x0, 0x0, 0x0, 0xa17200, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:357 +0x53
net/textproto.(*Reader).readLineSlice(0xc820149290, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:55 +0x81
net/textproto.(*Reader).ReadLine(0xc820149290, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/textproto/reader.go:36 +0x40
net/http.readRequest(0xc8200ee600, 0x200, 0xc82029e9a0, 0x0, 0x0)
/usr/local/go/src/net/http/request.go:721 +0xb6
net/http.(*conn).readRequest(0xc8204f3200, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:705 +0x359
net/http.(*conn).serve(0xc8204f3200)
/usr/local/go/src/net/http/server.go:1425 +0x947
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2137 +0x44e
goroutine 226 [IO wait, 1 minutes]:
net.runtime_pollWait(0x7f3db9fcc430, 0x72, 0xc820282000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820196d80, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820196d80, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820196d20, 0xc820282000, 0x8000, 0x8000, 0x0, 0x7f3db9fc7050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200227a0, 0xc820282000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
bufio.(*Reader).Read(0xc8204f1920, 0xc820282000, 0x8000, 0x8000, 0xc820282000, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/proxyprotocol.(*Conn).Read(0xc82014fef0, 0xc820282000, 0x8000, 0x8000, 0x450ad0, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxyprotocol/proxy_protocol.go:107 +0xdc
bufio.(*Reader).Read(0xc8204f1980, 0xc820282000, 0x8000, 0x8000, 0x8000, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/tls.(*Conn).Read(0xc82014ff20, 0xc820282000, 0x8000, 0x8000, 0x8000, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/tls/splitter.go:20 +0x7d
io.copyBuffer(0x7f3db9fe58f8, 0xc820117ed0, 0x7f3db9fe1238, 0xc82014ff20, 0xc820282000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:380 +0x247
io.Copy(0x7f3db9fe58f8, 0xc820117ed0, 0x7f3db9fe1238, 0xc82014ff20, 0xc820117ed0, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
net.genericReadFrom(0x7f3db9fccbc0, 0xc8200227b8, 0x7f3db9fe1238, 0xc82014ff20, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:569 +0xb1
net.(*TCPConn).ReadFrom(0xc8200227b8, 0x7f3db9fe1238, 0xc82014ff20, 0xc820020ea0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:63 +0x2f1
io.copyBuffer(0x7f3db9fccbc0, 0xc8200227b8, 0x7f3db9fe1238, 0xc82014ff20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:374 +0x180
io.Copy(0x7f3db9fccbc0, 0xc8200227b8, 0x7f3db9fe1238, 0xc82014ff20, 0x7f3db9fe1238, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket.func1(0x7f3db9fccbc0, 0xc8200227b8, 0x7f3db9fe1238, 0xc82014ff20)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:317 +0x4f
created by github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:320 +0x844
goroutine 225 [chan receive, 1 minutes]:
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket(0xc8200e0740, 0x7f3db9fe1308, 0xc820185520, 0xc820169880)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:322 +0x920
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).ServeHTTP(0xc8200e0740, 0x7f3db9fe1308, 0xc820185520, 0xc820169880)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:280 +0x98
github.com/rancher/websocket-proxy/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc82000f1d0, 0x7f3db9fe1308, 0xc820185520, 0xc820169880)
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/gorilla/mux/mux.go:107 +0x297
github.com/rancher/websocket-proxy/proxy.(*pathCleaner).ServeHTTP(0xc820022538, 0x7f3db9fe1308, 0xc820185520, 0xc820169880)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:209 +0xe9
github.com/rancher/websocket-proxy/proxy.(*SwarmHandler).ServeHTTP(0xc8201c43e0, 0x7f3db9fe1308, 0xc820185520, 0xc820169880)
/go/src/github.com/rancher/websocket-proxy/proxy/swarm_handler.go:14 +0xba
net/http.serverHandler.ServeHTTP(0xc8201a6c80, 0x7f3db9fe1308, 0xc820185520, 0xc820169880)
/usr/local/go/src/net/http/server.go:2081 +0x19e
net/http.(*conn).serve(0xc8201a6d00)
/usr/local/go/src/net/http/server.go:1472 +0xf2e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2137 +0x44e
goroutine 227 [IO wait]:
net.runtime_pollWait(0x7f3db9fcc370, 0x72, 0xc82027a000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc820196f40, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820196f40, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820196ee0, 0xc82027a000, 0x8000, 0x8000, 0x0, 0x7f3db9fc7050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200227b8, 0xc82027a000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
io.copyBuffer(0x7f3db9fe5808, 0xc82014ff20, 0x7f3db9fccb70, 0xc8200227b8, 0xc82027a000, 0x8000, 0x8000, 0x62686, 0x0, 0x0)
/usr/local/go/src/io/io.go:380 +0x247
io.Copy(0x7f3db9fe5808, 0xc82014ff20, 0x7f3db9fccb70, 0xc8200227b8, 0x698b80, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket.func1(0x7f3db9fe5808, 0xc82014ff20, 0x7f3db9fccb70, 0xc8200227b8)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:317 +0x4f
created by github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:321 +0x8fd
goroutine 371 [IO wait]:
net.runtime_pollWait(0x7f3db9fcc7f0, 0x72, 0xc8203c2000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201a9790, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201a9790, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201a9730, 0xc8203c2000, 0x8000, 0x8000, 0x0, 0x7f3db9fc7050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820022650, 0xc8203c2000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
bufio.(*Reader).Read(0xc82011a240, 0xc8203c2000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/proxyprotocol.(*Conn).Read(0xc82018fc80, 0xc8203c2000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxyprotocol/proxy_protocol.go:107 +0xdc
bufio.(*Reader).Read(0xc82011a300, 0xc8203c2000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/tls.(*Conn).Read(0xc82018fcb0, 0xc8203c2000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/tls/splitter.go:20 +0x7d
io.copyBuffer(0x7f3db9fe58f8, 0xc82015ce60, 0x7f3db9fe1238, 0xc82018fcb0, 0xc8203c2000, 0x8000, 0x8000, 0x3c, 0x0, 0x0)
/usr/local/go/src/io/io.go:380 +0x247
io.Copy(0x7f3db9fe58f8, 0xc82015ce60, 0x7f3db9fe1238, 0xc82018fcb0, 0xc82015ce60, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
net.genericReadFrom(0x7f3db9fccbc0, 0xc820022668, 0x7f3db9fe1238, 0xc82018fcb0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:569 +0xb1
net.(*TCPConn).ReadFrom(0xc820022668, 0x7f3db9fe1238, 0xc82018fcb0, 0xc8203e46a0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:63 +0x2f1
io.copyBuffer(0x7f3db9fccbc0, 0xc820022668, 0x7f3db9fe1238, 0xc82018fcb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:374 +0x180
io.Copy(0x7f3db9fccbc0, 0xc820022668, 0x7f3db9fe1238, 0xc82018fcb0, 0x698b80, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket.func1(0x7f3db9fccbc0, 0xc820022668, 0x7f3db9fe1238, 0xc82018fcb0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:317 +0x4f
created by github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:320 +0x844
goroutine 370 [chan receive, 1 minutes]:
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket(0xc8200e0740, 0x7f3db9fe1308, 0xc820052680, 0xc82029f5e0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:322 +0x920
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).ServeHTTP(0xc8200e0740, 0x7f3db9fe1308, 0xc820052680, 0xc82029f5e0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:280 +0x98
github.com/rancher/websocket-proxy/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc82000f1d0, 0x7f3db9fe1308, 0xc820052680, 0xc82029f5e0)
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/gorilla/mux/mux.go:107 +0x297
github.com/rancher/websocket-proxy/proxy.(*pathCleaner).ServeHTTP(0xc820022538, 0x7f3db9fe1308, 0xc820052680, 0xc82029f5e0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:209 +0xe9
github.com/rancher/websocket-proxy/proxy.(*SwarmHandler).ServeHTTP(0xc8201c43e0, 0x7f3db9fe1308, 0xc820052680, 0xc82029f5e0)
/go/src/github.com/rancher/websocket-proxy/proxy/swarm_handler.go:14 +0xba
net/http.serverHandler.ServeHTTP(0xc8201a6c80, 0x7f3db9fe1308, 0xc820052680, 0xc82029f5e0)
/usr/local/go/src/net/http/server.go:2081 +0x19e
net/http.(*conn).serve(0xc8204f3f00)
/usr/local/go/src/net/http/server.go:1472 +0xf2e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2137 +0x44e
goroutine 297 [IO wait]:
net.runtime_pollWait(0x7f3db9fcbef0, 0x72, 0xc820126000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201c15d0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201c15d0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8201c1570, 0xc820126000, 0x1000, 0x1000, 0x0, 0x7f3db9fc7050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200225d8, 0xc820126000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
net/http.noteEOFReader.Read(0x7f3db9fccb70, 0xc8200225d8, 0xc82033ba68, 0xc820126000, 0x1000, 0x1000, 0x4062a3, 0x0, 0x0)
/usr/local/go/src/net/http/transport.go:1690 +0x67
net/http.(*noteEOFReader).Read(0xc8203acdc0, 0xc820126000, 0x1000, 0x1000, 0xc820031d1d, 0x0, 0x0)
<autogenerated>:284 +0xd0
bufio.(*Reader).fill(0xc8204f0c60)
/usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc8204f0c60, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:132 +0xcc
net/http.(*persistConn).readLoop(0xc82033ba00)
/usr/local/go/src/net/http/transport.go:1076 +0x177
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:860 +0x10a6
goroutine 298 [select]:
net/http.(*persistConn).writeLoop(0xc82033ba00)
/usr/local/go/src/net/http/transport.go:1280 +0x472
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:861 +0x10cb
rax 0x0
rbx 0xc820009894
rcx 0x45e53a
rdx 0x0
rdi 0x2
rsi 0xc820009894
rbp 0x3
rsp 0xc820009868
r8 0x0
r9 0xc820000000
r10 0x8
r11 0x246
r12 0x10
r13 0xb5399e
r14 0xf
r15 0x8
rip 0x45e53a
rflags 0x246
cs 0x33
fs 0x0
gs 0x0
time="2018-03-20T04:07:02Z" level=info msg="Downloading key from http://localhost:8081/v1/scripts/api.crt"
time="2018-03-20T04:07:02Z" level=info msg="Starting websocket proxy. Listening on [:8080], Proxying to cattle API at [localhost:8081], Monitoring parent pid [7]."
time="2018-03-20T04:07:02Z" level=info msg="Configured http API filter"
time="2018-03-20T04:07:02Z" level=info msg="Configured authTokenValidator API filter"
time="2018-03-20T04:07:02Z" level=info msg="Master config file: master.conf"
time="2018-03-20T04:07:02Z" level=info msg="Master address: some.address:8080"
time="2018-03-20T04:07:02Z" level=info msg="Downloading certificate from http://localhost:8081/v1/credentials/1c1/certificate"
time="2018-03-20T04:09:58Z" level=debug msg="Performing automatic refresh of all catalogs (interval 300 seconds)"
time="2018-03-20T04:09:58Z" level=debug msg="Catalog library is already up to date"
time="2018-03-20T04:09:58Z" level=debug msg="Catalog community is already up to date"
time="2018-03-20T04:09:58Z" level=debug msg="Catalog community is already up to date"
time="2018-03-20T04:09:58Z" level=debug msg="Catalog library is already up to date"
SIGILL: illegal instruction
PC=0x45e6c1 m=0
goroutine 0 [idle]:
runtime.futex(0xfd9c28, 0x0, 0x0, 0x0, 0x0, 0xfd91d0, 0x0, 0x0, 0x410214, 0xfd9c28, ...)
/usr/local/go/src/runtime/sys_linux_amd64.s:306 +0x21
runtime.futexsleep(0xfd9c28, 0x0, 0xffffffffffffffff)
/usr/local/go/src/runtime/os1_linux.go:40 +0x53
runtime.notesleep(0xfd9c28)
/usr/local/go/src/runtime/lock_futex.go:145 +0xa4
runtime.stopm()
/usr/local/go/src/runtime/proc.go:1538 +0x10b
runtime.findrunnable(0xc820016000, 0x0)
/usr/local/go/src/runtime/proc.go:1976 +0x739
runtime.schedule()
/usr/local/go/src/runtime/proc.go:2075 +0x24f
runtime.park_m(0xc820114a80)
/usr/local/go/src/runtime/proc.go:2140 +0x18b
runtime.mcall(0x7ffddd88c420)
/usr/local/go/src/runtime/asm_amd64.s:233 +0x5b
goroutine 1 [IO wait]:
net.runtime_pollWait(0x7f75fbc7b8b0, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201c19c0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201c19c0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).accept(0xc8201c1960, 0x0, 0x7f75fbc90208, 0xc82038ef00)
/usr/local/go/src/net/fd_unix.go:426 +0x27c
net.(*TCPListener).AcceptTCP(0xc820022540, 0xecf7d375eba00, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:254 +0x4d
net.(*TCPListener).Accept(0xc820022540, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:264 +0x3d
github.com/rancher/websocket-proxy/proxy/proxyprotocol.(*Listener).Accept(0xc8201bb2e0, 0x0, 0x0, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxyprotocol/proxy_protocol.go:71 +0x79
github.com/rancher/websocket-proxy/proxy/tls.(*SplitListener).Accept(0xc8203a0b20, 0x0, 0x0, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/tls/splitter.go:29 +0x79
net/http.(*Server).Serve(0xc8201a6c80, 0x7f75fbc900e8, 0xc8203a0b20, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2117 +0x129
github.com/rancher/websocket-proxy/proxy.(*Starter).StartProxy(0xc82000d180, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:168 +0x160c
main.main()
/go/src/github.com/rancher/websocket-proxy/main.go:89 +0x6f6
goroutine 17 [syscall, 3 minutes, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1998 +0x1
goroutine 10 [sleep]:
time.Sleep(0x12a05f200)
/usr/local/go/src/runtime/time.go:59 +0xf9
github.com/rancher/websocket-proxy/proxy.(*Switcher).start(0xc8200ca660)
/go/src/github.com/rancher/websocket-proxy/proxy/frontend_switcher.go:58 +0x1f5
created by github.com/rancher/websocket-proxy/proxy.NewSwitcher
/go/src/github.com/rancher/websocket-proxy/proxy/frontend_switcher.go:25 +0x80
goroutine 8 [IO wait]:
net.runtime_pollWait(0x7f75fbc7b970, 0x72, 0xc8200cd000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8200d0060, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8200d0060, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8200d0000, 0xc8200cd000, 0x1000, 0x1000, 0x0, 0x7f75fbc76050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200220d8, 0xc8200cd000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
net/http.noteEOFReader.Read(0x7f75fbc7bb70, 0xc8200220d8, 0xc8200c03a8, 0xc8200cd000, 0x1000, 0x1000, 0x4062a3, 0x0, 0x0)
/usr/local/go/src/net/http/transport.go:1690 +0x67
net/http.(*noteEOFReader).Read(0xc8200adf60, 0xc8200cd000, 0x1000, 0x1000, 0xc820033d1d, 0x0, 0x0)
<autogenerated>:284 +0xd0
bufio.(*Reader).fill(0xc820050960)
/usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc820050960, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:132 +0xcc
net/http.(*persistConn).readLoop(0xc8200c0340)
/usr/local/go/src/net/http/transport.go:1076 +0x177
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:860 +0x10a6
goroutine 9 [select]:
net/http.(*persistConn).writeLoop(0xc8200c0340)
/usr/local/go/src/net/http/transport.go:1280 +0x472
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:861 +0x10cb
goroutine 11 [select]:
github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache.(*janitor).Run(0xc8200ce480, 0xc8200f4040)
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache/cache.go:1037 +0x15c
created by github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache.runJanitor
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache/cache.go:1056 +0x81
goroutine 12 [sleep]:
time.Sleep(0xee6b280)
/usr/local/go/src/runtime/time.go:59 +0xf9
github.com/rancher/websocket-proxy/proxy.(*Starter).StartProxy.func1(0xc82000d180)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:117 +0x14c
created by github.com/rancher/websocket-proxy/proxy.(*Starter).StartProxy
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:119 +0x10a8
goroutine 26 [chan receive, 3 minutes]:
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket(0xc8200e0740, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:322 +0x920
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).ServeHTTP(0xc8200e0740, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:280 +0x98
github.com/rancher/websocket-proxy/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc82000f1d0, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/gorilla/mux/mux.go:107 +0x297
github.com/rancher/websocket-proxy/proxy.(*pathCleaner).ServeHTTP(0xc820022538, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:209 +0xe9
github.com/rancher/websocket-proxy/proxy.(*SwarmHandler).ServeHTTP(0xc8201c43e0, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/go/src/github.com/rancher/websocket-proxy/proxy/swarm_handler.go:14 +0xba
net/http.serverHandler.ServeHTTP(0xc8201a6c80, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/usr/local/go/src/net/http/server.go:2081 +0x19e
net/http.(*conn).serve(0xc8201a6280)
/usr/local/go/src/net/http/server.go:1472 +0xf2e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2137 +0x44e
goroutine 27 [IO wait]:
net.runtime_pollWait(0x7f75fbc7b670, 0x72, 0xc8202e2000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82016c3e0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82016c3e0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82016c380, 0xc8202e2000, 0x8000, 0x8000, 0x0, 0x7f75fbc76050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820022560, 0xc8202e2000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
bufio.(*Reader).Read(0xc82040e660, 0xc8202e2000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/proxyprotocol.(*Conn).Read(0xc82038a660, 0xc8202e2000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxyprotocol/proxy_protocol.go:107 +0xdc
bufio.(*Reader).Read(0xc82040e6c0, 0xc8202e2000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/tls.(*Conn).Read(0xc82038a690, 0xc8202e2000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/tls/splitter.go:20 +0x7d
io.copyBuffer(0x7f75fbc94918, 0xc82000bc90, 0x7f75fbc90230, 0xc82038a690, 0xc8202e2000, 0x8000, 0x8000, 0xfc, 0x0, 0x0)
/usr/local/go/src/io/io.go:380 +0x247
io.Copy(0x7f75fbc94918, 0xc82000bc90, 0x7f75fbc90230, 0xc82038a690, 0xc82000bc90, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
net.genericReadFrom(0x7f75fbc7bbc0, 0xc820022578, 0x7f75fbc90230, 0xc82038a690, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:569 +0xb1
net.(*TCPConn).ReadFrom(0xc820022578, 0x7f75fbc90230, 0xc82038a690, 0xc82001aea0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:63 +0x2f1
io.copyBuffer(0x7f75fbc7bbc0, 0xc820022578, 0x7f75fbc90230, 0xc82038a690, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:374 +0x180
io.Copy(0x7f75fbc7bbc0, 0xc820022578, 0x7f75fbc90230, 0xc82038a690, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket.func1(0x7f75fbc7bbc0, 0xc820022578, 0x7f75fbc90230, 0xc82038a690)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:317 +0x4f
created by github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:320 +0x844
goroutine 28 [IO wait]:
/usr/local/go/src/runtime/proc.go:2140 +0x18b
runtime.mcall(0x7ffddd88c420)
/usr/local/go/src/runtime/asm_amd64.s:233 +0x5b
goroutine 1 [IO wait]:
net.runtime_pollWait(0x7f75fbc7b8b0, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8201c19c0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8201c19c0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).accept(0xc8201c1960, 0x0, 0x7f75fbc90208, 0xc82038ef00)
/usr/local/go/src/net/fd_unix.go:426 +0x27c
net.(*TCPListener).AcceptTCP(0xc820022540, 0xecf7d375eba00, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:254 +0x4d
net.(*TCPListener).Accept(0xc820022540, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:264 +0x3d
github.com/rancher/websocket-proxy/proxy/proxyprotocol.(*Listener).Accept(0xc8201bb2e0, 0x0, 0x0, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxyprotocol/proxy_protocol.go:71 +0x79
github.com/rancher/websocket-proxy/proxy/tls.(*SplitListener).Accept(0xc8203a0b20, 0x0, 0x0, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/tls/splitter.go:29 +0x79
net/http.(*Server).Serve(0xc8201a6c80, 0x7f75fbc900e8, 0xc8203a0b20, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2117 +0x129
github.com/rancher/websocket-proxy/proxy.(*Starter).StartProxy(0xc82000d180, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:168 +0x160c
main.main()
/go/src/github.com/rancher/websocket-proxy/main.go:89 +0x6f6
goroutine 17 [syscall, 3 minutes, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1998 +0x1
goroutine 10 [sleep]:
time.Sleep(0x12a05f200)
/usr/local/go/src/runtime/time.go:59 +0xf9
github.com/rancher/websocket-proxy/proxy.(*Switcher).start(0xc8200ca660)
/go/src/github.com/rancher/websocket-proxy/proxy/frontend_switcher.go:58 +0x1f5
created by github.com/rancher/websocket-proxy/proxy.NewSwitcher
/go/src/github.com/rancher/websocket-proxy/proxy/frontend_switcher.go:25 +0x80
goroutine 8 [IO wait]:
net.runtime_pollWait(0x7f75fbc7b970, 0x72, 0xc8200cd000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc8200d0060, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8200d0060, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8200d0000, 0xc8200cd000, 0x1000, 0x1000, 0x0, 0x7f75fbc76050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc8200220d8, 0xc8200cd000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
net/http.noteEOFReader.Read(0x7f75fbc7bb70, 0xc8200220d8, 0xc8200c03a8, 0xc8200cd000, 0x1000, 0x1000, 0x4062a3, 0x0, 0x0)
/usr/local/go/src/net/http/transport.go:1690 +0x67
net/http.(*noteEOFReader).Read(0xc8200adf60, 0xc8200cd000, 0x1000, 0x1000, 0xc820033d1d, 0x0, 0x0)
<autogenerated>:284 +0xd0
bufio.(*Reader).fill(0xc820050960)
/usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc820050960, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:132 +0xcc
net/http.(*persistConn).readLoop(0xc8200c0340)
/usr/local/go/src/net/http/transport.go:1076 +0x177
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:860 +0x10a6
goroutine 9 [select]:
net/http.(*persistConn).writeLoop(0xc8200c0340)
/usr/local/go/src/net/http/transport.go:1280 +0x472
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:861 +0x10cb
goroutine 11 [select]:
github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache.(*janitor).Run(0xc8200ce480, 0xc8200f4040)
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache/cache.go:1037 +0x15c
created by github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache.runJanitor
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/patrickmn/go-cache/cache.go:1056 +0x81
goroutine 12 [sleep]:
time.Sleep(0xee6b280)
/usr/local/go/src/runtime/time.go:59 +0xf9
github.com/rancher/websocket-proxy/proxy.(*Starter).StartProxy.func1(0xc82000d180)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:117 +0x14c
created by github.com/rancher/websocket-proxy/proxy.(*Starter).StartProxy
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:119 +0x10a8
goroutine 26 [chan receive, 3 minutes]:
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket(0xc8200e0740, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:322 +0x920
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).ServeHTTP(0xc8200e0740, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:280 +0x98
github.com/rancher/websocket-proxy/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc82000f1d0, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/go/src/github.com/rancher/websocket-proxy/vendor/github.com/gorilla/mux/mux.go:107 +0x297
github.com/rancher/websocket-proxy/proxy.(*pathCleaner).ServeHTTP(0xc820022538, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:209 +0xe9
github.com/rancher/websocket-proxy/proxy.(*SwarmHandler).ServeHTTP(0xc8201c43e0, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/go/src/github.com/rancher/websocket-proxy/proxy/swarm_handler.go:14 +0xba
net/http.serverHandler.ServeHTTP(0xc8201a6c80, 0x7f75fbc90300, 0xc820052410, 0xc8202ea2a0)
/usr/local/go/src/net/http/server.go:2081 +0x19e
net/http.(*conn).serve(0xc8201a6280)
/usr/local/go/src/net/http/server.go:1472 +0xf2e
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2137 +0x44e
goroutine 27 [IO wait]:
net.runtime_pollWait(0x7f75fbc7b670, 0x72, 0xc8202e2000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82016c3e0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82016c3e0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82016c380, 0xc8202e2000, 0x8000, 0x8000, 0x0, 0x7f75fbc76050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820022560, 0xc8202e2000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
bufio.(*Reader).Read(0xc82040e660, 0xc8202e2000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/proxyprotocol.(*Conn).Read(0xc82038a660, 0xc8202e2000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/proxyprotocol/proxy_protocol.go:107 +0xdc
bufio.(*Reader).Read(0xc82040e6c0, 0xc8202e2000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:197 +0x126
github.com/rancher/websocket-proxy/proxy/tls.(*Conn).Read(0xc82038a690, 0xc8202e2000, 0x8000, 0x8000, 0x6, 0x0, 0x0)
/go/src/github.com/rancher/websocket-proxy/proxy/tls/splitter.go:20 +0x7d
io.copyBuffer(0x7f75fbc94918, 0xc82000bc90, 0x7f75fbc90230, 0xc82038a690, 0xc8202e2000, 0x8000, 0x8000, 0xfc, 0x0, 0x0)
/usr/local/go/src/io/io.go:380 +0x247
io.Copy(0x7f75fbc94918, 0xc82000bc90, 0x7f75fbc90230, 0xc82038a690, 0xc82000bc90, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
net.genericReadFrom(0x7f75fbc7bbc0, 0xc820022578, 0x7f75fbc90230, 0xc82038a690, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:569 +0xb1
net.(*TCPConn).ReadFrom(0xc820022578, 0x7f75fbc90230, 0xc82038a690, 0xc82001aea0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:63 +0x2f1
io.copyBuffer(0x7f75fbc7bbc0, 0xc820022578, 0x7f75fbc90230, 0xc82038a690, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:374 +0x180
io.Copy(0x7f75fbc7bbc0, 0xc820022578, 0x7f75fbc90230, 0xc82038a690, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket.func1(0x7f75fbc7bbc0, 0xc820022578, 0x7f75fbc90230, 0xc82038a690)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:317 +0x4f
created by github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:320 +0x844
goroutine 28 [IO wait]:
net.runtime_pollWait(0x7f75fbc7b5b0, 0x72, 0xc820320000)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(*pollDesc).Wait(0xc82016d100, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc82016d100, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc82016d0a0, 0xc820320000, 0x8000, 0x8000, 0x0, 0x7f75fbc76050, 0xc82000a120)
/usr/local/go/src/net/fd_unix.go:250 +0x23a
net.(*conn).Read(0xc820022578, 0xc820320000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
io.copyBuffer(0x7f75fbc94828, 0xc82038a690, 0x7f75fbc7bb70, 0xc820022578, 0xc820320000, 0x8000, 0x8000, 0x1c18, 0x0, 0x0)
/usr/local/go/src/io/io.go:380 +0x247
io.Copy(0x7f75fbc94828, 0xc82038a690, 0x7f75fbc7bb70, 0xc820022578, 0x698b80, 0x0, 0x0)
/usr/local/go/src/io/io.go:350 +0x64
github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket.func1(0x7f75fbc94828, 0xc82038a690, 0x7f75fbc7bb70, 0xc820022578)
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:317 +0x4f
created by github.com/rancher/websocket-proxy/proxy.(*cattleWSProxy).serveWebsocket
/go/src/github.com/rancher/websocket-proxy/proxy/proxy.go:321 +0x8fd
rax 0xca
rbx 0x0
rcx 0x45e6c3
rdx 0x0
rdi 0xfd9c28
rsi 0x0
rbp 0x1
rsp 0x7ffddd88c280
r8 0x0
r9 0x0
r10 0x0
r11 0x286
r12 0x6
r13 0xb539c1
r14 0x3
r15 0x8
rip 0x45e6c1
rflags 0x286
cs 0x33
fs 0x0
gs 0x0
time="2018-03-20T04:10:40Z" level=info msg="Downloading key from http://localhost:8081/v1/scripts/api.crt"
time="2018-03-20T04:10:40Z" level=info msg="Starting websocket proxy. Listening on [:8080], Proxying to cattle API at [localhost:8081], Monitoring parent pid [7]."
time="2018-03-20T04:10:40Z" level=info msg="Configured http API filter"
time="2018-03-20T04:10:40Z" level=info msg="Configured authTokenValidator API filter"
time="2018-03-20T04:10:40Z" level=info msg="Master config file: master.conf"
time="2018-03-20T04:10:40Z" level=info msg="Master address: some.address:8080"
time="2018-03-20T04:10:40Z" level=info msg="Downloading certificate from http://localhost:8081/v1/credentials/1c1/certificate"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment