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

Race condition when hammering the API too much #10

Open
etu opened this issue Jun 12, 2024 · 0 comments
Open

Race condition when hammering the API too much #10

etu opened this issue Jun 12, 2024 · 0 comments

Comments

@etu
Copy link
Member

etu commented Jun 12, 2024

I did read from the API using the --list command and then looped that output in a bash loop to trigger --start for all the items and it managed to crash the application.

2024/06/12 08:54:01 Parsed config file: /home/etu/.config/goprocmgr.json
2024/06/12 08:54:01 Listening on http://127.0.0.1:6969
fatal error: concurrent map read and map write

goroutine 19 [running]:
main.(*Serve).GetServer(0xc00011ed20, {0xc000128a60, 0xd})
	github.com/TaserudConsulting/goprocmgr/serve.go:316 +0xc9
main.(*Serve).GetServerList(0xc00011ed20)
	github.com/TaserudConsulting/goprocmgr/serve.go:340 +0xb4
main.(*Serve).newRouter.func9({0x817178?, 0xc0001e0000?}, 0xc0001b4d50?)
	github.com/TaserudConsulting/goprocmgr/serve.go:281 +0x31d
net/http.HandlerFunc.ServeHTTP(0xc0001a5440?, {0x817178?, 0xc0001e0000?}, 0x4cbecf?)
	net/http/server.go:2166 +0x29
github.com/gorilla/mux.(*Router).ServeHTTP(0xc0001aa000, {0x817178, 0xc0001e0000}, 0xc0001a4ea0)
	github.com/gorilla/[email protected]/mux.go:210 +0x1e2
net/http.serverHandler.ServeHTTP({0xc0001b4ba0?}, {0x817178?, 0xc0001e0000?}, 0x6?)
	net/http/server.go:3137 +0x8e
net/http.(*conn).serve(0xc00019e6c0, {0x817838, 0xc0001b4ab0})
	net/http/server.go:2039 +0x5e8
created by net/http.(*Server).Serve in goroutine 1
	net/http/server.go:3285 +0x4b4

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd4800a680, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0x3?, 0x1?, 0x0)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000158980)
	internal/poll/fd_unix.go:611 +0x2ac
net.(*netFD).accept(0xc000158980)
	net/fd_unix.go:172 +0x29
net.(*TCPListener).accept(0xc000146800)
	net/tcpsock_posix.go:159 +0x1e
net.(*TCPListener).Accept(0xc000146800)
	net/tcpsock.go:327 +0x30
net/http.(*Server).Serve(0xc0001c6000, {0x8173b8, 0xc000146800})
	net/http/server.go:3255 +0x33e
net/http.(*Server).ListenAndServe(0xc0001c6000)
	net/http/server.go:3184 +0x71
net/http.ListenAndServe(...)
	net/http/server.go:3438
main.(*Serve).Run(0xc00011ed20)
	github.com/TaserudConsulting/goprocmgr/serve.go:62 +0x1ed
main.main()
	github.com/TaserudConsulting/goprocmgr/main.go:64 +0x645

goroutine 21 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd4800a588, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc000158a00?, 0xc000124400?, 0x0)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000158a00, {0xc000124400, 0x400, 0x400})
	internal/poll/fd_unix.go:164 +0x27a
net.(*netFD).Read(0xc000158a00, {0xc000124400?, 0x15?, 0x195?})
	net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc00011a1e8, {0xc000124400?, 0x0?, 0x0?})
	net/net.go:179 +0x45
bufio.(*Reader).fill(0xc00012a300)
	bufio/bufio.go:110 +0x103
bufio.(*Reader).Peek(0xc00012a300, 0x2)
	bufio/bufio.go:148 +0x53
github.com/gorilla/websocket.(*Conn).read(0xc0001e4000, 0x0?)
	github.com/gorilla/[email protected]/conn.go:378 +0x26
github.com/gorilla/websocket.(*Conn).advanceFrame(0xc0001e4000)
	github.com/gorilla/[email protected]/conn.go:824 +0x6d
github.com/gorilla/websocket.(*Conn).NextReader(0xc0001e4000)
	github.com/gorilla/[email protected]/conn.go:1034 +0x13e
github.com/gorilla/websocket.(*Conn).ReadMessage(0xc00011ed20?)
	github.com/gorilla/[email protected]/conn.go:1120 +0x13
main.(*Serve).newRouter.func9.1()
	github.com/TaserudConsulting/goprocmgr/serve.go:249 +0xbe
created by main.(*Serve).newRouter.func9 in goroutine 19
	github.com/TaserudConsulting/goprocmgr/serve.go:237 +0x1a9

goroutine 26 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd480098f0, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00012a480?, 0xc0003eb000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00012a480, {0xc0003eb000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc00011a2c0, {0xc0003eb000?, 0x40fd3b?, 0xffffffffffffffff?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000158e00)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 16
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 36 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd4800a398, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc000222180?, 0xc0000ac058?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000222180, {0xc0000ac058, 0xfa8, 0xfa8})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc000258010, {0xc0000ac058?, 0x43c5ae?, 0x1c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000272000)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 5
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 37 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd4800a1a8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc000222240?, 0xc0001fe0a8?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000222240, {0xc0001fe0a8, 0xf58, 0xf58})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc000258020, {0xc0001fe0a8?, 0x43c5ae?, 0xe0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000272080)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 5
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 7 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd4800a0b0, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009c120?, 0xc00024f058?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009c120, {0xc00024f058, 0xfa8, 0xfa8})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc000074010, {0xc00024f058?, 0x43c5ae?, 0x1c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040100)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 38
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 8 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48009fb8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009c1e0?, 0xc0002760a8?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009c1e0, {0xc0002760a8, 0xf58, 0xf58})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc000074020, {0xc0002760a8?, 0x4081e0?, 0xc0001028c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040180)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 38
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 10 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48009ec0, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009c3c0?, 0xc000288058?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009c3c0, {0xc000288058, 0xfa8, 0xfa8})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc000074038, {0xc000288058?, 0x4081e0?, 0xc0001028c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040280)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 39
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 11 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48009dc8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009c480?, 0xc0002780a8?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009c480, {0xc0002780a8, 0xf58, 0xf58})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc000074048, {0xc0002780a8?, 0x4081e0?, 0xc0001028c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040300)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 39
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 51 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48009cd0, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00039e0c0?, 0xc00030a058?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00039e0c0, {0xc00030a058, 0xfa8, 0xfa8})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0003b2000, {0xc00030a058?, 0x43c5ae?, 0x1c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc0003c4000)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 24
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 52 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48009bd8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00039e180?, 0xc00030b0a8?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00039e180, {0xc00030b0a8, 0xf58, 0xf58})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0003b2010, {0xc00030b0a8?, 0x4081e0?, 0xc0001028c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc0003c4080)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 24
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 14 [chan send]:
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:129 +0x88
created by main.(*Runner).Start in goroutine 12
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 15 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd480099e8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009c6c0?, 0xc0002890a8?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009c6c0, {0xc0002890a8, 0xf58, 0xf58})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc000074078, {0xc0002890a8?, 0x4081e0?, 0xc0001028c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040480)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 12
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 27 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd480097f8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00012a540?, 0xc0003ec0a8?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00012a540, {0xc0003ec0a8, 0xf58, 0xf58})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc00011a2d0, {0xc0003ec0a8?, 0x4081e0?, 0xc0001028c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000158e80)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 16
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 29 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48026280, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00012a780?, 0xc0003f7000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00012a780, {0xc0003f7000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc00011a2e8, {0xc0003f7000?, 0x0?, 0x0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000158f00)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 53
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 30 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48026188, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00012a840?, 0xc0003f80a8?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00012a840, {0xc0003f80a8, 0xf58, 0xf58})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc00011a2f8, {0xc0003f80a8?, 0x4081e0?, 0xc0001028c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000158f80)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 53
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 67 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48026090, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009c840?, 0xc000482000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009c840, {0xc000482000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc000074098, {0xc000482000?, 0x40fd3b?, 0xffffffffffffffff?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040580)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 54
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 68 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48025f98, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009c900?, 0xc0004830a8?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009c900, {0xc0004830a8, 0xf58, 0xf58})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0000740a8, {0xc0004830a8?, 0x4081e0?, 0xc0001028c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040600)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 54
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 70 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48025ea0, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009ca80?, 0xc00028a000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009ca80, {0xc00028a000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0000740c0, {0xc00028a000?, 0x0?, 0x0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040680)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 55
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 71 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48025da8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009cb40?, 0xc00028b0a8?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009cb40, {0xc00028b0a8, 0xf58, 0xf58})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0000740d0, {0xc00028b0a8?, 0x4081e0?, 0xc0001028c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040700)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 55
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 33 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48025cb0, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00012a9c0?, 0xc000339000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00012a9c0, {0xc000339000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc00011a318, {0xc000339000?, 0x0?, 0x0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000159080)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 31
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 82 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48025bb8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00012aa80?, 0xc000338030?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00012aa80, {0xc000338030, 0xfd0, 0xfd0})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc00011a328, {0xc000338030?, 0x4081e0?, 0xc0001028c0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000159100)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 31
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 58 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd48025ac0, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00039e360?, 0xc000491000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00039e360, {0xc000491000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0003b2048, {0xc000491000?, 0x40fd3b?, 0xffffffffffffffff?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc0003c4480)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 56
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 59 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd480259c8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00039e420?, 0xc0004a0000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00039e420, {0xc0004a0000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0003b2058, {0xc0004a0000?, 0x0?, 0x0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc0003c4500)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 56
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 73 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd480258d0, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009ccc0?, 0xc0004c0000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009ccc0, {0xc0004c0000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0000740e8, {0xc0004c0000?, 0x0?, 0x0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040780)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 60
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 74 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd480257d8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00009cd80?, 0xc0004c1000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00009cd80, {0xc0004c1000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0000740f8, {0xc0004c1000?, 0x0?, 0x0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000040800)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 60
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 64 [chan send]:
main.(*Runner).Start(0xc000118240, {0xc0001336c1, 0xe}, 0xc00011ed20)
	github.com/TaserudConsulting/goprocmgr/runner.go:152 +0xb3e
main.(*Serve).newRouter.func5({0x817178, 0xc0001e0540}, 0xc00034ec30?)
	github.com/TaserudConsulting/goprocmgr/serve.go:172 +0x85
net/http.HandlerFunc.ServeHTTP(0xc00031aea0?, {0x817178?, 0xc0001e0540?}, 0x4cbecf?)
	net/http/server.go:2166 +0x29
github.com/gorilla/mux.(*Router).ServeHTTP(0xc0001aa000, {0x817178, 0xc0001e0540}, 0xc00031ac60)
	github.com/gorilla/[email protected]/mux.go:210 +0x1e2
net/http.serverHandler.ServeHTTP({0xc00034eae0?}, {0x817178?, 0xc0001e0540?}, 0x6?)
	net/http/server.go:3137 +0x8e
net/http.(*conn).serve(0xc00038e630, {0x817838, 0xc0001b4ab0})
	net/http/server.go:2039 +0x5e8
created by net/http.(*Server).Serve in goroutine 1
	net/http/server.go:3285 +0x4b4

goroutine 62 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd480256e0, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00039e600?, 0xc00042c000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00039e600, {0xc00042c000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0003b2078, {0xc00042c000?, 0x0?, 0x0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc0003c4600)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 83
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 63 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd480255e8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00039e6c0?, 0xc00042d000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00039e6c0, {0xc00042d000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc0003b2088, {0xc00042d000?, 0x0?, 0x0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc0003c4680)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 83
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace

goroutine 84 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd4800a490, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc0003c4700?, 0xc00034eaf1?, 0x0)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0003c4700, {0xc00034eaf1, 0x1, 0x1})
	internal/poll/fd_unix.go:164 +0x27a
net.(*netFD).Read(0xc0003c4700, {0xc00034eaf1?, 0xc00006cf48?, 0x46ad90?})
	net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc0003b20a0, {0xc00034eaf1?, 0x0?, 0xa82b20?})
	net/net.go:179 +0x45
net/http.(*connReader).backgroundRead(0xc00034eae0)
	net/http/server.go:681 +0x37
created by net/http.(*connReader).startBackgroundRead in goroutine 64
	net/http/server.go:677 +0xba

goroutine 85 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd480254f0, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00012ac00?, 0xc00035d000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00012ac00, {0xc00035d000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc00011a348, {0xc00035d000?, 0x0?, 0x0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000159200)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func1()
	github.com/TaserudConsulting/goprocmgr/runner.go:121 +0x92
created by main.(*Runner).Start in goroutine 64
	github.com/TaserudConsulting/goprocmgr/runner.go:120 +0x9d9

goroutine 86 [IO wait]:
internal/poll.runtime_pollWait(0x7fbd480253f8, 0x72)
	runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00012acc0?, 0xc00035c000?, 0x1)
	internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00012acc0, {0xc00035c000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x27a
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0xc00011a358, {0xc00035c000?, 0x0?, 0x0?})
	os/file.go:118 +0x52
bufio.(*Scanner).Scan(0xc000159280)
	bufio/scan.go:219 +0x81e
main.(*Runner).Start.func2()
	github.com/TaserudConsulting/goprocmgr/runner.go:136 +0x92
created by main.(*Runner).Start in goroutine 64
	github.com/TaserudConsulting/goprocmgr/runner.go:135 +0xace
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