goroutine profile: total 22 3 @ 0x440bce 0x452965 0x8bea92 0x4781c1 # 0x8bea91 github.com/0xERR0R/blocky/config.(*SourceLoading).periodically+0x111 /home/runner/work/blocky/blocky/config/config.go:382 2 @ 0x440bce 0x452965 0xe1f618 0x4781c1 # 0xe1f617 github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xf7 /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:104 2 @ 0x440bce 0x452965 0xe20138 0x4781c1 # 0xe20137 github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xf7 /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:104 1 @ 0x410589 0x474b09 0x8cd893 0x4781c1 # 0x474b08 os/signal.signal_recv+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/sigqueue.go:152 # 0x8cd892 os/signal.loop+0x12 /opt/hostedtoolcache/go/1.22.10/x64/src/os/signal/signal_unix.go:23 1 @ 0x435f31 0x4727bd 0xe451d1 0xe45005 0xe41e2b 0xe51bef 0x836f26 0x6fcde9 0xe54c6d 0x6fcde9 0x8349af 0x83633b 0x6fcde9 0x836f26 0x6fcde9 0x8349af 0x83633b 0x6fcde9 0x836f26 0x6fcde9 0xe609be 0x6fcde9 0xe596f8 0x6fcde9 0x83496e 0x7004ee 0x6fb7c8 0x4781c1 # 0x4727bc runtime/pprof.runtime_goroutineProfileWithLabels+0x1c /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/mprof.go:1079 # 0xe451d0 runtime/pprof.writeRuntimeProfile+0xb0 /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/pprof/pprof.go:774 # 0xe45004 runtime/pprof.writeGoroutine+0x44 /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/pprof/pprof.go:734 # 0xe41e2a runtime/pprof.(*Profile).WriteTo+0x14a /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/pprof/pprof.go:369 # 0xe51bee net/http/pprof.handler.ServeHTTP+0x52e /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/pprof/pprof.go:267 # 0x836f25 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e5 /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:480 # 0x6fcde8 net/http.HandlerFunc.ServeHTTP+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 # 0xe54c6c github.com/go-chi/chi/v5/middleware.NoCache.func1+0x28c /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/middleware/nocache.go:55 # 0x6fcde8 net/http.HandlerFunc.ServeHTTP+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 # 0x8349ae github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x32e /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:73 # 0x83633a github.com/go-chi/chi/v5.(*Mux).Mount.func1+0x1ba /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:327 # 0x6fcde8 net/http.HandlerFunc.ServeHTTP+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 # 0x836f25 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e5 /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:480 # 0x6fcde8 net/http.HandlerFunc.ServeHTTP+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 # 0x8349ae github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x32e /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:73 # 0x83633a github.com/go-chi/chi/v5.(*Mux).Mount.func1+0x1ba /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:327 # 0x6fcde8 net/http.HandlerFunc.ServeHTTP+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 # 0x836f25 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e5 /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:480 # 0x6fcde8 net/http.HandlerFunc.ServeHTTP+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 # 0xe609bd github.com/go-chi/cors.(*Cors).Handler-fm.(*Cors).Handler.func1+0x17d /home/runner/go/pkg/mod/github.com/go-chi/cors@v1.2.1/cors.go:228 # 0x6fcde8 net/http.HandlerFunc.ServeHTTP+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 # 0xe596f7 github.com/0xERR0R/blocky/server.secureHeadersMiddleware.func1+0x337 /home/runner/work/blocky/blocky/server/http.go:79 # 0x6fcde8 net/http.HandlerFunc.ServeHTTP+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2171 # 0x83496d github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x2ed /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:90 # 0x7004ed net/http.serverHandler.ServeHTTP+0x8d /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:3142 # 0x6fb7c7 net/http.(*conn).serve+0x5e7 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2044 1 @ 0x440bce 0x40a73f 0x40a352 0xe590ec 0x4781c1 # 0xe590eb github.com/0xERR0R/blocky/server.(*httpServer).Serve.func1+0x2b /home/runner/work/blocky/blocky/server/http.go:45 1 @ 0x440bce 0x40a73f 0x40a352 0xe63b2b 0xe645c6 0x889b2a 0x88a3ff 0xe63638 0xe6362f 0xe65953 0x44077d 0x4781c1 # 0xe63b2a github.com/0xERR0R/blocky/cmd.startServer+0x38a /home/runner/work/blocky/blocky/cmd/serve.go:79 # 0xe645c5 github.com/0xERR0R/blocky/cmd.NewRootCommand.func1+0xc5 /home/runner/work/blocky/blocky/cmd/root.go:42 # 0x889b29 github.com/spf13/cobra.(*Command).execute+0xac9 /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:985 # 0x88a3fe github.com/spf13/cobra.(*Command).ExecuteC+0x3fe /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:1117 # 0xe63637 github.com/spf13/cobra.(*Command).Execute+0x17 /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:1041 # 0xe6362e github.com/0xERR0R/blocky/cmd.Execute+0xe /home/runner/work/blocky/blocky/cmd/root.go:112 # 0xe65952 main.main+0x12 /home/runner/work/blocky/blocky/main.go:10 # 0x44077c runtime.main+0x29c /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/proc.go:271 1 @ 0x440bce 0x4399b7 0x472be5 0x4b2b87 0x4b3e7a 0x4b3e68 0x5c9745 0x5d9fa5 0x634a3b 0x50b438 0x634c1e 0x631d2f 0x6385d6 0x6385d7 0x6f5bcb 0x675083 0x6751b3 0x6fb929 0x4781c1 # 0x472be4 internal/poll.runtime_pollWait+0x84 /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/netpoll.go:345 # 0x4b2b86 internal/poll.(*pollDesc).wait+0x26 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:84 # 0x4b3e79 internal/poll.(*pollDesc).waitRead+0x279 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:89 # 0x4b3e67 internal/poll.(*FD).Read+0x267 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_unix.go:164 # 0x5c9744 net.(*netFD).Read+0x24 /opt/hostedtoolcache/go/1.22.10/x64/src/net/fd_posix.go:55 # 0x5d9fa4 net.(*conn).Read+0x44 /opt/hostedtoolcache/go/1.22.10/x64/src/net/net.go:185 # 0x634a3a crypto/tls.(*atLeastReader).Read+0x3a /opt/hostedtoolcache/go/1.22.10/x64/src/crypto/tls/conn.go:806 # 0x50b437 bytes.(*Buffer).ReadFrom+0x97 /opt/hostedtoolcache/go/1.22.10/x64/src/bytes/buffer.go:211 # 0x634c1d crypto/tls.(*Conn).readFromUntil+0xdd /opt/hostedtoolcache/go/1.22.10/x64/src/crypto/tls/conn.go:828 # 0x631d2e crypto/tls.(*Conn).readRecordOrCCS+0x3ce /opt/hostedtoolcache/go/1.22.10/x64/src/crypto/tls/conn.go:626 # 0x6385d5 crypto/tls.(*Conn).readRecord+0x155 /opt/hostedtoolcache/go/1.22.10/x64/src/crypto/tls/conn.go:588 # 0x6385d6 crypto/tls.(*Conn).Read+0x156 /opt/hostedtoolcache/go/1.22.10/x64/src/crypto/tls/conn.go:1370 # 0x6f5bca net/http.(*connReader).Read+0x14a /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:789 # 0x675082 bufio.(*Reader).fill+0x102 /opt/hostedtoolcache/go/1.22.10/x64/src/bufio/bufio.go:110 # 0x6751b2 bufio.(*Reader).Peek+0x52 /opt/hostedtoolcache/go/1.22.10/x64/src/bufio/bufio.go:148 # 0x6fb928 net/http.(*conn).serve+0x748 /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:2079 1 @ 0x440bce 0x4399b7 0x472be5 0x4b2b87 0x4b5a79 0x4b5a63 0x5c9e11 0x5e554d 0x5e3d7e 0x5e3c85 0x80c507 0x7fa585 0x7f7593 0x7f920e 0x7f7c90 0xe5d1e9 0x4781c1 # 0x472be4 internal/poll.runtime_pollWait+0x84 /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/netpoll.go:345 # 0x4b2b86 internal/poll.(*pollDesc).wait+0x26 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:84 # 0x4b5a78 internal/poll.(*pollDesc).waitRead+0x338 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:89 # 0x4b5a62 internal/poll.(*FD).ReadMsgInet6+0x322 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_unix.go:355 # 0x5c9e10 net.(*netFD).readMsgInet6+0x30 /opt/hostedtoolcache/go/1.22.10/x64/src/net/fd_posix.go:90 # 0x5e554c net.(*UDPConn).readMsg+0x8c /opt/hostedtoolcache/go/1.22.10/x64/src/net/udpsock_posix.go:106 # 0x5e3d7d net.(*UDPConn).ReadMsgUDPAddrPort+0x3d /opt/hostedtoolcache/go/1.22.10/x64/src/net/udpsock.go:203 # 0x5e3c84 net.(*UDPConn).ReadMsgUDP+0x24 /opt/hostedtoolcache/go/1.22.10/x64/src/net/udpsock.go:191 # 0x80c506 github.com/miekg/dns.ReadFromSessionUDP+0x86 /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/udp.go:43 # 0x7fa584 github.com/miekg/dns.(*Server).readUDP+0x104 /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:716 # 0x7f7592 github.com/miekg/dns.defaultReader.ReadUDP+0x12 /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:174 # 0x7f920d github.com/miekg/dns.(*Server).serveUDP+0x26d /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:530 # 0x7f7c8f github.com/miekg/dns.(*Server).ListenAndServe+0x5af /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:359 # 0xe5d1e8 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 /home/runner/work/blocky/blocky/server/server.go:396 1 @ 0x440bce 0x4399b7 0x472be5 0x4b2b87 0x4b7f2c 0x4b7f1a 0x5cb729 0x5e2dde 0x5e1fd0 0x66f007 0x70091e 0xe5907b 0xe5d0b0 0x4781c1 # 0x472be4 internal/poll.runtime_pollWait+0x84 /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/netpoll.go:345 # 0x4b2b86 internal/poll.(*pollDesc).wait+0x26 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:84 # 0x4b7f2b internal/poll.(*pollDesc).waitRead+0x2ab /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:89 # 0x4b7f19 internal/poll.(*FD).Accept+0x299 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_unix.go:611 # 0x5cb728 net.(*netFD).accept+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/fd_unix.go:172 # 0x5e2ddd net.(*TCPListener).accept+0x1d /opt/hostedtoolcache/go/1.22.10/x64/src/net/tcpsock_posix.go:159 # 0x5e1fcf net.(*TCPListener).Accept+0x2f /opt/hostedtoolcache/go/1.22.10/x64/src/net/tcpsock.go:327 # 0x66f006 crypto/tls.(*listener).Accept+0x26 /opt/hostedtoolcache/go/1.22.10/x64/src/crypto/tls/tls.go:66 # 0x70091d net/http.(*Server).Serve+0x33d /opt/hostedtoolcache/go/1.22.10/x64/src/net/http/server.go:3260 # 0xe5907a github.com/0xERR0R/blocky/server.(*httpServer).Serve+0x9a /home/runner/work/blocky/blocky/server/http.go:50 # 0xe5d0af github.com/0xERR0R/blocky/server.(*Server).Start.func2+0x12f /home/runner/work/blocky/blocky/server/server.go:408 1 @ 0x440bce 0x4399b7 0x472be5 0x4b2b87 0x4b7f2c 0x4b7f1a 0x5cb729 0x5e2dde 0x5e1fd0 0x66f007 0x7f8b8c 0x7f7f67 0xe5d1e9 0x4781c1 # 0x472be4 internal/poll.runtime_pollWait+0x84 /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/netpoll.go:345 # 0x4b2b86 internal/poll.(*pollDesc).wait+0x26 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:84 # 0x4b7f2b internal/poll.(*pollDesc).waitRead+0x2ab /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:89 # 0x4b7f19 internal/poll.(*FD).Accept+0x299 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_unix.go:611 # 0x5cb728 net.(*netFD).accept+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/fd_unix.go:172 # 0x5e2ddd net.(*TCPListener).accept+0x1d /opt/hostedtoolcache/go/1.22.10/x64/src/net/tcpsock_posix.go:159 # 0x5e1fcf net.(*TCPListener).Accept+0x2f /opt/hostedtoolcache/go/1.22.10/x64/src/net/tcpsock.go:327 # 0x66f006 crypto/tls.(*listener).Accept+0x26 /opt/hostedtoolcache/go/1.22.10/x64/src/crypto/tls/tls.go:66 # 0x7f8b8b github.com/miekg/dns.(*Server).serveTCP+0x12b /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:474 # 0x7f7f66 github.com/miekg/dns.(*Server).ListenAndServe+0x886 /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:345 # 0xe5d1e8 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 /home/runner/work/blocky/blocky/server/server.go:396 1 @ 0x440bce 0x4399b7 0x472be5 0x4b2b87 0x4b7f2c 0x4b7f1a 0x5cb729 0x5e2dde 0x5e1fd0 0x7f8b8c 0x7f7af3 0xe5d1e9 0x4781c1 # 0x472be4 internal/poll.runtime_pollWait+0x84 /opt/hostedtoolcache/go/1.22.10/x64/src/runtime/netpoll.go:345 # 0x4b2b86 internal/poll.(*pollDesc).wait+0x26 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:84 # 0x4b7f2b internal/poll.(*pollDesc).waitRead+0x2ab /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_poll_runtime.go:89 # 0x4b7f19 internal/poll.(*FD).Accept+0x299 /opt/hostedtoolcache/go/1.22.10/x64/src/internal/poll/fd_unix.go:611 # 0x5cb728 net.(*netFD).accept+0x28 /opt/hostedtoolcache/go/1.22.10/x64/src/net/fd_unix.go:172 # 0x5e2ddd net.(*TCPListener).accept+0x1d /opt/hostedtoolcache/go/1.22.10/x64/src/net/tcpsock_posix.go:159 # 0x5e1fcf net.(*TCPListener).Accept+0x2f /opt/hostedtoolcache/go/1.22.10/x64/src/net/tcpsock.go:327 # 0x7f8b8b github.com/miekg/dns.(*Server).serveTCP+0x12b /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:474 # 0x7f7af2 github.com/miekg/dns.(*Server).ListenAndServe+0x412 /home/runner/go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:331 # 0xe5d1e8 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 /home/runner/work/blocky/blocky/server/server.go:396 1 @ 0x440bce 0x452965 0xe10eca 0x4781c1 # 0xe10ec9 github.com/0xERR0R/blocky/resolver.(*QueryLoggingResolver).writeLog+0xe9 /home/runner/work/blocky/blocky/resolver/query_logging_resolver.go:223 1 @ 0x440bce 0x452965 0xe1d178 0x4781c1 # 0xe1d177 github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xf7 /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:104 1 @ 0x440bce 0x452965 0xe217f8 0x4781c1 # 0xe217f7 github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xf7 /home/runner/work/blocky/blocky/cache/expirationcache/expiration_cache.go:104 1 @ 0x440bce 0x452965 0xe5ec6e 0x4781c1 # 0xe5ec6d github.com/0xERR0R/blocky/server.registerPrintConfigurationTrigger.func1+0x8d /home/runner/work/blocky/blocky/server/server_config_trigger.go:19 1 @ 0x440bce 0x452965 0xe63c36 0x4781c1 # 0xe63c35 github.com/0xERR0R/blocky/cmd.startServer.func1+0x95 /home/runner/work/blocky/blocky/cmd/serve.go:65 1 @ 0x4781c1