goroutine 2635 [running]: runtime/pprof.writeGoroutineStacks({0x134b220, 0xc00018c0e0}) runtime/pprof/pprof.go:761 +0x6a runtime/pprof.writeGoroutine({0x134b220?, 0xc00018c0e0?}, 0xc00041a5a0?) runtime/pprof/pprof.go:750 +0x25 runtime/pprof.(*Profile).WriteTo(0x1ae5320?, {0x134b220?, 0xc00018c0e0?}, 0xc?) runtime/pprof/pprof.go:374 +0x14b net/http/pprof.handler.ServeHTTP({0x10aebaf, 0x9}, {0x1353e58, 0xc00018c0e0}, 0xc00022a140) net/http/pprof/pprof.go:272 +0x52f github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc000410060, {0x1353e58, 0xc00018c0e0}, 0xc00022a140) github.com/go-chi/chi/v5@v5.0.12/mux.go:459 +0x2e2 net/http.HandlerFunc.ServeHTTP(0xc00002d788?, {0x1353e58?, 0xc00018c0e0?}, 0x7?) net/http/server.go:2220 +0x29 github.com/go-chi/chi/v5/middleware.NoCache.func1({0x1353e58, 0xc00018c0e0}, 0xc00022a140) github.com/go-chi/chi/v5@v5.0.12/middleware/nocache.go:55 +0x28d net/http.HandlerFunc.ServeHTTP(0xc00041a4e0?, {0x1353e58?, 0xc00018c0e0?}, 0xc00002d850?) net/http/server.go:2220 +0x29 github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc000410060, {0x1353e58, 0xc00018c0e0}, 0xc00022a140) github.com/go-chi/chi/v5@v5.0.12/mux.go:73 +0x32f github.com/go-chi/chi/v5.(*Mux).Mount.func1({0x1353e58, 0xc00018c0e0}, 0xc00022a140) github.com/go-chi/chi/v5@v5.0.12/mux.go:327 +0x1bb net/http.HandlerFunc.ServeHTTP(0xc00019e1e0?, {0x1353e58?, 0xc00018c0e0?}, 0xc0002450b4?) net/http/server.go:2220 +0x29 github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc000410000, {0x1353e58, 0xc00018c0e0}, 0xc00022a140) github.com/go-chi/chi/v5@v5.0.12/mux.go:459 +0x2e2 net/http.HandlerFunc.ServeHTTP(0xc00040a6e0?, {0x1353e58?, 0xc00018c0e0?}, 0xc00022a140?) net/http/server.go:2220 +0x29 github.com/go-chi/cors.(*Cors).Handler-fm.(*Cors).Handler.func1({0x1353e58, 0xc00018c0e0}, 0xc00022a140) github.com/go-chi/cors@v1.2.1/cors.go:228 +0x17e net/http.HandlerFunc.ServeHTTP(0x1004ce0?, {0x1353e58?, 0xc00018c0e0?}, 0x10?) net/http/server.go:2220 +0x29 github.com/0xERR0R/blocky/server.secureHeader.func1({0x1353e58, 0xc00018c0e0}, 0xc00022a140) github.com/0xERR0R/blocky/server/server_endpoints.go:44 +0x2f0 net/http.HandlerFunc.ServeHTTP(0x1356440?, {0x1353e58?, 0xc00018c0e0?}, 0x1ade730?) net/http/server.go:2220 +0x29 github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc000410000, {0x1353e58, 0xc00018c0e0}, 0xc00022a000) github.com/go-chi/chi/v5@v5.0.12/mux.go:90 +0x2ee net/http.serverHandler.ServeHTTP({0xc00041a3f0?}, {0x1353e58?, 0xc00018c0e0?}, 0x6?) net/http/server.go:3210 +0x8e net/http.(*conn).serve(0xc00027ed80, {0x1356408, 0xc000040900}) net/http/server.go:2092 +0x5d0 created by net/http.(*Server).Serve in goroutine 88 net/http/server.go:3360 +0x485 goroutine 1 [chan receive, 12571 minutes]: github.com/0xERR0R/blocky/cmd.startServer(0x0?, {0x0?, 0x0?, 0x0?}) github.com/0xERR0R/blocky/cmd/serve.go:77 +0x370 github.com/0xERR0R/blocky/cmd.NewRootCommand.func1(0xc00016ab00?, {0xc000112da0?, 0x4?, 0x10a85ec?}) github.com/0xERR0R/blocky/cmd/root.go:43 +0xab github.com/spf13/cobra.(*Command).execute(0xc0003a0008, {0xc000136760, 0x2, 0x2}) github.com/spf13/cobra@v1.8.0/command.go:983 +0xaaa github.com/spf13/cobra.(*Command).ExecuteC(0xc0003a0008) github.com/spf13/cobra@v1.8.0/command.go:1115 +0x3ff github.com/spf13/cobra.(*Command).Execute(...) github.com/spf13/cobra@v1.8.0/command.go:1039 github.com/0xERR0R/blocky/cmd.Execute() github.com/0xERR0R/blocky/cmd/root.go:113 +0x18 main.main() github.com/0xERR0R/blocky/main.go:10 +0x13 goroutine 15 [select, 1301 minutes]: github.com/0xERR0R/blocky/resolver.(*QueryLoggingResolver).writeLog(0xc0000cb2c0, {0x1356440?, 0xc000163c70?}) github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:197 +0xea created by github.com/0xERR0R/blocky/resolver.NewQueryLoggingResolver in goroutine 1 github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:86 +0x4a5 goroutine 36 [syscall, 12571 minutes]: os/signal.signal_recv() runtime/sigqueue.go:152 +0x29 os/signal.loop() os/signal/signal_unix.go:23 +0x13 created by os/signal.Notify.func1.1 in goroutine 1 os/signal/signal.go:151 +0x1f goroutine 14 [select, 93 minutes]: github.com/0xERR0R/blocky/config.(*SourceLoading).periodically(0xc00007a7d0?, {0x1356440, 0xc000163c70}, 0xc0003e9d50?, 0xc0000d7180) github.com/0xERR0R/blocky/config/config.go:374 +0xf7 created by github.com/0xERR0R/blocky/config.(*SourceLoading).StartPeriodicRefresh in goroutine 1 github.com/0xERR0R/blocky/config/config.go:357 +0xc6 goroutine 131 [select, 12571 minutes]: github.com/0xERR0R/blocky/cmd.startServer.func1() github.com/0xERR0R/blocky/cmd/serve.go:63 +0x96 created by github.com/0xERR0R/blocky/cmd.startServer in goroutine 1 github.com/0xERR0R/blocky/cmd/serve.go:62 +0x28a goroutine 11 [select, 93 minutes]: github.com/0xERR0R/blocky/config.(*SourceLoading).periodically(0xc00007cfd0?, {0x1356440, 0xc000163c70}, 0xc00004c690?, 0xc0001d2810) github.com/0xERR0R/blocky/config/config.go:374 +0xf7 created by github.com/0xERR0R/blocky/config.(*SourceLoading).StartPeriodicRefresh in goroutine 1 github.com/0xERR0R/blocky/config/config.go:357 +0xc6 goroutine 7 [select, 91 minutes]: github.com/0xERR0R/blocky/config.(*SourceLoading).periodically(0xc00007bfd0?, {0x1356440, 0xc000163c70}, 0xc00004c460?, 0xc0003eb2a0) github.com/0xERR0R/blocky/config/config.go:374 +0xf7 created by github.com/0xERR0R/blocky/config.(*SourceLoading).StartPeriodicRefresh in goroutine 1 github.com/0xERR0R/blocky/config/config.go:357 +0xc6 goroutine 130 [select, 12571 minutes]: github.com/0xERR0R/blocky/server.registerPrintConfigurationTrigger.func1() github.com/0xERR0R/blocky/server/server_config_trigger.go:19 +0x8e created by github.com/0xERR0R/blocky/server.registerPrintConfigurationTrigger in goroutine 1 github.com/0xERR0R/blocky/server/server_config_trigger.go:17 +0xce goroutine 85 [IO wait]: internal/poll.runtime_pollWait(0x7fef0dc98460, 0x72) runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0xc000166000?, 0xc0004e4000?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).ReadMsgInet4(0xc000166000, {0xc0004e4000, 0xffff, 0xffff}, {0xc00045ecc0, 0x28, 0x28}, 0x0, 0xc00008faa0) internal/poll/fd_unix.go:329 +0x330 net.(*netFD).readMsgInet4(0xc000166000, {0xc0004e4000?, 0x7fef54f320a8?, 0xc000366380?}, {0xc00045ecc0?, 0xc00008fa90?, 0x45da0f?}, 0xc00008fa80?, 0x0?) net/fd_posix.go:84 +0x31 net.(*UDPConn).readMsg(0xc00008fbc8?, {0xc0004e4000?, 0x7fef0dc984a8?, 0x2ae03ff151ebb?}, {0xc00045ecc0?, 0xc00008fbd8?, 0x4717bd?}) net/udpsock_posix.go:101 +0x187 net.(*UDPConn).ReadMsgUDPAddrPort(0xc000184000, {0xc0004e4000?, 0xc0000e9c08?, 0xc00045ecc0?}, {0xc00045ecc0?, 0x0?, 0xc00045ecc0?}) net/udpsock.go:203 +0x3e net.(*UDPConn).ReadMsgUDP(0x2ae022107fbaf?, {0xc0004e4000?, 0x4bb820?, 0xc000166000?}, {0xc00045ecc0?, 0xc00008fc80?, 0x5f7c28?}) net/udpsock.go:191 +0x25 github.com/miekg/dns.ReadFromSessionUDP(0xc000184000, {0xc0004e4000, 0xffff, 0xffff}) github.com/miekg/dns@v1.1.59/udp.go:43 +0x87 github.com/miekg/dns.(*Server).readUDP(0xc000154b40, 0xc000184000, 0x77359400) github.com/miekg/dns@v1.1.59/server.go:699 +0x105 github.com/miekg/dns.defaultReader.ReadUDP({0xc000154b40?}, 0xc000184000?, 0x77359400?) github.com/miekg/dns@v1.1.59/server.go:174 +0x13 github.com/miekg/dns.(*Server).serveUDP(0xc000154b40, {0x135c940, 0xc000184000}) github.com/miekg/dns@v1.1.59/server.go:517 +0x242 github.com/miekg/dns.(*Server).ListenAndServe(0xc000154b40) github.com/miekg/dns@v1.1.59/server.go:346 +0x530 github.com/0xERR0R/blocky/server.(*Server).Start.func1() github.com/0xERR0R/blocky/server/server.go:487 +0x29 created by github.com/0xERR0R/blocky/server.(*Server).Start in goroutine 1 github.com/0xERR0R/blocky/server/server.go:486 +0xd6 goroutine 13 [select, 33 minutes]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x1356440, 0xc000163c70}, 0xc0001bfda0) github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 +0xf2 created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 12 [select]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x1356440, 0xc000163c70}, 0xc0001bfcb0) github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 +0xf2 created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 87 [IO wait, 131 minutes]: internal/poll.runtime_pollWait(0x7fef0dc98348, 0x72) runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0xc0001ce000?, 0x900000036?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Accept(0xc0001ce000) internal/poll/fd_unix.go:620 +0x295 net.(*netFD).accept(0xc0001ce000) net/fd_unix.go:172 +0x29 net.(*TCPListener).accept(0xc0000cae80) net/tcpsock_posix.go:159 +0x1e net.(*TCPListener).Accept(0xc0000cae80) net/tcpsock.go:372 +0x30 crypto/tls.(*listener).Accept(0xc000602048) crypto/tls/tls.go:67 +0x27 github.com/miekg/dns.(*Server).serveTCP(0xc000154d80, {0x1353ee8, 0xc000602048}) github.com/miekg/dns@v1.1.59/server.go:461 +0x107 github.com/miekg/dns.(*Server).ListenAndServe(0xc000154d80) github.com/miekg/dns@v1.1.59/server.go:332 +0x7ed github.com/0xERR0R/blocky/server.(*Server).Start.func1() github.com/0xERR0R/blocky/server/server.go:487 +0x29 created by github.com/0xERR0R/blocky/server.(*Server).Start in goroutine 1 github.com/0xERR0R/blocky/server/server.go:486 +0xd6 goroutine 88 [IO wait]: internal/poll.runtime_pollWait(0x7fef0dc98690, 0x72) runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0xc000167800?, 0x900000036?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Accept(0xc000167800) internal/poll/fd_unix.go:620 +0x295 net.(*netFD).accept(0xc000167800) net/fd_unix.go:172 +0x29 net.(*TCPListener).accept(0xc0004134c0) net/tcpsock_posix.go:159 +0x1e net.(*TCPListener).Accept(0xc0004134c0) net/tcpsock.go:372 +0x30 net/http.(*Server).Serve(0xc00019e000, {0x1353f78, 0xc0004134c0}) net/http/server.go:3330 +0x30c github.com/0xERR0R/blocky/server.(*Server).Start.func2() github.com/0xERR0R/blocky/server/server.go:507 +0x145 created by github.com/0xERR0R/blocky/server.(*Server).Start in goroutine 1 github.com/0xERR0R/blocky/server/server.go:497 +0x185 goroutine 86 [IO wait, 12571 minutes]: internal/poll.runtime_pollWait(0x7fef0dc98578, 0x72) runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0xc000366080?, 0xc0003409c0?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Accept(0xc000366080) internal/poll/fd_unix.go:620 +0x295 net.(*netFD).accept(0xc000366080) net/fd_unix.go:172 +0x29 net.(*TCPListener).accept(0xc00060e040) net/tcpsock_posix.go:159 +0x1e net.(*TCPListener).Accept(0xc00060e040) net/tcpsock.go:372 +0x30 github.com/miekg/dns.(*Server).serveTCP(0xc000154c60, {0x1353f78, 0xc00060e040}) github.com/miekg/dns@v1.1.59/server.go:461 +0x107 github.com/miekg/dns.(*Server).ListenAndServe(0xc000154c60) github.com/miekg/dns@v1.1.59/server.go:318 +0x3a8 github.com/0xERR0R/blocky/server.(*Server).Start.func1() github.com/0xERR0R/blocky/server/server.go:487 +0x29 created by github.com/0xERR0R/blocky/server.(*Server).Start in goroutine 1 github.com/0xERR0R/blocky/server/server.go:486 +0xd6 goroutine 16 [select, 333 minutes]: github.com/0xERR0R/blocky/resolver.(*QueryLoggingResolver).periodicCleanUp(0xc0000cb2c0, {0x1356440, 0xc000163c70}) github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:101 +0xed created by github.com/0xERR0R/blocky/resolver.NewQueryLoggingResolver in goroutine 1 github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:89 +0x51f goroutine 118 [select]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x1356440, 0xc000163c70}, 0xc000580330) github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 +0xf2 created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 2636 [IO wait]: internal/poll.runtime_pollWait(0x7fef0dc98230, 0x72) runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0xc000250080?, 0xc00041a401?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc000250080, {0xc00041a401, 0x1, 0x1}) internal/poll/fd_unix.go:165 +0x27a net.(*netFD).Read(0xc000250080, {0xc00041a401?, 0xc0004c2748?, 0x4783d0?}) net/fd_posix.go:55 +0x25 net.(*conn).Read(0xc0001380b0, {0xc00041a401?, 0xc0004c27d0?, 0x1b2ace0?}) net/net.go:189 +0x45 net/http.(*connReader).backgroundRead(0xc00041a3f0) net/http/server.go:690 +0x37 created by net/http.(*connReader).startBackgroundRead in goroutine 2635 net/http/server.go:686 +0xb6