goroutine 124 [running]: runtime/pprof.writeGoroutineStacks({0x149c940, 0xc0000001c0}) runtime/pprof/pprof.go:764 +0x6a runtime/pprof.writeGoroutine({0x149c940?, 0xc0000001c0?}, 0x41?) runtime/pprof/pprof.go:753 +0x25 runtime/pprof.(*Profile).WriteTo(0x1ccc260?, {0x149c940?, 0xc0000001c0?}, 0xc?) runtime/pprof/pprof.go:377 +0x14b net/http/pprof.handler.ServeHTTP({0x11ea058, 0x9}, {0x14a5b78, 0xc0000001c0}, 0xc0001cc3c0) net/http/pprof/pprof.go:272 +0x52f github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc000525140, {0x14a5b78, 0xc0000001c0}, 0xc0001cc3c0) github.com/go-chi/chi/v5@v5.2.0/mux.go:480 +0x2e2 net/http.HandlerFunc.ServeHTTP(0x1152960?, {0x14a5b78?, 0xc0000001c0?}, 0x7?) net/http/server.go:2294 +0x29 github.com/go-chi/chi/v5/middleware.NoCache.func1({0x14a5b78, 0xc0000001c0}, 0xc0001cc3c0) github.com/go-chi/chi/v5@v5.2.0/middleware/nocache.go:55 +0x28d net/http.HandlerFunc.ServeHTTP(0xc0020a7410?, {0x14a5b78?, 0xc0000001c0?}, 0xc0005d5680?) net/http/server.go:2294 +0x29 github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc000525140, {0x14a5b78, 0xc0000001c0}, 0xc0001cc3c0) github.com/go-chi/chi/v5@v5.2.0/mux.go:73 +0x32f github.com/go-chi/chi/v5.(*Mux).Mount.func1({0x14a5b78, 0xc0000001c0}, 0xc0001cc3c0) github.com/go-chi/chi/v5@v5.2.0/mux.go:327 +0x1bb net/http.HandlerFunc.ServeHTTP(0xc0000401e0?, {0x14a5b78?, 0xc0000001c0?}, 0xc000046588?) net/http/server.go:2294 +0x29 github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc0005249c0, {0x14a5b78, 0xc0000001c0}, 0xc0001cc3c0) github.com/go-chi/chi/v5@v5.2.0/mux.go:480 +0x2e2 net/http.HandlerFunc.ServeHTTP(0xc0020a7410?, {0x14a5b78?, 0xc0000001c0?}, 0xc000492850?) net/http/server.go:2294 +0x29 github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc0005249c0, {0x14a5b78, 0xc0000001c0}, 0xc0001cc3c0) github.com/go-chi/chi/v5@v5.2.0/mux.go:73 +0x32f github.com/go-chi/chi/v5.(*Mux).Mount.func1({0x14a5b78, 0xc0000001c0}, 0xc0001cc3c0) github.com/go-chi/chi/v5@v5.2.0/mux.go:327 +0x1bb net/http.HandlerFunc.ServeHTTP(0xc0000401e0?, {0x14a5b78?, 0xc0000001c0?}, 0xc000162724?) net/http/server.go:2294 +0x29 github.com/go-chi/chi/v5.(*Mux).routeHTTP(0xc0004424e0, {0x14a5b78, 0xc0000001c0}, 0xc0001cc3c0) github.com/go-chi/chi/v5@v5.2.0/mux.go:480 +0x2e2 net/http.HandlerFunc.ServeHTTP(0xc00020c000?, {0x14a5b78?, 0xc0000001c0?}, 0xc0001cc3c0?) net/http/server.go:2294 +0x29 github.com/go-chi/cors.(*Cors).Handler-fm.(*Cors).Handler.func1({0x14a5b78, 0xc0000001c0}, 0xc0001cc3c0) github.com/go-chi/cors@v1.2.1/cors.go:228 +0x17e net/http.HandlerFunc.ServeHTTP(0x1400000000492aa0?, {0x14a5b78?, 0xc0000001c0?}, 0x140?) net/http/server.go:2294 +0x29 github.com/0xERR0R/blocky/server.secureHeadersMiddleware.func1({0x14a5b78?, 0xc0000001c0?}, 0x1cc4d01?) github.com/0xERR0R/blocky/server/http.go:79 +0x312 net/http.HandlerFunc.ServeHTTP(0x14a7f70?, {0x14a5b78?, 0xc0000001c0?}, 0x1cc4d20?) net/http/server.go:2294 +0x29 github.com/go-chi/chi/v5.(*Mux).ServeHTTP(0xc0004424e0, {0x14a5b78, 0xc0000001c0}, 0xc0001cc280) github.com/go-chi/chi/v5@v5.2.0/mux.go:90 +0x2ee net/http.serverHandler.ServeHTTP({0xc0020a7290?}, {0x14a5b78?, 0xc0000001c0?}, 0x6?) net/http/server.go:3301 +0x8e net/http.(*conn).serve(0xc0004081b0, {0x14a7f38, 0xc0003c8240}) net/http/server.go:2102 +0x625 created by net/http.(*Server).Serve in goroutine 108 net/http/server.go:3454 +0x485 goroutine 1 [chan receive, 21 minutes]: github.com/0xERR0R/blocky/cmd.startServer(0xc0002a7b70?, {0xc0002a7a78?, 0x8080808080808080?, 0x0?}) github.com/0xERR0R/blocky/cmd/serve.go:79 +0x36b github.com/0xERR0R/blocky/cmd.NewRootCommand.func1(0xc000160b00?, {0xc000113200?, 0x4?, 0x11e3951?}) github.com/0xERR0R/blocky/cmd/root.go:42 +0xc6 github.com/spf13/cobra.(*Command).execute(0xc0003a4008, {0xc00003ea90, 0x2, 0x2}) github.com/spf13/cobra@v1.8.1/command.go:985 +0xad4 github.com/spf13/cobra.(*Command).ExecuteC(0xc0003a4008) github.com/spf13/cobra@v1.8.1/command.go:1117 +0x44f github.com/spf13/cobra.(*Command).Execute(...) github.com/spf13/cobra@v1.8.1/command.go:1041 github.com/0xERR0R/blocky/cmd.Execute() github.com/0xERR0R/blocky/cmd/root.go:112 +0x18 main.main() github.com/0xERR0R/blocky/main.go:10 +0x13 goroutine 34 [syscall, 21 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:152 +0x1f goroutine 77 [select, 21 minutes]: github.com/0xERR0R/blocky/config.(*SourceLoading).periodically(0xc0000817d0?, {0x14a7f70, 0xc00031a000}, 0xc00004e620?, 0xc000b8e470) github.com/0xERR0R/blocky/config/config.go:382 +0xf7 created by github.com/0xERR0R/blocky/config.(*SourceLoading).StartPeriodicRefresh in goroutine 1 github.com/0xERR0R/blocky/config/config.go:365 +0xc6 goroutine 73 [select, 21 minutes]: github.com/0xERR0R/blocky/config.(*SourceLoading).periodically(0xc0004047d0?, {0x14a7f70, 0xc00031a000}, 0xc00004e380?, 0xc0003d5360) github.com/0xERR0R/blocky/config/config.go:382 +0xf7 created by github.com/0xERR0R/blocky/config.(*SourceLoading).StartPeriodicRefresh in goroutine 1 github.com/0xERR0R/blocky/config/config.go:365 +0xc6 goroutine 79 [select, 21 minutes]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x14a7f70, 0xc00031a000}, 0xc000bb3260) github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 +0xef created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 78 [select]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x14a7f70, 0xc00031a000}, 0xc000bb3170) github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 +0xef created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 80 [select, 7 minutes]: github.com/0xERR0R/blocky/resolver.(*QueryLoggingResolver).writeLog(0xc000bb47d0, {0x14a7f70?, 0xc00031a000?}) github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:223 +0xea created by github.com/0xERR0R/blocky/resolver.NewQueryLoggingResolver in goroutine 1 github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:110 +0x4d9 goroutine 51 [chan receive, 21 minutes]: github.com/0xERR0R/blocky/server.(*httpServer).Serve.func1() github.com/0xERR0R/blocky/server/http.go:45 +0x2c created by github.com/0xERR0R/blocky/server.(*httpServer).Serve in goroutine 108 github.com/0xERR0R/blocky/server/http.go:44 +0x85 goroutine 81 [select, 21 minutes]: github.com/0xERR0R/blocky/resolver.(*QueryLoggingResolver).periodicCleanUp(0xc000bb47d0, {0x14a7f70, 0xc00031a000}) github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:126 +0xed created by github.com/0xERR0R/blocky/resolver.NewQueryLoggingResolver in goroutine 1 github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:114 +0x557 goroutine 114 [select, 21 minutes]: github.com/0xERR0R/blocky/config.(*SourceLoading).periodically(0x0?, {0x14a7f70, 0xc00031a000}, 0x0?, 0xc000bba440) github.com/0xERR0R/blocky/config/config.go:382 +0xf7 created by github.com/0xERR0R/blocky/config.(*SourceLoading).StartPeriodicRefresh in goroutine 1 github.com/0xERR0R/blocky/config/config.go:365 +0xc6 goroutine 119 [select]: github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]({0x14a7f70, 0xc00031a000}, 0xc000bb3770) github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 +0xef created by github.com/0xERR0R/blocky/cache/expirationcache.NewCacheWithOnExpired[...] in goroutine 1 github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:94 +0x2db goroutine 105 [IO wait]: internal/poll.runtime_pollWait(0x7fc652e3fa80, 0x72) runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0xc00024a000?, 0xc0005d6000?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).ReadMsgInet4(0xc00024a000, {0xc0005d6000, 0xffff, 0xffff}, {0xc0004463f0, 0x28, 0x28}, 0x0, 0xc000495a98) internal/poll/fd_unix.go:329 +0x330 net.(*netFD).readMsgInet4(0xc00024a000, {0xc0005d6000?, 0x41d3ee?, 0x42b53c?}, {0xc0004463f0?, 0x5?, 0xc000495a80?}, 0xc000495a98?, 0x464a6c?) net/fd_posix.go:84 +0x31 net.(*UDPConn).readMsg(0xc000495bc0?, {0xc0005d6000?, 0x7fc652e3fac8?, 0x8ec80d7dd512?}, {0xc0004463f0?, 0x135cc60?, 0x10d55c0?}) net/udpsock_posix.go:101 +0x187 net.(*UDPConn).ReadMsgUDPAddrPort(0xc000320000, {0xc0005d6000?, 0x478f79?, 0x4c0665?}, {0xc0004463f0?, 0xc000495c30?, 0x4c05a9?}) net/udpsock.go:203 +0x3e net.(*UDPConn).ReadMsgUDP(0x12bf54e7a83?, {0xc0005d6000?, 0x4c0640?, 0xc00024a000?}, {0xc0004463f0?, 0xc000495c78?, 0x5c32e8?}) net/udpsock.go:191 +0x25 github.com/miekg/dns.ReadFromSessionUDP(0xc000320000, {0xc0005d6000, 0xffff, 0xffff}) github.com/miekg/dns@v1.1.62/udp.go:43 +0x85 github.com/miekg/dns.(*Server).readUDP(0xc00036a000, 0xc000320000, 0x77359400) github.com/miekg/dns@v1.1.62/server.go:716 +0xfd github.com/miekg/dns.defaultReader.ReadUDP({0xc00036a000?}, 0x10d69c0?, 0xc000c80034?) github.com/miekg/dns@v1.1.62/server.go:174 +0x13 github.com/miekg/dns.(*Server).serveUDP(0xc00036a000, {0x14ae500, 0xc000320000}) github.com/miekg/dns@v1.1.62/server.go:530 +0x245 github.com/miekg/dns.(*Server).ListenAndServe(0xc00036a000) github.com/miekg/dns@v1.1.62/server.go:359 +0x559 github.com/0xERR0R/blocky/server.(*Server).Start.func1() github.com/0xERR0R/blocky/server/server.go:396 +0x29 created by github.com/0xERR0R/blocky/server.(*Server).Start in goroutine 1 github.com/0xERR0R/blocky/server/server.go:395 +0xcf goroutine 106 [IO wait, 21 minutes]: internal/poll.runtime_pollWait(0x7fc652e3fb98, 0x72) runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0xc000364000?, 0xc00007a138?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Accept(0xc000364000) internal/poll/fd_unix.go:620 +0x295 net.(*netFD).accept(0xc000364000) net/fd_unix.go:172 +0x29 net.(*TCPListener).accept(0xc0020c6000) net/tcpsock_posix.go:159 +0x1b net.(*TCPListener).Accept(0xc0020c6000) net/tcpsock.go:380 +0x30 github.com/miekg/dns.(*Server).serveTCP(0xc00036a120, {0x14a5c98, 0xc0020c6000}) github.com/miekg/dns@v1.1.62/server.go:474 +0x107 github.com/miekg/dns.(*Server).ListenAndServe(0xc00036a120) github.com/miekg/dns@v1.1.62/server.go:331 +0x3de github.com/0xERR0R/blocky/server.(*Server).Start.func1() github.com/0xERR0R/blocky/server/server.go:396 +0x29 created by github.com/0xERR0R/blocky/server.(*Server).Start in goroutine 1 github.com/0xERR0R/blocky/server/server.go:395 +0xcf goroutine 107 [IO wait, 7 minutes]: internal/poll.runtime_pollWait(0x7fc652e3f968, 0x72) runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0xc000156380?, 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(0xc000156380) internal/poll/fd_unix.go:620 +0x295 net.(*netFD).accept(0xc000156380) net/fd_unix.go:172 +0x29 net.(*TCPListener).accept(0xc000344a00) net/tcpsock_posix.go:159 +0x1b net.(*TCPListener).Accept(0xc000344a00) net/tcpsock.go:380 +0x30 crypto/tls.(*listener).Accept(0xc001914900) crypto/tls/tls.go:67 +0x24 github.com/miekg/dns.(*Server).serveTCP(0xc00036a240, {0x14a5c08, 0xc001914900}) github.com/miekg/dns@v1.1.62/server.go:474 +0x107 github.com/miekg/dns.(*Server).ListenAndServe(0xc00036a240) github.com/miekg/dns@v1.1.62/server.go:345 +0x818 github.com/0xERR0R/blocky/server.(*Server).Start.func1() github.com/0xERR0R/blocky/server/server.go:396 +0x29 created by github.com/0xERR0R/blocky/server.(*Server).Start in goroutine 1 github.com/0xERR0R/blocky/server/server.go:395 +0xcf goroutine 108 [IO wait]: internal/poll.runtime_pollWait(0x7fc652e3fee0, 0x72) runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0xc000364100?, 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(0xc000364100) internal/poll/fd_unix.go:620 +0x295 net.(*netFD).accept(0xc000364100) net/fd_unix.go:172 +0x29 net.(*TCPListener).accept(0xc000344180) net/tcpsock_posix.go:159 +0x1b net.(*TCPListener).Accept(0xc000344180) net/tcpsock.go:380 +0x30 net/http.(*Server).Serve(0xc0001b7e60, {0x14a5c98, 0xc000344180}) net/http/server.go:3424 +0x30c github.com/0xERR0R/blocky/server.(*httpServer).Serve(0xc0001b7e60, {0x14a7f70, 0xc00031a000}, {0x14a5c98, 0xc000344180}) github.com/0xERR0R/blocky/server/http.go:50 +0x9b github.com/0xERR0R/blocky/server.(*Server).Start.func2() github.com/0xERR0R/blocky/server/server.go:408 +0x130 created by github.com/0xERR0R/blocky/server.(*Server).Start in goroutine 1 github.com/0xERR0R/blocky/server/server.go:405 +0x1b1 goroutine 109 [select, 21 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 110 [select, 21 minutes]: github.com/0xERR0R/blocky/cmd.startServer.func1() github.com/0xERR0R/blocky/cmd/serve.go:65 +0x96 created by github.com/0xERR0R/blocky/cmd.startServer in goroutine 1 github.com/0xERR0R/blocky/cmd/serve.go:64 +0x286 goroutine 125 [IO wait]: internal/poll.runtime_pollWait(0x7fc652e3fdc8, 0x72) runtime/netpoll.go:351 +0x85 internal/poll.(*pollDesc).wait(0xc000364280?, 0xc0020a72a1?, 0x0) internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc000364280, {0xc0020a72a1, 0x1, 0x1}) internal/poll/fd_unix.go:165 +0x27a net.(*netFD).Read(0xc000364280, {0xc0020a72a1?, 0xc000344618?, 0xc0004cb770?}) net/fd_posix.go:55 +0x25 net.(*conn).Read(0xc00007a120, {0xc0020a72a1?, 0xc0004c5180?, 0xc00006c008?}) net/net.go:194 +0x45 net/http.(*connReader).backgroundRead(0xc0020a7290) net/http/server.go:690 +0x37 created by net/http.(*connReader).startBackgroundRead in goroutine 124 net/http/server.go:686 +0xb6