goroutine profile: total 21 3 @ 0x47b86e 0x458e57 0x8d23f7 0x4834a1 # 0x8d23f6 github.com/0xERR0R/blocky/config.(*SourceLoading).periodically+0xf6 github.com/0xERR0R/blocky/config/config.go:382 1 @ 0x418fc9 0x47d789 0x8e0793 0x4834a1 # 0x47d788 os/signal.signal_recv+0x28 runtime/sigqueue.go:152 # 0x8e0792 os/signal.loop+0x12 os/signal/signal_unix.go:23 1 @ 0x43b7d1 0x47a67d 0xee1011 0xee0e45 0xeddc6b 0xef716f 0x847762 0x704529 0xefe12d 0x704529 0x8451ef 0x846b7b 0x704529 0x847762 0x704529 0x8451ef 0x846b7b 0x704529 0x847762 0x704529 0x91cc3e 0x704529 0xf02812 0x704529 0x8451ae 0x724fee 0x702a25 0x4834a1 # 0xee1010 runtime/pprof.writeRuntimeProfile+0xb0 runtime/pprof/pprof.go:796 # 0xee0e44 runtime/pprof.writeGoroutine+0x44 runtime/pprof/pprof.go:755 # 0xeddc6a runtime/pprof.(*Profile).WriteTo+0x14a runtime/pprof/pprof.go:377 # 0xef716e net/http/pprof.handler.ServeHTTP+0x52e net/http/pprof/pprof.go:272 # 0x847761 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e1 github.com/go-chi/chi/v5@v5.2.0/mux.go:480 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0xefe12c github.com/go-chi/chi/v5/middleware.NoCache.func1+0x28c github.com/go-chi/chi/v5@v5.2.0/middleware/nocache.go:55 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x8451ee github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x32e github.com/go-chi/chi/v5@v5.2.0/mux.go:73 # 0x846b7a github.com/go-chi/chi/v5.(*Mux).Mount.func1+0x1ba github.com/go-chi/chi/v5@v5.2.0/mux.go:327 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x847761 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e1 github.com/go-chi/chi/v5@v5.2.0/mux.go:480 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x8451ee github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x32e github.com/go-chi/chi/v5@v5.2.0/mux.go:73 # 0x846b7a github.com/go-chi/chi/v5.(*Mux).Mount.func1+0x1ba github.com/go-chi/chi/v5@v5.2.0/mux.go:327 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x847761 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e1 github.com/go-chi/chi/v5@v5.2.0/mux.go:480 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x91cc3d github.com/go-chi/cors.(*Cors).Handler-fm.(*Cors).Handler.func1+0x17d github.com/go-chi/cors@v1.2.1/cors.go:228 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0xf02811 github.com/0xERR0R/blocky/server.secureHeadersMiddleware.func1+0x311 github.com/0xERR0R/blocky/server/http.go:79 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x8451ad github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x2ed github.com/go-chi/chi/v5@v5.2.0/mux.go:90 # 0x724fed net/http.serverHandler.ServeHTTP+0x8d net/http/server.go:3301 # 0x702a24 net/http.(*conn).serve+0x624 net/http/server.go:2102 1 @ 0x47b86e 0x4139e5 0x413572 0xf0222c 0x4834a1 # 0xf0222b github.com/0xERR0R/blocky/server.(*httpServer).Serve.func1+0x2b github.com/0xERR0R/blocky/server/http.go:45 1 @ 0x47b86e 0x4139e5 0x413572 0xf0c8eb 0xf0d306 0x89d7b4 0x89e0ef 0xf0c418 0xf0c40f 0xf0e693 0x44660b 0x4834a1 # 0xf0c8ea github.com/0xERR0R/blocky/cmd.startServer+0x36a github.com/0xERR0R/blocky/cmd/serve.go:79 # 0xf0d305 github.com/0xERR0R/blocky/cmd.NewRootCommand.func1+0xc5 github.com/0xERR0R/blocky/cmd/root.go:42 # 0x89d7b3 github.com/spf13/cobra.(*Command).execute+0xad3 github.com/spf13/cobra@v1.8.1/command.go:985 # 0x89e0ee github.com/spf13/cobra.(*Command).ExecuteC+0x44e github.com/spf13/cobra@v1.8.1/command.go:1117 # 0xf0c417 github.com/spf13/cobra.(*Command).Execute+0x17 github.com/spf13/cobra@v1.8.1/command.go:1041 # 0xf0c40e github.com/0xERR0R/blocky/cmd.Execute+0xe github.com/0xERR0R/blocky/cmd/root.go:112 # 0xf0e692 main.main+0x12 github.com/0xERR0R/blocky/main.go:10 # 0x44660a runtime.main+0x28a runtime/proc.go:283 1 @ 0x47b86e 0x43f057 0x47aa85 0x4c01a7 0x4c2b70 0x4c2b5a 0x5b3271 0x5cecc7 0x5cd3fe 0x5cd305 0x81d7e5 0x80bbdd 0x808cf3 0x80a865 0x809399 0xf06229 0x4834a1 # 0x47aa84 internal/poll.runtime_pollWait+0x84 runtime/netpoll.go:351 # 0x4c01a6 internal/poll.(*pollDesc).wait+0x26 internal/poll/fd_poll_runtime.go:84 # 0x4c2b6f internal/poll.(*pollDesc).waitRead+0x32f internal/poll/fd_poll_runtime.go:89 # 0x4c2b59 internal/poll.(*FD).ReadMsgInet4+0x319 internal/poll/fd_unix.go:329 # 0x5b3270 net.(*netFD).readMsgInet4+0x30 net/fd_posix.go:84 # 0x5cecc6 net.(*UDPConn).readMsg+0x186 net/udpsock_posix.go:101 # 0x5cd3fd net.(*UDPConn).ReadMsgUDPAddrPort+0x3d net/udpsock.go:203 # 0x5cd304 net.(*UDPConn).ReadMsgUDP+0x24 net/udpsock.go:191 # 0x81d7e4 github.com/miekg/dns.ReadFromSessionUDP+0x84 github.com/miekg/dns@v1.1.62/udp.go:43 # 0x80bbdc github.com/miekg/dns.(*Server).readUDP+0xfc github.com/miekg/dns@v1.1.62/server.go:716 # 0x808cf2 github.com/miekg/dns.defaultReader.ReadUDP+0x12 github.com/miekg/dns@v1.1.62/server.go:174 # 0x80a864 github.com/miekg/dns.(*Server).serveUDP+0x244 github.com/miekg/dns@v1.1.62/server.go:530 # 0x809398 github.com/miekg/dns.(*Server).ListenAndServe+0x558 github.com/miekg/dns@v1.1.62/server.go:359 # 0xf06228 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 github.com/0xERR0R/blocky/server/server.go:396 1 @ 0x47b86e 0x43f057 0x47aa85 0x4c01a7 0x4c5575 0x4c5563 0x5b4ca9 0x5cbd9b 0x5caf90 0x673aa4 0x80a227 0x809658 0xf06229 0x4834a1 # 0x47aa84 internal/poll.runtime_pollWait+0x84 runtime/netpoll.go:351 # 0x4c01a6 internal/poll.(*pollDesc).wait+0x26 internal/poll/fd_poll_runtime.go:84 # 0x4c5574 internal/poll.(*pollDesc).waitRead+0x294 internal/poll/fd_poll_runtime.go:89 # 0x4c5562 internal/poll.(*FD).Accept+0x282 internal/poll/fd_unix.go:620 # 0x5b4ca8 net.(*netFD).accept+0x28 net/fd_unix.go:172 # 0x5cbd9a net.(*TCPListener).accept+0x1a net/tcpsock_posix.go:159 # 0x5caf8f net.(*TCPListener).Accept+0x2f net/tcpsock.go:380 # 0x673aa3 crypto/tls.(*listener).Accept+0x23 crypto/tls/tls.go:67 # 0x80a226 github.com/miekg/dns.(*Server).serveTCP+0x106 github.com/miekg/dns@v1.1.62/server.go:474 # 0x809657 github.com/miekg/dns.(*Server).ListenAndServe+0x817 github.com/miekg/dns@v1.1.62/server.go:345 # 0xf06228 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 github.com/0xERR0R/blocky/server/server.go:396 1 @ 0x47b86e 0x43f057 0x47aa85 0x4c01a7 0x4c5575 0x4c5563 0x5b4ca9 0x5cbd9b 0x5caf90 0x707f0c 0xf021bb 0xf060f0 0x4834a1 # 0x47aa84 internal/poll.runtime_pollWait+0x84 runtime/netpoll.go:351 # 0x4c01a6 internal/poll.(*pollDesc).wait+0x26 internal/poll/fd_poll_runtime.go:84 # 0x4c5574 internal/poll.(*pollDesc).waitRead+0x294 internal/poll/fd_poll_runtime.go:89 # 0x4c5562 internal/poll.(*FD).Accept+0x282 internal/poll/fd_unix.go:620 # 0x5b4ca8 net.(*netFD).accept+0x28 net/fd_unix.go:172 # 0x5cbd9a net.(*TCPListener).accept+0x1a net/tcpsock_posix.go:159 # 0x5caf8f net.(*TCPListener).Accept+0x2f net/tcpsock.go:380 # 0x707f0b net/http.(*Server).Serve+0x30b net/http/server.go:3424 # 0xf021ba github.com/0xERR0R/blocky/server.(*httpServer).Serve+0x9a github.com/0xERR0R/blocky/server/http.go:50 # 0xf060ef github.com/0xERR0R/blocky/server.(*Server).Start.func2+0x12f github.com/0xERR0R/blocky/server/server.go:408 1 @ 0x47b86e 0x43f057 0x47aa85 0x4c01a7 0x4c5575 0x4c5563 0x5b4ca9 0x5cbd9b 0x5caf90 0x80a227 0x80921e 0xf06229 0x4834a1 # 0x47aa84 internal/poll.runtime_pollWait+0x84 runtime/netpoll.go:351 # 0x4c01a6 internal/poll.(*pollDesc).wait+0x26 internal/poll/fd_poll_runtime.go:84 # 0x4c5574 internal/poll.(*pollDesc).waitRead+0x294 internal/poll/fd_poll_runtime.go:89 # 0x4c5562 internal/poll.(*FD).Accept+0x282 internal/poll/fd_unix.go:620 # 0x5b4ca8 net.(*netFD).accept+0x28 net/fd_unix.go:172 # 0x5cbd9a net.(*TCPListener).accept+0x1a net/tcpsock_posix.go:159 # 0x5caf8f net.(*TCPListener).Accept+0x2f net/tcpsock.go:380 # 0x80a226 github.com/miekg/dns.(*Server).serveTCP+0x106 github.com/miekg/dns@v1.1.62/server.go:474 # 0x80921d github.com/miekg/dns.(*Server).ListenAndServe+0x3dd github.com/miekg/dns@v1.1.62/server.go:331 # 0xf06228 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 github.com/0xERR0R/blocky/server/server.go:396 1 @ 0x47b86e 0x458e57 0xeb3c4d 0x4834a1 # 0xeb3c4c github.com/0xERR0R/blocky/resolver.(*QueryLoggingResolver).periodicCleanUp+0xec github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:126 1 @ 0x47b86e 0x458e57 0xeb47ea 0x4834a1 # 0xeb47e9 github.com/0xERR0R/blocky/resolver.(*QueryLoggingResolver).writeLog+0xe9 github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:223 1 @ 0x47b86e 0x458e57 0xec03cf 0x4834a1 # 0xec03ce github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xee github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 1 @ 0x47b86e 0x458e57 0xec170f 0x4834a1 # 0xec170e github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xee github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 1 @ 0x47b86e 0x458e57 0xec4f6f 0x4834a1 # 0xec4f6e github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xee github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 1 @ 0x47b86e 0x458e57 0xf07cae 0x4834a1 # 0xf07cad github.com/0xERR0R/blocky/server.registerPrintConfigurationTrigger.func1+0x8d github.com/0xERR0R/blocky/server/server_config_trigger.go:19 1 @ 0x47b86e 0x458e57 0xf0c9f6 0x4834a1 # 0xf0c9f5 github.com/0xERR0R/blocky/cmd.startServer.func1+0x95 github.com/0xERR0R/blocky/cmd/serve.go:65 1 @ 0x47e165 0x849217 0x84764e 0x704529 0x8451ef 0x846b7b 0x704529 0x847762 0x704529 0x91cc3e 0x704529 0xf02812 0x704529 0x8451ae 0x724fee 0x702a25 0x4834a1 # 0x849216 github.com/go-chi/chi/v5.(*node).FindRoute+0x196 github.com/go-chi/chi/v5@v5.2.0/tree.go:386 # 0x84764d github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x1cd github.com/go-chi/chi/v5@v5.2.0/mux.go:475 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x8451ee github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x32e github.com/go-chi/chi/v5@v5.2.0/mux.go:73 # 0x846b7a github.com/go-chi/chi/v5.(*Mux).Mount.func1+0x1ba github.com/go-chi/chi/v5@v5.2.0/mux.go:327 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x847761 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e1 github.com/go-chi/chi/v5@v5.2.0/mux.go:480 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x91cc3d github.com/go-chi/cors.(*Cors).Handler-fm.(*Cors).Handler.func1+0x17d github.com/go-chi/cors@v1.2.1/cors.go:228 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0xf02811 github.com/0xERR0R/blocky/server.secureHeadersMiddleware.func1+0x311 github.com/0xERR0R/blocky/server/http.go:79 # 0x704528 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x8451ad github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x2ed github.com/go-chi/chi/v5@v5.2.0/mux.go:90 # 0x724fed net/http.serverHandler.ServeHTTP+0x8d net/http/server.go:3301 # 0x702a24 net/http.(*conn).serve+0x624 net/http/server.go:2102 1 @ 0x4834a1 1 @ 0x49c625 0x49ab98 0x4c14ce 0x4c14b6 0x4c1351 0x5b2d05 0x5c2cc5 0x6fc8f7 0x4834a1 # 0x49c624 syscall.Syscall+0x24 syscall/syscall_linux.go:73 # 0x49ab97 syscall.read+0x37 syscall/zsyscall_linux_amd64.go:736 # 0x4c14cd syscall.Read+0x2ad syscall/syscall_unix.go:183 # 0x4c14b5 internal/poll.ignoringEINTRIO+0x295 internal/poll/fd_unix.go:745 # 0x4c1350 internal/poll.(*FD).Read+0x130 internal/poll/fd_unix.go:161 # 0x5b2d04 net.(*netFD).Read+0x24 net/fd_posix.go:55 # 0x5c2cc4 net.(*conn).Read+0x44 net/net.go:194 # 0x6fc8f6 net/http.(*connReader).backgroundRead+0x36 net/http/server.go:690