goroutine profile: total 23 3 @ 0x47b9ee 0x458fd7 0x8d6597 0x4835e1 # 0x8d6596 github.com/0xERR0R/blocky/config.(*SourceLoading).periodically+0xf6 github.com/0xERR0R/blocky/config/config.go:382 2 @ 0x47b9ee 0x43f177 0x47ac05 0x4c02e7 0x4c15da 0x4c15c8 0x5b2dc5 0x5c2d85 0x62e83b 0x51e9d8 0x62ea1e 0x62bb2f 0x632305 0x632306 0x67bc57 0x4b5a31 0x6bf9a5 0x6bf973 0x6c00dd 0x6e4ffa 0x6e4419 0x4835e1 # 0x47ac04 internal/poll.runtime_pollWait+0x84 runtime/netpoll.go:351 # 0x4c02e6 internal/poll.(*pollDesc).wait+0x26 internal/poll/fd_poll_runtime.go:84 # 0x4c15d9 internal/poll.(*pollDesc).waitRead+0x279 internal/poll/fd_poll_runtime.go:89 # 0x4c15c7 internal/poll.(*FD).Read+0x267 internal/poll/fd_unix.go:165 # 0x5b2dc4 net.(*netFD).Read+0x24 net/fd_posix.go:55 # 0x5c2d84 net.(*conn).Read+0x44 net/net.go:194 # 0x62e83a crypto/tls.(*atLeastReader).Read+0x3a crypto/tls/conn.go:809 # 0x51e9d7 bytes.(*Buffer).ReadFrom+0x97 bytes/buffer.go:211 # 0x62ea1d crypto/tls.(*Conn).readFromUntil+0xdd crypto/tls/conn.go:831 # 0x62bb2e crypto/tls.(*Conn).readRecordOrCCS+0x3ce crypto/tls/conn.go:629 # 0x632304 crypto/tls.(*Conn).readRecord+0x144 crypto/tls/conn.go:591 # 0x632305 crypto/tls.(*Conn).Read+0x145 crypto/tls/conn.go:1385 # 0x67bc56 bufio.(*Reader).Read+0x196 bufio/bufio.go:245 # 0x4b5a30 io.ReadAtLeast+0x90 io/io.go:335 # 0x6bf9a4 io.ReadFull+0x64 io/io.go:354 # 0x6bf972 net/http.http2readFrameHeader+0x32 net/http/h2_bundle.go:1805 # 0x6c00dc net/http.(*http2Framer).ReadFrame+0x7c net/http/h2_bundle.go:2072 # 0x6e4ff9 net/http.(*http2clientConnReadLoop).run+0xd9 net/http/h2_bundle.go:9933 # 0x6e4418 net/http.(*http2ClientConn).readLoop+0x78 net/http/h2_bundle.go:9812 2 @ 0x47b9ee 0x458fd7 0xec5a6f 0x4835e1 # 0xec5a6e github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xee github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 2 @ 0x47b9ee 0x458fd7 0xec66af 0x4835e1 # 0xec66ae github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xee github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 1 @ 0x419129 0x47d909 0x8e4813 0x4835e1 # 0x47d908 os/signal.signal_recv+0x28 runtime/sigqueue.go:152 # 0x8e4812 os/signal.loop+0x12 os/signal/signal_unix.go:23 1 @ 0x43b891 0x47a7fd 0xee3e31 0xee3c65 0xee0a8b 0xef9f8f 0x848b62 0x704f29 0xf00f4d 0x704f29 0x8465ef 0x847f7b 0x704f29 0x848b62 0x704f29 0x8465ef 0x847f7b 0x704f29 0x848b62 0x704f29 0x920cbe 0x704f29 0xf05632 0x704f29 0x8465ae 0x7259ee 0x703425 0x4835e1 # 0xee3e30 runtime/pprof.writeRuntimeProfile+0xb0 runtime/pprof/pprof.go:796 # 0xee3c64 runtime/pprof.writeGoroutine+0x44 runtime/pprof/pprof.go:755 # 0xee0a8a runtime/pprof.(*Profile).WriteTo+0x14a runtime/pprof/pprof.go:377 # 0xef9f8e net/http/pprof.handler.ServeHTTP+0x52e net/http/pprof/pprof.go:272 # 0x848b61 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e1 github.com/go-chi/chi/v5@v5.2.1/mux.go:480 # 0x704f28 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0xf00f4c github.com/go-chi/chi/v5/middleware.NoCache.func1+0x28c github.com/go-chi/chi/v5@v5.2.1/middleware/nocache.go:55 # 0x704f28 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x8465ee github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x32e github.com/go-chi/chi/v5@v5.2.1/mux.go:73 # 0x847f7a github.com/go-chi/chi/v5.(*Mux).Mount.func1+0x1ba github.com/go-chi/chi/v5@v5.2.1/mux.go:327 # 0x704f28 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x848b61 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e1 github.com/go-chi/chi/v5@v5.2.1/mux.go:480 # 0x704f28 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x8465ee github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x32e github.com/go-chi/chi/v5@v5.2.1/mux.go:73 # 0x847f7a github.com/go-chi/chi/v5.(*Mux).Mount.func1+0x1ba github.com/go-chi/chi/v5@v5.2.1/mux.go:327 # 0x704f28 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x848b61 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e1 github.com/go-chi/chi/v5@v5.2.1/mux.go:480 # 0x704f28 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x920cbd github.com/go-chi/cors.(*Cors).Handler-fm.(*Cors).Handler.func1+0x17d github.com/go-chi/cors@v1.2.1/cors.go:228 # 0x704f28 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0xf05631 github.com/0xERR0R/blocky/server.secureHeadersMiddleware.func1+0x311 github.com/0xERR0R/blocky/server/http.go:79 # 0x704f28 net/http.HandlerFunc.ServeHTTP+0x28 net/http/server.go:2294 # 0x8465ad github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x2ed github.com/go-chi/chi/v5@v5.2.1/mux.go:90 # 0x7259ed net/http.serverHandler.ServeHTTP+0x8d net/http/server.go:3301 # 0x703424 net/http.(*conn).serve+0x624 net/http/server.go:2102 1 @ 0x47b9ee 0x413b45 0x4136d2 0xf0504c 0x4835e1 # 0xf0504b github.com/0xERR0R/blocky/server.(*httpServer).Serve.func1+0x2b github.com/0xERR0R/blocky/server/http.go:45 1 @ 0x47b9ee 0x413b45 0x4136d2 0xf0f94b 0xf10366 0x8a01ea 0x8a0b2f 0xf0f478 0xf0f46f 0xf118f3 0x44672b 0x4835e1 # 0xf0f94a github.com/0xERR0R/blocky/cmd.startServer+0x36a github.com/0xERR0R/blocky/cmd/serve.go:79 # 0xf10365 github.com/0xERR0R/blocky/cmd.NewRootCommand.func1+0xc5 github.com/0xERR0R/blocky/cmd/root.go:42 # 0x8a01e9 github.com/spf13/cobra.(*Command).execute+0xaa9 github.com/spf13/cobra@v1.9.1/command.go:1015 # 0x8a0b2e github.com/spf13/cobra.(*Command).ExecuteC+0x46e github.com/spf13/cobra@v1.9.1/command.go:1148 # 0xf0f477 github.com/spf13/cobra.(*Command).Execute+0x17 github.com/spf13/cobra@v1.9.1/command.go:1071 # 0xf0f46e github.com/0xERR0R/blocky/cmd.Execute+0xe github.com/0xERR0R/blocky/cmd/root.go:112 # 0xf118f2 main.main+0x12 github.com/0xERR0R/blocky/main.go:10 # 0x44672a runtime.main+0x28a runtime/proc.go:283 1 @ 0x47b9ee 0x43f177 0x47ac05 0x4c02e7 0x4c15da 0x4c15c8 0x5b2dc5 0x5c2d85 0x6fd2f7 0x4835e1 # 0x47ac04 internal/poll.runtime_pollWait+0x84 runtime/netpoll.go:351 # 0x4c02e6 internal/poll.(*pollDesc).wait+0x26 internal/poll/fd_poll_runtime.go:84 # 0x4c15d9 internal/poll.(*pollDesc).waitRead+0x279 internal/poll/fd_poll_runtime.go:89 # 0x4c15c7 internal/poll.(*FD).Read+0x267 internal/poll/fd_unix.go:165 # 0x5b2dc4 net.(*netFD).Read+0x24 net/fd_posix.go:55 # 0x5c2d84 net.(*conn).Read+0x44 net/net.go:194 # 0x6fd2f6 net/http.(*connReader).backgroundRead+0x36 net/http/server.go:690 1 @ 0x47b9ee 0x43f177 0x47ac05 0x4c02e7 0x4c15da 0x4c15c8 0x5b2dc5 0x5c2d85 0x6fd799 0x67b723 0x67b853 0x703585 0x4835e1 # 0x47ac04 internal/poll.runtime_pollWait+0x84 runtime/netpoll.go:351 # 0x4c02e6 internal/poll.(*pollDesc).wait+0x26 internal/poll/fd_poll_runtime.go:84 # 0x4c15d9 internal/poll.(*pollDesc).waitRead+0x279 internal/poll/fd_poll_runtime.go:89 # 0x4c15c7 internal/poll.(*FD).Read+0x267 internal/poll/fd_unix.go:165 # 0x5b2dc4 net.(*netFD).Read+0x24 net/fd_posix.go:55 # 0x5c2d84 net.(*conn).Read+0x44 net/net.go:194 # 0x6fd798 net/http.(*connReader).Read+0x158 net/http/server.go:798 # 0x67b722 bufio.(*Reader).fill+0x102 bufio/bufio.go:113 # 0x67b852 bufio.(*Reader).Peek+0x52 bufio/bufio.go:152 # 0x703584 net/http.(*conn).serve+0x784 net/http/server.go:2137 1 @ 0x47b9ee 0x43f177 0x47ac05 0x4c02e7 0x4c3190 0x4c317a 0x5b3491 0x5cec90 0x5cd4be 0x5cd3c5 0x81e7a5 0x80cabd 0x809bd3 0x80b745 0x80a279 0xf090a9 0x4835e1 # 0x47ac04 internal/poll.runtime_pollWait+0x84 runtime/netpoll.go:351 # 0x4c02e6 internal/poll.(*pollDesc).wait+0x26 internal/poll/fd_poll_runtime.go:84 # 0x4c318f internal/poll.(*pollDesc).waitRead+0x32f internal/poll/fd_poll_runtime.go:89 # 0x4c3179 internal/poll.(*FD).ReadMsgInet6+0x319 internal/poll/fd_unix.go:356 # 0x5b3490 net.(*netFD).readMsgInet6+0x30 net/fd_posix.go:90 # 0x5cec8f net.(*UDPConn).readMsg+0x8f net/udpsock_posix.go:106 # 0x5cd4bd net.(*UDPConn).ReadMsgUDPAddrPort+0x3d net/udpsock.go:203 # 0x5cd3c4 net.(*UDPConn).ReadMsgUDP+0x24 net/udpsock.go:191 # 0x81e7a4 github.com/miekg/dns.ReadFromSessionUDP+0x84 github.com/miekg/dns@v1.1.66/udp.go:43 # 0x80cabc github.com/miekg/dns.(*Server).readUDP+0xfc github.com/miekg/dns@v1.1.66/server.go:717 # 0x809bd2 github.com/miekg/dns.defaultReader.ReadUDP+0x12 github.com/miekg/dns@v1.1.66/server.go:174 # 0x80b744 github.com/miekg/dns.(*Server).serveUDP+0x244 github.com/miekg/dns@v1.1.66/server.go:531 # 0x80a278 github.com/miekg/dns.(*Server).ListenAndServe+0x558 github.com/miekg/dns@v1.1.66/server.go:360 # 0xf090a8 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 github.com/0xERR0R/blocky/server/server.go:398 1 @ 0x47b9ee 0x43f177 0x47ac05 0x4c02e7 0x4c56b5 0x4c56a3 0x5b4d69 0x5cbe5b 0x5cb050 0x70890c 0xf04fdb 0xf08f70 0x4835e1 # 0x47ac04 internal/poll.runtime_pollWait+0x84 runtime/netpoll.go:351 # 0x4c02e6 internal/poll.(*pollDesc).wait+0x26 internal/poll/fd_poll_runtime.go:84 # 0x4c56b4 internal/poll.(*pollDesc).waitRead+0x294 internal/poll/fd_poll_runtime.go:89 # 0x4c56a2 internal/poll.(*FD).Accept+0x282 internal/poll/fd_unix.go:620 # 0x5b4d68 net.(*netFD).accept+0x28 net/fd_unix.go:172 # 0x5cbe5a net.(*TCPListener).accept+0x1a net/tcpsock_posix.go:159 # 0x5cb04f net.(*TCPListener).Accept+0x2f net/tcpsock.go:380 # 0x70890b net/http.(*Server).Serve+0x30b net/http/server.go:3424 # 0xf04fda github.com/0xERR0R/blocky/server.(*httpServer).Serve+0x9a github.com/0xERR0R/blocky/server/http.go:50 # 0xf08f6f github.com/0xERR0R/blocky/server.(*Server).Start.func2+0x12f github.com/0xERR0R/blocky/server/server.go:410 1 @ 0x47b9ee 0x43f177 0x47ac05 0x4c02e7 0x4c56b5 0x4c56a3 0x5b4d69 0x5cbe5b 0x5cb050 0x80b107 0x80a0fe 0xf090a9 0x4835e1 # 0x47ac04 internal/poll.runtime_pollWait+0x84 runtime/netpoll.go:351 # 0x4c02e6 internal/poll.(*pollDesc).wait+0x26 internal/poll/fd_poll_runtime.go:84 # 0x4c56b4 internal/poll.(*pollDesc).waitRead+0x294 internal/poll/fd_poll_runtime.go:89 # 0x4c56a2 internal/poll.(*FD).Accept+0x282 internal/poll/fd_unix.go:620 # 0x5b4d68 net.(*netFD).accept+0x28 net/fd_unix.go:172 # 0x5cbe5a net.(*TCPListener).accept+0x1a net/tcpsock_posix.go:159 # 0x5cb04f net.(*TCPListener).Accept+0x2f net/tcpsock.go:380 # 0x80b106 github.com/miekg/dns.(*Server).serveTCP+0x106 github.com/miekg/dns@v1.1.66/server.go:475 # 0x80a0fd github.com/miekg/dns.(*Server).ListenAndServe+0x3dd github.com/miekg/dns@v1.1.66/server.go:332 # 0xf090a8 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 github.com/0xERR0R/blocky/server/server.go:398 1 @ 0x47b9ee 0x458fd7 0xeb774a 0x4835e1 # 0xeb7749 github.com/0xERR0R/blocky/resolver.(*QueryLoggingResolver).writeLog+0xe9 github.com/0xERR0R/blocky/resolver/query_logging_resolver.go:223 1 @ 0x47b9ee 0x458fd7 0xec32ef 0x4835e1 # 0xec32ee github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xee github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 1 @ 0x47b9ee 0x458fd7 0xec7d8f 0x4835e1 # 0xec7d8e github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xee github.com/0xERR0R/blocky/cache/expirationcache/expiration_cache.go:104 1 @ 0x47b9ee 0x458fd7 0xf0ab2e 0x4835e1 # 0xf0ab2d github.com/0xERR0R/blocky/server.registerPrintConfigurationTrigger.func1+0x8d github.com/0xERR0R/blocky/server/server_config_trigger.go:19 1 @ 0x47b9ee 0x458fd7 0xf0fa56 0x4835e1 # 0xf0fa55 github.com/0xERR0R/blocky/cmd.startServer.func1+0x95 github.com/0xERR0R/blocky/cmd/serve.go:65