goroutine 4805937 [running]: runtime/pprof.writeGoroutineStacks({0x133c780, 0xc00015e1c0}) /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/pprof/pprof.go:743 +0x6a runtime/pprof.writeGoroutine({0x133c780?, 0xc00015e1c0?}, 0x41a238?) /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/pprof/pprof.go:732 +0x25 runtime/pprof.(*Profile).WriteTo(0x1ad3a70?, {0x133c780?, 0xc00015e1c0?}, 0xc?) /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/pprof/pprof.go:369 +0x14b net/http/pprof.handler.ServeHTTP({0x10a264d, 0x9}, {0x1344368, 0xc00015e1c0}, 0xc00014aa20) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/pprof/pprof.go:267 +0x52f github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc00058e8a0, {0x1344368, 0xc00015e1c0}, 0xc00014aa20) /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:480 +0x2e6 net/http.HandlerFunc.ServeHTTP(0xc0002db598?, {0x1344368?, 0xc00015e1c0?}, 0xd?) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 +0x29 github.com/go-chi/chi/v5/middleware.NoCache.func1({0x1344368, 0xc00015e1c0}, 0xc00014aa20) /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/middleware/nocache.go:55 +0x28d net/http.HandlerFunc.ServeHTTP(0xc000ec6930?, {0x1344368?, 0xc00015e1c0?}, 0xc0002db660?) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 +0x29 github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc00058e8a0, {0x1344368, 0xc00015e1c0}, 0xc00014aa20) /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:73 +0x32f github.com/go-chi/chi/v5.(*Mux).Mount.func1({0x1344368, 0xc00015e1c0}, 0xc00014aa20) /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:327 +0x1bb net/http.HandlerFunc.ServeHTTP(0xc0003680f0?, {0x1344368?, 0xc00015e1c0?}, 0xc0000441c8?) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 +0x29 github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc00058e000, {0x1344368, 0xc00015e1c0}, 0xc00014aa20) /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:480 +0x2e6 net/http.HandlerFunc.ServeHTTP(0xc000ec6930?, {0x1344368?, 0xc00015e1c0?}, 0xc0002db830?) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 +0x29 github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc00058e000, {0x1344368, 0xc00015e1c0}, 0xc00014aa20) /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:73 +0x32f github.com/go-chi/chi/v5.(*Mux).Mount.func1({0x1344368, 0xc00015e1c0}, 0xc00014aa20) /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:327 +0x1bb net/http.HandlerFunc.ServeHTTP(0xc0003680f0?, {0x1344368?, 0xc00015e1c0?}, 0xc002bea004?) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 +0x29 github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc00058e900, {0x1344368, 0xc00015e1c0}, 0xc00014aa20) /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:480 +0x2e6 net/http.HandlerFunc.ServeHTTP(0xc00055fa40?, {0x1344368?, 0xc00015e1c0?}, 0xc00014aa20?) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 +0x29 github.com/go-chi/cors.(*Cors).Handler-fm.(*Cors).Handler.func1({0x1344368, 0xc00015e1c0}, 0xc00014aa20) /home/runner/go/pkg/mod/github.com/go-chi/cors@v1.2.1/cors.go:228 +0x17e net/http.HandlerFunc.ServeHTTP(0x7adbe3d9d330?, {0x1344368?, 0xc00015e1c0?}, 0x30?) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 +0x29 github.com/0xERR0R/blocky/server.secureHeadersMiddleware.func1({0x1344368?, 0xc00015e1c0?}, 0x1accd01?) /home/runner/work/blocky/blocky/server/http.go:79 +0x338 net/http.HandlerFunc.ServeHTTP(0x1346850?, {0x1344368?, 0xc00015e1c0?}, 0x1accdb0?) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 +0x29 github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc00058e900, {0x1344368, 0xc00015e1c0}, 0xc00014a7e0) /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:90 +0x2ee net/http.serverHandler.ServeHTTP({0xc000ec6030?}, {0x1344368?, 0xc00015e1c0?}, 0x6?) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:3142 +0x8e net/http.(*conn).serve(0xc0000cc750, {0x1346818, 0xc000ec6d20}) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2044 +0x5e8 created by net/http.(*Server).Serve in goroutine 127 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:3290 +0x4b4 goroutine 1 [chan receive, 356818 minutes]: github.com/0xERR0R/blocky/cmd.startServer(0x0?, {0x0?, 0x0?, 0x0?}) /home/runner/work/blocky/blocky/cmd/serve.go:79 +0x38b github.com/0xERR0R/blocky/cmd.NewRootCommand.func1(0xc0000c0a00?, {0xc000088200?, 0x4?, 0x109c0c2?}) /home/runner/work/blocky/blocky/cmd/root.go:42 +0xc6 github.com/spf13/cobra.(*Command).execute(0xc0000e2008, {0xc00003e4c0, 0x2, 0x2}) /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:985 +0xaca github.com/spf13/cobra.(*Command).ExecuteC(0xc0000e2008) /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:1117 +0x3ff github.com/spf13/cobra.(*Command).Execute(...) /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:1041 github.com/0xERR0R/blocky/cmd.Execute() /home/runner/work/blocky/blocky/cmd/root.go:112 +0x18 main.main() /home/runner/work/blocky/blocky/main.go:10 +0x13 goroutine 36 [select]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x1346818, 0xc0003b3a10}, 0xc0003b3b30) /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:104 +0xf8 created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 9 [syscall, 356818 minutes]: os/signal.signal_recv() /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/sigqueue.go:152 +0x29 os/signal.loop() /opt/hostedtoolcache/go/1.22.10/x64/src/os/signal/signal_unix.go:23 +0x13 created by os/signal.Notify.func1.1 in goroutine 1 /opt/hostedtoolcache/go/1.22.10/x64/src/os/signal/signal.go:151 +0x1f goroutine 37 [select]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x1346818, 0xc0003b3a10}, 0xc0003b3bf0) /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:104 +0xf8 created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 116 [select, 179 minutes]: github.com/0xERR0R/blocky/config.(*SourceLoading).periodically(0xc001bc1fd0?, {0x1346850, 0xc000095a40}, 0xc0006685a0?, 0xc001bb0060) /home/runner/work/blocky/blocky/config/config.go:382 +0x112 created by github.com/0xERR0R/blocky/config.(*SourceLoading).StartPeriodicRefresh in goroutine 1 /home/runner/work/blocky/blocky/config/config.go:365 +0xc6 goroutine 131 [chan receive, 356818 minutes]: github.com/0xERR0R/blocky/server.(*httpServer).Serve.func1() /home/runner/work/blocky/blocky/server/http.go:45 +0x2c created by github.com/0xERR0R/blocky/server.(*httpServer).Serve in goroutine 127 /home/runner/work/blocky/blocky/server/http.go:44 +0x85 goroutine 96 [select, 177 minutes]: github.com/0xERR0R/blocky/config.(*SourceLoading).periodically(0xc00009cfd0?, {0x1346850, 0xc000095a40}, 0xc000668240?, 0xc0002b51d0) /home/runner/work/blocky/blocky/config/config.go:382 +0x112 created by github.com/0xERR0R/blocky/config.(*SourceLoading).StartPeriodicRefresh in goroutine 1 /home/runner/work/blocky/blocky/config/config.go:365 +0xc6 goroutine 117 [select]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x1346850, 0xc000095a40}, 0xc000324570) /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:104 +0xf8 created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 120 [select, 179 minutes]: github.com/0xERR0R/blocky/config.(*SourceLoading).periodically(0x0?, {0x1346850, 0xc000095a40}, 0x0?, 0xc0004de100) /home/runner/work/blocky/blocky/config/config.go:382 +0x112 created by github.com/0xERR0R/blocky/config.(*SourceLoading).StartPeriodicRefresh in goroutine 1 /home/runner/work/blocky/blocky/config/config.go:365 +0xc6 goroutine 119 [select, 1375 minutes]: github.com/0xERR0R/blocky/resolver.(*QueryLoggingResolver).writeLog(0xc0003ee190, {0x1346850?, 0xc000095a40?}) /home/runner/work/blocky/blocky/resolver/query_logging_resolver.go:223 +0xea created by github.com/0xERR0R/blocky/resolver.NewQueryLoggingResolver in goroutine 1 /home/runner/work/blocky/blocky/resolver/query_logging_resolver.go:110 +0x519 goroutine 128 [select, 356818 minutes]: github.com/0xERR0R/blocky/server.registerPrintConfigurationTrigger.func1() /home/runner/work/blocky/blocky/server/server_config_trigger.go:19 +0x8e created by github.com/0xERR0R/blocky/server.registerPrintConfigurationTrigger in goroutine 1 /home/runner/work/blocky/blocky/server/server_config_trigger.go:17 +0xd0 goroutine 125 [select]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x1346850, 0xc000095a40}, 0xc000324c00) /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:104 +0xf8 created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 129 [select, 356818 minutes]: github.com/0xERR0R/blocky/cmd.startServer.func1() /home/runner/work/blocky/blocky/cmd/serve.go:65 +0x96 created by github.com/0xERR0R/blocky/cmd.startServer in goroutine 1 /home/runner/work/blocky/blocky/cmd/serve.go:64 +0x2a5 goroutine 126 [IO wait, 299 minutes]: internal/poll.runtime_pollWait(0x7adc2a8655f8, 0x72) /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/netpoll.go:345 +0x85 internal/poll.(*pollDesc).wait(0x9?, 0xc00009dbd8?, 0x0) /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Accept(0xc00034c000) /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_unix.go:611 +0x2ac net.(*netFD).accept(0xc00034c000) /opt/hostedtoolcache/go/1.22.10/x64/src/net/fd_unix.go:172 +0x29 net.(*TCPListener).accept(0xc000408020) /opt/hostedtoolcache/go/1.22.10/x64/src/net/tcpsock_posix.go:159 +0x1e net.(*TCPListener).Accept(0xc000408020) /opt/hostedtoolcache/go/1.22.10/x64/src/net/tcpsock.go:327 +0x30 crypto/tls.(*listener).Accept(0xc0004be048) /opt/hostedtoolcache/go/1.22.10/x64/src/crypto/tls/tls.go:66 +0x27 github.com/miekg/dns.(*Server).serveTCP(0xc0000fc360, {0x13443f8, 0xc0004be048}) /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:474 +0x12c github.com/miekg/dns.(*Server).ListenAndServe(0xc0000fc360) /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:345 +0x887 github.com/0xERR0R/blocky/server.(*Server).Start.func1() /home/runner/work/blocky/blocky/server/server.go:396 +0x29 created by github.com/0xERR0R/blocky/server.(*Server).Start in goroutine 1 /home/runner/work/blocky/blocky/server/server.go:395 +0xd0 goroutine 118 [select, 59 minutes]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x1346850, 0xc000095a40}, 0xc000324690) /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:104 +0xf8 created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 127 [IO wait]: internal/poll.runtime_pollWait(0x7adc2a865eb0, 0x72) /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/netpoll.go:345 +0x85 internal/poll.(*pollDesc).wait(0x3?, 0x16?, 0x0) /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Accept(0xc0000e8b80) /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_unix.go:611 +0x2ac net.(*netFD).accept(0xc0000e8b80) /opt/hostedtoolcache/go/1.22.10/x64/src/net/fd_unix.go:172 +0x29 net.(*TCPListener).accept(0xc000089680) /opt/hostedtoolcache/go/1.22.10/x64/src/net/tcpsock_posix.go:159 +0x1e net.(*TCPListener).Accept(0xc000089680) /opt/hostedtoolcache/go/1.22.10/x64/src/net/tcpsock.go:327 +0x30 net/http.(*Server).Serve(0xc0000c0000, {0x1344458, 0xc000089680}) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:3260 +0x33e github.com/0xERR0R/blocky/server.(*httpServer).Serve(0xc0000c0000, {0x1346850, 0xc000095a40}, {0x1344458, 0xc000089680}) /home/runner/work/blocky/blocky/server/http.go:50 +0x9b github.com/0xERR0R/blocky/server.(*Server).Start.func2() /home/runner/work/blocky/blocky/server/server.go:408 +0x130 created by github.com/0xERR0R/blocky/server.(*Server).Start in goroutine 1 /home/runner/work/blocky/blocky/server/server.go:405 +0x1b1 goroutine 4805927 [IO wait]: internal/poll.runtime_pollWait(0x7adbe3bf1328, 0x72) /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/netpoll.go:345 +0x85 internal/poll.(*pollDesc).wait(0xc0002a8500?, 0xc000ec6041?, 0x0) /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc0002a8500, {0xc000ec6041, 0x1, 0x1}) /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_unix.go:164 +0x27a net.(*netFD).Read(0xc0002a8500, {0xc000ec6041?, 0xc000668300?, 0x1337ba0?}) /opt/hostedtoolcache/go/1.22.10/x64/src/net/fd_posix.go:55 +0x25 net.(*conn).Read(0xc0001021d0, {0xc000ec6041?, 0x0?, 0xc000ec6038?}) /opt/hostedtoolcache/go/1.22.10/x64/src/net/net.go:185 +0x45 net/http.(*connReader).backgroundRead(0xc000ec6030) /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:681 +0x37 created by net/http.(*connReader).startBackgroundRead in goroutine 4805937 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:677 +0xba