goroutine 41 [running]: runtime/pprof.writeGoroutineStacks(0x14e5f60, 0xc0001d6000, 0xc0001b6270, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/runtime/pprof/pprof.go:693 +0x9f runtime/pprof.writeGoroutine(0x14e5f60, 0xc0001d6000, 0x2, 0x1714f40, 0xc0001ba420) /usr/local/Cellar/go/1.15.6/libexec/src/runtime/pprof/pprof.go:682 +0x45 runtime/pprof.(*Profile).WriteTo(0x17179e0, 0x14e5f60, 0xc0001d6000, 0x2, 0xc0001d6000, 0xc0003379d8) /usr/local/Cellar/go/1.15.6/libexec/src/runtime/pprof/pprof.go:331 +0x3f2 net/http/pprof.handler.ServeHTTP(0xc0001ca071, 0x9, 0x14ec9a0, 0xc0001d6000, 0xc000110300) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/pprof/pprof.go:256 +0x385 net/http/pprof.Index(0x14ec9a0, 0xc0001d6000, 0xc000110300) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/pprof/pprof.go:367 +0x945 net/http.HandlerFunc.ServeHTTP(0x1486d90, 0x14ec9a0, 0xc0001d6000, 0xc000110300) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/server.go:2042 +0x44 net/http.(*ServeMux).ServeHTTP(0x1725ba0, 0x14ec9a0, 0xc0001d6000, 0xc000110300) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/server.go:2417 +0x1ad net/http.serverHandler.ServeHTTP(0xc00019c000, 0x14ec9a0, 0xc0001d6000, 0xc000110300) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/server.go:2843 +0xa3 net/http.(*conn).serve(0xc0000c6320, 0x14ed4a0, 0xc000322000) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/server.go:1925 +0x8ad created by net/http.(*Server).Serve /usr/local/Cellar/go/1.15.6/libexec/src/net/http/server.go:2969 +0x36c goroutine 1 [select]: net/http.(*persistConn).roundTrip(0xc0000cea20, 0xc0001b40c0, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/transport.go:2565 +0x779 net/http.(*Transport).roundTrip(0x171d020, 0xc0001ce000, 0x30, 0x30, 0x180de98) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/transport.go:582 +0xa65 net/http.(*Transport).RoundTrip(0x171d020, 0xc0001ce000, 0x171d020, 0x0, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/roundtrip.go:17 +0x35 net/http.send(0xc0001ce000, 0x14e5d80, 0x171d020, 0x0, 0x0, 0x0, 0xc0001c8018, 0x203000, 0x1, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/client.go:252 +0x453 net/http.(*Client).send(0x17259e0, 0xc0001ce000, 0x0, 0x0, 0x0, 0xc0001c8018, 0x0, 0x1, 0xf8) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/client.go:176 +0xff net/http.(*Client).do(0x17259e0, 0xc0001ce000, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/client.go:718 +0x45f net/http.(*Client).Do(...) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/client.go:586 net/http.(*Client).Get(0x17259e0, 0xc0001cc000, 0x33, 0x2, 0x2, 0xc0001cc000) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/client.go:475 +0xbe net/http.Get(...) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/client.go:447 main.writeHttpProfile(0x14e5940, 0xc0001b6090, 0x2, 0x0, 0x0) /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:92 +0x105 main.glob..func8(0x14e5940, 0xc0001b6090, 0xc000213eb0, 0x2) /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:85 +0x3e main.writeProfiles(0x1, 0xc0000c4008, 0x146641d) /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:106 +0x187 main.main() /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:142 +0x2c7 goroutine 22 [sleep]: time.Sleep(0x3b9aca00) /usr/local/Cellar/go/1.15.6/libexec/src/runtime/time.go:188 +0xbf main.shortSleepLoop() /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:165 +0x2a created by main.indirectShortSleepLoop2 /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:185 +0x35 goroutine 3 [IO wait]: internal/poll.runtime_pollWait(0x1e91e88, 0x72, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00019e018, 0x72, 0x0, 0x0, 0x1465786) /usr/local/Cellar/go/1.15.6/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45 internal/poll.(*pollDesc).waitRead(...) /usr/local/Cellar/go/1.15.6/libexec/src/internal/poll/fd_poll_runtime.go:92 internal/poll.(*FD).Accept(0xc00019e000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/internal/poll/fd_unix.go:394 +0x1fc net.(*netFD).accept(0xc00019e000, 0x7d667d63cbbded3e, 0x1789ccbbded3e, 0x100000001) /usr/local/Cellar/go/1.15.6/libexec/src/net/fd_unix.go:172 +0x45 net.(*TCPListener).accept(0xc000188060, 0x60006709, 0xc000196da8, 0x109abe6) /usr/local/Cellar/go/1.15.6/libexec/src/net/tcpsock_posix.go:139 +0x32 net.(*TCPListener).Accept(0xc000188060, 0xc000196df8, 0x18, 0xc000001200, 0x12e9eec) /usr/local/Cellar/go/1.15.6/libexec/src/net/tcpsock.go:261 +0x65 net/http.(*Server).Serve(0xc00019c000, 0x14ec6e0, 0xc000188060, 0x0, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/server.go:2937 +0x266 net/http.(*Server).ListenAndServe(0xc00019c000, 0xc00019c000, 0x1475536) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/server.go:2866 +0xb7 net/http.ListenAndServe(...) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/server.go:3120 main.main.func1(0xc000032120) /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:123 +0x126 created by main.main /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:121 +0xc5 goroutine 4 [sleep]: time.Sleep(0x3b9aca00) /usr/local/Cellar/go/1.15.6/libexec/src/runtime/time.go:188 +0xbf main.shortSleepLoop() /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:165 +0x2a created by main.main /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:130 +0x195 goroutine 5 [sleep]: time.Sleep(0x34630b8a000) /usr/local/Cellar/go/1.15.6/libexec/src/runtime/time.go:188 +0xbf main.sleepLoop(0x34630b8a000) /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:171 +0x2b created by main.main /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:131 +0x1bc goroutine 6 [chan receive]: main.chanReceiveForever() /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:177 +0x4d created by main.main /Users/felix.geisendoerfer/go/src/github.com/felixge/go-profiler-notes/examples/goroutine/main.go:132 +0x1d4 goroutine 24 [select]: net/http.(*persistConn).writeLoop(0xc0000cea20) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/transport.go:2340 +0x11c created by net/http.(*Transport).dialConn /usr/local/Cellar/go/1.15.6/libexec/src/net/http/transport.go:1709 +0xcdc goroutine 23 [IO wait]: internal/poll.runtime_pollWait(0x1e91da0, 0x72, 0x14e6ca0) /usr/local/Cellar/go/1.15.6/libexec/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00010e198, 0x72, 0x14e6c00, 0x16db878, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45 internal/poll.(*pollDesc).waitRead(...) /usr/local/Cellar/go/1.15.6/libexec/src/internal/poll/fd_poll_runtime.go:92 internal/poll.(*FD).Read(0xc00010e180, 0xc000256000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/internal/poll/fd_unix.go:159 +0x1a5 net.(*netFD).Read(0xc00010e180, 0xc000256000, 0x1000, 0x1000, 0x103b1dc, 0xc000199b58, 0x10680e0) /usr/local/Cellar/go/1.15.6/libexec/src/net/fd_posix.go:55 +0x4f net.(*conn).Read(0xc000010008, 0xc000256000, 0x1000, 0x1000, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/net/net.go:182 +0x8e net/http.(*persistConn).Read(0xc0000cea20, 0xc000256000, 0x1000, 0x1000, 0xc00009e300, 0xc000199c58, 0x10074b5) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/transport.go:1887 +0x77 bufio.(*Reader).fill(0xc0001801e0) /usr/local/Cellar/go/1.15.6/libexec/src/bufio/bufio.go:101 +0x105 bufio.(*Reader).Peek(0xc0001801e0, 0x1, 0x0, 0x0, 0x1, 0x0, 0xc000030180) /usr/local/Cellar/go/1.15.6/libexec/src/bufio/bufio.go:139 +0x4f net/http.(*persistConn).readLoop(0xc0000cea20) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/transport.go:2040 +0x1a8 created by net/http.(*Transport).dialConn /usr/local/Cellar/go/1.15.6/libexec/src/net/http/transport.go:1708 +0xcb7 goroutine 67 [IO wait]: internal/poll.runtime_pollWait(0x1e91cb8, 0x72, 0x14e6ca0) /usr/local/Cellar/go/1.15.6/libexec/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00019e098, 0x72, 0x14e6c00, 0x16db878, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45 internal/poll.(*pollDesc).waitRead(...) /usr/local/Cellar/go/1.15.6/libexec/src/internal/poll/fd_poll_runtime.go:92 internal/poll.(*FD).Read(0xc00019e080, 0xc00007c311, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/internal/poll/fd_unix.go:159 +0x1a5 net.(*netFD).Read(0xc00019e080, 0xc00007c311, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/net/fd_posix.go:55 +0x4f net.(*conn).Read(0xc000186028, 0xc00007c311, 0x1, 0x1, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.15.6/libexec/src/net/net.go:182 +0x8e net/http.(*connReader).backgroundRead(0xc00007c300) /usr/local/Cellar/go/1.15.6/libexec/src/net/http/server.go:690 +0x58 created by net/http.(*connReader).startBackgroundRead /usr/local/Cellar/go/1.15.6/libexec/src/net/http/server.go:686 +0xd5