goroutine profile: total 30 3 @ 0x440bae 0x452945 0x8bea32 0x4781a1 # 0x8bea31 github.com/0xERR0R/blocky/config.(*SourceLoading).periodically+0x111 /go/src/config/config.go:382 2 @ 0x440bae 0x40a71f 0x40a332 0xe58f8c 0x4781a1 # 0xe58f8b github.com/0xERR0R/blocky/server.(*httpServer).Serve.func1+0x2b /go/src/server/http.go:45 1 @ 0x410569 0x474ae9 0x8cd833 0x4781a1 # 0x474ae8 os/signal.signal_recv+0x28 /usr/local/go/src/runtime/sigqueue.go:152 # 0x8cd832 os/signal.loop+0x12 /usr/local/go/src/os/signal/signal_unix.go:23 1 @ 0x435f11 0x47279d 0xe45071 0xe44ea5 0xe41ccb 0xe51a8f 0x836ec6 0x6fcda9 0xe54b0d 0x6fcda9 0x83494f 0x8362db 0x6fcda9 0x836ec6 0x6fcda9 0x83494f 0x8362db 0x6fcda9 0x836ec6 0x6fcda9 0xe6085e 0x6fcda9 0xe59598 0x6fcda9 0x83490e 0x7004ae 0x6fb788 0x4781a1 # 0x47279c runtime/pprof.runtime_goroutineProfileWithLabels+0x1c /usr/local/go/src/runtime/mprof.go:1079 # 0xe45070 runtime/pprof.writeRuntimeProfile+0xb0 /usr/local/go/src/runtime/pprof/pprof.go:774 # 0xe44ea4 runtime/pprof.writeGoroutine+0x44 /usr/local/go/src/runtime/pprof/pprof.go:734 # 0xe41cca runtime/pprof.(*Profile).WriteTo+0x14a /usr/local/go/src/runtime/pprof/pprof.go:369 # 0xe51a8e net/http/pprof.handler.ServeHTTP+0x52e /usr/local/go/src/net/http/pprof/pprof.go:267 # 0x836ec5 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e5 /go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:480 # 0x6fcda8 net/http.HandlerFunc.ServeHTTP+0x28 /usr/local/go/src/net/http/server.go:2166 # 0xe54b0c github.com/go-chi/chi/v5/middleware.NoCache.func1+0x28c /go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/middleware/nocache.go:55 # 0x6fcda8 net/http.HandlerFunc.ServeHTTP+0x28 /usr/local/go/src/net/http/server.go:2166 # 0x83494e github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x32e /go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:73 # 0x8362da github.com/go-chi/chi/v5.(*Mux).Mount.func1+0x1ba /go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:327 # 0x6fcda8 net/http.HandlerFunc.ServeHTTP+0x28 /usr/local/go/src/net/http/server.go:2166 # 0x836ec5 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e5 /go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:480 # 0x6fcda8 net/http.HandlerFunc.ServeHTTP+0x28 /usr/local/go/src/net/http/server.go:2166 # 0x83494e github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x32e /go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:73 # 0x8362da github.com/go-chi/chi/v5.(*Mux).Mount.func1+0x1ba /go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:327 # 0x6fcda8 net/http.HandlerFunc.ServeHTTP+0x28 /usr/local/go/src/net/http/server.go:2166 # 0x836ec5 github.com/go-chi/chi/v5.(*Mux).routeHTTP+0x2e5 /go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:480 # 0x6fcda8 net/http.HandlerFunc.ServeHTTP+0x28 /usr/local/go/src/net/http/server.go:2166 # 0xe6085d github.com/go-chi/cors.(*Cors).Handler-fm.(*Cors).Handler.func1+0x17d /go/pkg/mod/github.com/go-chi/cors@v1.2.1/cors.go:228 # 0x6fcda8 net/http.HandlerFunc.ServeHTTP+0x28 /usr/local/go/src/net/http/server.go:2166 # 0xe59597 github.com/0xERR0R/blocky/server.secureHeadersMiddleware.func1+0x337 /go/src/server/http.go:79 # 0x6fcda8 net/http.HandlerFunc.ServeHTTP+0x28 /usr/local/go/src/net/http/server.go:2166 # 0x83490d github.com/go-chi/chi/v5.(*Mux).ServeHTTP+0x2ed /go/pkg/mod/github.com/go-chi/chi/v5@v5.2.0/mux.go:90 # 0x7004ad net/http.serverHandler.ServeHTTP+0x8d /usr/local/go/src/net/http/server.go:3137 # 0x6fb787 net/http.(*conn).serve+0x5e7 /usr/local/go/src/net/http/server.go:2039 1 @ 0x440bae 0x40a71f 0x40a332 0xe639cb 0xe64466 0x889aca 0x88a39f 0xe634d8 0xe634cf 0xe657f3 0x44075d 0x4781a1 # 0xe639ca github.com/0xERR0R/blocky/cmd.startServer+0x38a /go/src/cmd/serve.go:79 # 0xe64465 github.com/0xERR0R/blocky/cmd.NewRootCommand.func1+0xc5 /go/src/cmd/root.go:42 # 0x889ac9 github.com/spf13/cobra.(*Command).execute+0xac9 /go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:985 # 0x88a39e github.com/spf13/cobra.(*Command).ExecuteC+0x3fe /go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:1117 # 0xe634d7 github.com/spf13/cobra.(*Command).Execute+0x17 /go/pkg/mod/github.com/spf13/cobra@v1.8.1/command.go:1041 # 0xe634ce github.com/0xERR0R/blocky/cmd.Execute+0xe /go/src/cmd/root.go:112 # 0xe657f2 main.main+0x12 /go/src/main.go:10 # 0x44075c runtime.main+0x29c /usr/local/go/src/runtime/proc.go:271 1 @ 0x440bae 0x40a71f 0x40a332 0xe64f52 0x4781a1 # 0xe64f51 github.com/ramr/go-reaper.sigChildHandler+0x71 /go/pkg/mod/github.com/ramr/go-reaper@v0.2.3/reaper.go:70 1 @ 0x440bae 0x40a71f 0x40a332 0xe6507d 0x4781a1 # 0xe6507c github.com/ramr/go-reaper.reapChildren+0xdc /go/pkg/mod/github.com/ramr/go-reaper@v0.2.3/reaper.go:96 1 @ 0x440bae 0x439997 0x472bc5 0x4b2b67 0x4b3e5a 0x4b3e48 0x5c9705 0x5d9f65 0x675043 0x675b49 0xa5688a 0xa567f3 0xa56a87 0xa97647 0xa97633 0xa5a504 0xa97555 0xa980d1 0xa980b6 0x4781a1 # 0x472bc4 internal/poll.runtime_pollWait+0x84 /usr/local/go/src/runtime/netpoll.go:345 # 0x4b2b66 internal/poll.(*pollDesc).wait+0x26 /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 # 0x4b3e59 internal/poll.(*pollDesc).waitRead+0x279 /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 # 0x4b3e47 internal/poll.(*FD).Read+0x267 /usr/local/go/src/internal/poll/fd_unix.go:164 # 0x5c9704 net.(*netFD).Read+0x24 /usr/local/go/src/net/fd_posix.go:55 # 0x5d9f64 net.(*conn).Read+0x44 /usr/local/go/src/net/net.go:179 # 0x675042 bufio.(*Reader).fill+0x102 /usr/local/go/src/bufio/bufio.go:110 # 0x675b48 bufio.(*Reader).ReadSlice+0x28 /usr/local/go/src/bufio/bufio.go:376 # 0xa56889 github.com/go-redis/redis/v8/internal/proto.(*Reader).readLine+0x29 /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/internal/proto/reader.go:73 # 0xa567f2 github.com/go-redis/redis/v8/internal/proto.(*Reader).ReadLine+0x12 /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/internal/proto/reader.go:59 # 0xa56a86 github.com/go-redis/redis/v8/internal/proto.(*Reader).ReadReply+0x26 /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/internal/proto/reader.go:97 # 0xa97646 github.com/go-redis/redis/v8.(*Cmd).readReply+0x26 /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/command.go:467 # 0xa97632 github.com/go-redis/redis/v8.(*PubSub).ReceiveTimeout.func1+0x12 /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/pubsub.go:375 # 0xa5a503 github.com/go-redis/redis/v8/internal/pool.(*Conn).WithReader+0x63 /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/internal/pool/conn.go:70 # 0xa97554 github.com/go-redis/redis/v8.(*PubSub).ReceiveTimeout+0xf4 /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/pubsub.go:374 # 0xa980d0 github.com/go-redis/redis/v8.(*PubSub).Receive+0x90 /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/pubsub.go:391 # 0xa980b5 github.com/go-redis/redis/v8.(*channel).initMsgChan.func1+0x75 /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/pubsub.go:571 1 @ 0x440bae 0x439997 0x472bc5 0x4b2b67 0x4b3e5a 0x4b3e48 0x5c9705 0x5d9f65 0x6f56f7 0x4781a1 # 0x472bc4 internal/poll.runtime_pollWait+0x84 /usr/local/go/src/runtime/netpoll.go:345 # 0x4b2b66 internal/poll.(*pollDesc).wait+0x26 /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 # 0x4b3e59 internal/poll.(*pollDesc).waitRead+0x279 /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 # 0x4b3e47 internal/poll.(*FD).Read+0x267 /usr/local/go/src/internal/poll/fd_unix.go:164 # 0x5c9704 net.(*netFD).Read+0x24 /usr/local/go/src/net/fd_posix.go:55 # 0x5d9f64 net.(*conn).Read+0x44 /usr/local/go/src/net/net.go:179 # 0x6f56f6 net/http.(*connReader).backgroundRead+0x36 /usr/local/go/src/net/http/server.go:681 1 @ 0x440bae 0x439997 0x472bc5 0x4b2b67 0x4b5a59 0x4b5a43 0x5c9dd1 0x5e550d 0x5e3d3e 0x5e3c45 0x80c4a7 0x7fa525 0x7f7533 0x7f91ae 0x7f7c30 0xe5d089 0x4781a1 # 0x472bc4 internal/poll.runtime_pollWait+0x84 /usr/local/go/src/runtime/netpoll.go:345 # 0x4b2b66 internal/poll.(*pollDesc).wait+0x26 /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 # 0x4b5a58 internal/poll.(*pollDesc).waitRead+0x338 /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 # 0x4b5a42 internal/poll.(*FD).ReadMsgInet6+0x322 /usr/local/go/src/internal/poll/fd_unix.go:355 # 0x5c9dd0 net.(*netFD).readMsgInet6+0x30 /usr/local/go/src/net/fd_posix.go:90 # 0x5e550c net.(*UDPConn).readMsg+0x8c /usr/local/go/src/net/udpsock_posix.go:106 # 0x5e3d3d net.(*UDPConn).ReadMsgUDPAddrPort+0x3d /usr/local/go/src/net/udpsock.go:203 # 0x5e3c44 net.(*UDPConn).ReadMsgUDP+0x24 /usr/local/go/src/net/udpsock.go:191 # 0x80c4a6 github.com/miekg/dns.ReadFromSessionUDP+0x86 /go/pkg/mod/github.com/miekg/dns@v1.1.62/udp.go:43 # 0x7fa524 github.com/miekg/dns.(*Server).readUDP+0x104 /go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:716 # 0x7f7532 github.com/miekg/dns.defaultReader.ReadUDP+0x12 /go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:174 # 0x7f91ad github.com/miekg/dns.(*Server).serveUDP+0x26d /go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:530 # 0x7f7c2f github.com/miekg/dns.(*Server).ListenAndServe+0x5af /go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:359 # 0xe5d088 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 /go/src/server/server.go:396 1 @ 0x440bae 0x439997 0x472bc5 0x4b2b67 0x4b7f0c 0x4b7efa 0x5cb6e9 0x5e2d9e 0x5e1f90 0x66efc7 0x7008de 0xe58f1b 0xe5cf50 0x4781a1 # 0x472bc4 internal/poll.runtime_pollWait+0x84 /usr/local/go/src/runtime/netpoll.go:345 # 0x4b2b66 internal/poll.(*pollDesc).wait+0x26 /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 # 0x4b7f0b internal/poll.(*pollDesc).waitRead+0x2ab /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 # 0x4b7ef9 internal/poll.(*FD).Accept+0x299 /usr/local/go/src/internal/poll/fd_unix.go:611 # 0x5cb6e8 net.(*netFD).accept+0x28 /usr/local/go/src/net/fd_unix.go:172 # 0x5e2d9d net.(*TCPListener).accept+0x1d /usr/local/go/src/net/tcpsock_posix.go:159 # 0x5e1f8f net.(*TCPListener).Accept+0x2f /usr/local/go/src/net/tcpsock.go:327 # 0x66efc6 crypto/tls.(*listener).Accept+0x26 /usr/local/go/src/crypto/tls/tls.go:66 # 0x7008dd net/http.(*Server).Serve+0x33d /usr/local/go/src/net/http/server.go:3255 # 0xe58f1a github.com/0xERR0R/blocky/server.(*httpServer).Serve+0x9a /go/src/server/http.go:50 # 0xe5cf4f github.com/0xERR0R/blocky/server.(*Server).Start.func2+0x12f /go/src/server/server.go:408 1 @ 0x440bae 0x439997 0x472bc5 0x4b2b67 0x4b7f0c 0x4b7efa 0x5cb6e9 0x5e2d9e 0x5e1f90 0x66efc7 0x7f8b2c 0x7f7f07 0xe5d089 0x4781a1 # 0x472bc4 internal/poll.runtime_pollWait+0x84 /usr/local/go/src/runtime/netpoll.go:345 # 0x4b2b66 internal/poll.(*pollDesc).wait+0x26 /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 # 0x4b7f0b internal/poll.(*pollDesc).waitRead+0x2ab /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 # 0x4b7ef9 internal/poll.(*FD).Accept+0x299 /usr/local/go/src/internal/poll/fd_unix.go:611 # 0x5cb6e8 net.(*netFD).accept+0x28 /usr/local/go/src/net/fd_unix.go:172 # 0x5e2d9d net.(*TCPListener).accept+0x1d /usr/local/go/src/net/tcpsock_posix.go:159 # 0x5e1f8f net.(*TCPListener).Accept+0x2f /usr/local/go/src/net/tcpsock.go:327 # 0x66efc6 crypto/tls.(*listener).Accept+0x26 /usr/local/go/src/crypto/tls/tls.go:66 # 0x7f8b2b github.com/miekg/dns.(*Server).serveTCP+0x12b /go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:474 # 0x7f7f06 github.com/miekg/dns.(*Server).ListenAndServe+0x886 /go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:345 # 0xe5d088 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 /go/src/server/server.go:396 1 @ 0x440bae 0x439997 0x472bc5 0x4b2b67 0x4b7f0c 0x4b7efa 0x5cb6e9 0x5e2d9e 0x5e1f90 0x7008de 0xe58f1b 0xe5cf50 0x4781a1 # 0x472bc4 internal/poll.runtime_pollWait+0x84 /usr/local/go/src/runtime/netpoll.go:345 # 0x4b2b66 internal/poll.(*pollDesc).wait+0x26 /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 # 0x4b7f0b internal/poll.(*pollDesc).waitRead+0x2ab /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 # 0x4b7ef9 internal/poll.(*FD).Accept+0x299 /usr/local/go/src/internal/poll/fd_unix.go:611 # 0x5cb6e8 net.(*netFD).accept+0x28 /usr/local/go/src/net/fd_unix.go:172 # 0x5e2d9d net.(*TCPListener).accept+0x1d /usr/local/go/src/net/tcpsock_posix.go:159 # 0x5e1f8f net.(*TCPListener).Accept+0x2f /usr/local/go/src/net/tcpsock.go:327 # 0x7008dd net/http.(*Server).Serve+0x33d /usr/local/go/src/net/http/server.go:3255 # 0xe58f1a github.com/0xERR0R/blocky/server.(*httpServer).Serve+0x9a /go/src/server/http.go:50 # 0xe5cf4f github.com/0xERR0R/blocky/server.(*Server).Start.func2+0x12f /go/src/server/server.go:408 1 @ 0x440bae 0x439997 0x472bc5 0x4b2b67 0x4b7f0c 0x4b7efa 0x5cb6e9 0x5e2d9e 0x5e1f90 0x7f8b2c 0x7f7a93 0xe5d089 0x4781a1 # 0x472bc4 internal/poll.runtime_pollWait+0x84 /usr/local/go/src/runtime/netpoll.go:345 # 0x4b2b66 internal/poll.(*pollDesc).wait+0x26 /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 # 0x4b7f0b internal/poll.(*pollDesc).waitRead+0x2ab /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 # 0x4b7ef9 internal/poll.(*FD).Accept+0x299 /usr/local/go/src/internal/poll/fd_unix.go:611 # 0x5cb6e8 net.(*netFD).accept+0x28 /usr/local/go/src/net/fd_unix.go:172 # 0x5e2d9d net.(*TCPListener).accept+0x1d /usr/local/go/src/net/tcpsock_posix.go:159 # 0x5e1f8f net.(*TCPListener).Accept+0x2f /usr/local/go/src/net/tcpsock.go:327 # 0x7f8b2b github.com/miekg/dns.(*Server).serveTCP+0x12b /go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:474 # 0x7f7a92 github.com/miekg/dns.(*Server).ListenAndServe+0x412 /go/pkg/mod/github.com/miekg/dns@v1.1.62/server.go:331 # 0xe5d088 github.com/0xERR0R/blocky/server.(*Server).Start.func1+0x28 /go/src/server/server.go:396 1 @ 0x440bae 0x452945 0xa5c905 0x4781a1 # 0xa5c904 github.com/go-redis/redis/v8/internal/pool.(*ConnPool).reaper+0xc4 /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/internal/pool/pool.go:485 1 @ 0x440bae 0x452945 0xa97e3d 0x4781a1 # 0xa97e3c github.com/go-redis/redis/v8.(*channel).initHealthCheck.func1+0xdc /go/pkg/mod/github.com/go-redis/redis/v8@v8.11.5/pubsub.go:542 1 @ 0x440bae 0x452945 0xb4b3c7 0x4781a1 # 0xb4b3c6 github.com/0xERR0R/blocky/redis.(*Client).startup.func1+0x106 /go/src/redis/redis.go:189 1 @ 0x440bae 0x452945 0xdfb345 0x4781a1 # 0xdfb344 github.com/0xERR0R/blocky/resolver.(*BlockingResolver).redisSubscriber+0xe4 /go/src/resolver/blocking_resolver.go:179 1 @ 0x440bae 0x452945 0xe02d45 0x4781a1 # 0xe02d44 github.com/0xERR0R/blocky/resolver.(*CachingResolver).redisSubscriber+0xe4 /go/src/resolver/caching_resolver.go:157 1 @ 0x440bae 0x452945 0xe10d6a 0x4781a1 # 0xe10d69 github.com/0xERR0R/blocky/resolver.(*QueryLoggingResolver).writeLog+0xe9 /go/src/resolver/query_logging_resolver.go:223 1 @ 0x440bae 0x452945 0xe1d018 0x4781a1 # 0xe1d017 github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xf7 /go/src/cache/expirationcache/expiration_cache.go:104 1 @ 0x440bae 0x452945 0xe1e238 0x4781a1 # 0xe1e237 github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xf7 /go/src/cache/expirationcache/expiration_cache.go:104 1 @ 0x440bae 0x452945 0xe1f4b8 0x4781a1 # 0xe1f4b7 github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xf7 /go/src/cache/expirationcache/expiration_cache.go:104 1 @ 0x440bae 0x452945 0xe1ffd8 0x4781a1 # 0xe1ffd7 github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xf7 /go/src/cache/expirationcache/expiration_cache.go:104 1 @ 0x440bae 0x452945 0xe21698 0x4781a1 # 0xe21697 github.com/0xERR0R/blocky/cache/expirationcache.periodicCleanup[...]+0xf7 /go/src/cache/expirationcache/expiration_cache.go:104 1 @ 0x440bae 0x452945 0xe5eb0e 0x4781a1 # 0xe5eb0d github.com/0xERR0R/blocky/server.registerPrintConfigurationTrigger.func1+0x8d /go/src/server/server_config_trigger.go:19 1 @ 0x440bae 0x452945 0xe63ad6 0x4781a1 # 0xe63ad5 github.com/0xERR0R/blocky/cmd.startServer.func1+0x95 /go/src/cmd/serve.go:65