Skip to content
This repository has been archived by the owner on Mar 8, 2023. It is now read-only.

crashes on http.ListenAndServe (during accepting new connections) #203

Closed
MichaelRoosz opened this issue Dec 5, 2020 · 2 comments
Closed
Labels

Comments

@MichaelRoosz
Copy link

MichaelRoosz commented Dec 5, 2020

Version: 0.11.0

Crashes for me every few hours during the ListenAndServe call, seem like when trying to accept new incoming connections

runtime: checkdead: find g 491671 in status 1
fatal error: checkdead: runnable g
runtime stack:
runtime.throw(0x9f811e, 0x15)
/usr/local/go/src/runtime/panic.go:1116 +0x72
runtime.checkdead()
/usr/local/go/src/runtime/proc.go:4407 +0x390
runtime.mput(...)
/usr/local/go/src/runtime/proc.go:4824
runtime.stopm()
/usr/local/go/src/runtime/proc.go:1832 +0x95
runtime.exitsyscall0(0xc000001500)
/usr/local/go/src/runtime/proc.go:3268 +0x111
runtime.mcall(0x0)
/usr/local/go/src/runtime/asm_amd64.s:318 +0x5b
goroutine 1 [IO wait, 25002 minutes]:
internal/poll.runtime_pollWait(0x7fb060191f18, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0000b8918, 0x72, 0x0, 0x0, 0x9ef93b)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc0000b8900, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:384 +0x1d4
net.(*netFD).accept(0xc0000b8900, 0xf0146b39697dc950, 0x1000000000000, 0xf0146b39697dc950)
/usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc000130ac0, 0x5fb30338, 0xc00004bb60, 0x4cf116)
/usr/local/go/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc000130ac0, 0xc00004bbb0, 0x18, 0xc000000180, 0x6c79fc)
/usr/local/go/src/net/tcpsock.go:261 +0x64
net/http.(*Server).Serve(0xc00014a000, 0xaba1a0, 0xc000130ac0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2901 +0x25d
net/http.(*Server).ListenAndServe(0xc00014a000, 0xc00014a000, 0x1)
/usr/local/go/src/net/http/server.go:2830 +0xb7
net/http.ListenAndServe(...)
/usr/local/go/src/net/http/server.go:3086
main.main()
/app/haproxy_exporter.go:616 +0x1788

goroutine 491668 [IO wait, 1 minutes]:
internal/poll.runtime_pollWait(0x7fb060191e38, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0006b1298, 0x72, 0x0, 0x1, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45

@grobie grobie added the bug label Dec 9, 2020
@grobie
Copy link
Member

grobie commented Dec 9, 2020

Hey @MichaelRoosz, thank you for the report!

From what I could find, this appears to be the result of a bug in the go runtime. I'll look into releasing a new version built with a newer version of Go.

Can you reproduce this issue reliably?

@grobie
Copy link
Member

grobie commented Dec 9, 2020

I released v0.12.0 compiled using a newer version of Go. Please try that and reopen this issue if you still experience this kind of panic.

@grobie grobie closed this as completed Dec 9, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants