Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GoRoutines hanging around even after program exits #15

Open
ritwick5ghosh opened this issue Dec 1, 2015 · 0 comments
Open

GoRoutines hanging around even after program exits #15

ritwick5ghosh opened this issue Dec 1, 2015 · 0 comments

Comments

@ritwick5ghosh
Copy link

I just added a panic as the last line of the example code provided and got the following...looks like there might be a few goroutines hanging around - is there any way we can close them out before existing main?

panic: Test

goroutine 1 [running]:
main.main()
/Users/rghosh/Go/src/dummy/ssh.go:27 +0x2c5

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1696 +0x1

goroutine 5 [IO wait]:
net.runtime_pollWait(0x4b05f8, 0x72, 0xc82000a190)
/usr/local/go/src/runtime/netpoll.go:157 +0x60
net.(_pollDesc).Wait(0xc8200b0300, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc8200b0300, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).Read(0xc8200b02a0, 0xc820019000, 0x1000, 0x1000, 0x0, 0x4ab050, 0xc82000a190)
/usr/local/go/src/net/fd_unix.go:232 +0x23a
net.(_conn).Read(0xc820030030, 0xc820019000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
bufio.(_Reader).fill(0xc8200b3620)
/usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(_Reader).Read(0xc8200b3620, 0xc8200dc1a0, 0x5, 0x5, 0x14, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:207 +0x260
io.ReadAtLeast(0x4b0890, 0xc8200b3620, 0xc8200dc1a0, 0x5, 0x5, 0x5, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:298 +0xe6
io.ReadFull(0x4b0890, 0xc8200b3620, 0xc8200dc1a0, 0x5, 0x5, 0xc8200da950, 0x0, 0x0)
/usr/local/go/src/io/io.go:316 +0x62
golang.org/x/crypto/ssh.(_streamPacketCipher).readPacket(0xc8200dc180, 0xc80000000e, 0x4b0890, 0xc8200b3620, 0x0, 0x0, 0x0, 0x0, 0x0)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/cipher.go:142 +0xc1
golang.org/x/crypto/ssh.(_connectionState).readPacket(0xc820080900, 0xc8200b3620, 0x0, 0x0, 0x0, 0x0, 0x0)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/transport.go:111 +0xce
golang.org/x/crypto/ssh.(_transport).readPacket(0xc820080900, 0x0, 0x0, 0x0, 0x0, 0x0)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/transport.go:107 +0x55
golang.org/x/crypto/ssh.(_handshakeTransport).readOnePacket(0xc820080a20, 0x0, 0x0, 0x0, 0x0, 0x0)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/handshake.go:173 +0xe7
golang.org/x/crypto/ssh.(*handshakeTransport).readLoop(0xc820080a20)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/handshake.go:145 +0x25
created by golang.org/x/crypto/ssh.newClientTransport
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/handshake.go:113 +0x37d

goroutine 18 [chan receive]:
golang.org/x/crypto/ssh.(_handshakeTransport).readPacket(0xc820080a20, 0x0, 0x0, 0x0, 0x0, 0x0)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/handshake.go:136 +0x6d
golang.org/x/crypto/ssh.(_mux).onePacket(0xc82021acb0, 0x0, 0x0)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/mux.go:224 +0x5e
golang.org/x/crypto/ssh.(*mux).loop(0xc82021acb0)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/mux.go:199 +0x42
created by golang.org/x/crypto/ssh.newMux
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/mux.go:128 +0x20d

goroutine 19 [chan receive]:
golang.org/x/crypto/ssh.(*Client).handleGlobalRequests(0xc82022e0c0, 0xc820230060)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/client.go:137 +0x4a
created by golang.org/x/crypto/ssh.NewClient
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/client.go:54 +0xe4

goroutine 20 [chan receive]:
golang.org/x/crypto/ssh.(*Client).handleChannelOpens(0xc82022e0c0, 0xc82021df80)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/client.go:146 +0x6e
created by golang.org/x/crypto/ssh.NewClient
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/client.go:55 +0x110

goroutine 21 [semacquire]:
sync.runtime_Syncsemacquire(0xc82022e090)
/usr/local/go/src/runtime/sema.go:237 +0x201
sync.(_Cond).Wait(0xc82022e080)
/usr/local/go/src/sync/cond.go:62 +0x9b
golang.org/x/crypto/ssh.(_mux).Wait(0xc82021acb0, 0x0, 0x0)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/mux.go:110 +0xb8
golang.org/x/crypto/ssh.NewClient.func1(0xc82022e0c0)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/client.go:57 +0x39
created by golang.org/x/crypto/ssh.NewClient
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/client.go:59 +0x132

goroutine 22 [chan receive]:
golang.org/x/crypto/ssh.(*forwardList).handleChannels(0xc82022e0d0, 0xc8202300c0)
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/tcpip.go:178 +0x6e
created by golang.org/x/crypto/ssh.NewClient
/Users/rghosh/Go/src/golang.org/x/crypto/ssh/client.go:60 +0x18f
exit status 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant