Open etu opened 3 weeks ago
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.
--list
--start
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/mux@v1.8.0/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/websocket@v1.5.1/conn.go:378 +0x26 github.com/gorilla/websocket.(*Conn).advanceFrame(0xc0001e4000) github.com/gorilla/websocket@v1.5.1/conn.go:824 +0x6d github.com/gorilla/websocket.(*Conn).NextReader(0xc0001e4000) github.com/gorilla/websocket@v1.5.1/conn.go:1034 +0x13e github.com/gorilla/websocket.(*Conn).ReadMessage(0xc00011ed20?) github.com/gorilla/websocket@v1.5.1/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/mux@v1.8.0/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
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.