AdGuardHome
AdGuardHome copied to clipboard
fatal error: concurrent map iteration and map write
Issue Details
- Version of AdGuard Home server:
- v0.107.3
- How did you install AdGuard Home:
- docker latest
- How did you setup DNS configuration:
- Router
- CPU architecture:
- AMD64
- Operating system and version:
- docker
Expected Behavior
Actual Behavior
Screenshots
Screenshot:
Additional Information
fatal error: concurrent map iteration and map write
goroutine 1177315 [running]:
runtime.throw(0xe3d95b, 0x26)
runtime/panic.go:1117 +0x72 fp=0xc000936d70 sp=0xc000936d40 pc=0x4380b2
runtime.mapiternext(0xc000936e90)
runtime/map.go:858 +0x54c fp=0xc000936df0 sp=0xc000936d70 pc=0x410d2c
github.com/AdguardTeam/AdGuardHome/internal/stats.convertMapToSlice(0xc00146a870, 0x64, 0x30, 0x0, 0x6)
github.com/AdguardTeam/AdGuardHome/internal/stats/unit.go:349 +0x9c fp=0xc000936f00 sp=0xc000936df0 pc=0xaf5b5c
github.com/AdguardTeam/AdGuardHome/internal/stats.serialize(0xc000803a40, 0x0)
github.com/AdguardTeam/AdGuardHome/internal/stats/unit.go:383 +0xfc fp=0xc000936f80 sp=0xc000936f00 pc=0xaf5f1c
github.com/AdguardTeam/AdGuardHome/internal/stats.(*statsCtx).loadUnits(0xc000238180, 0x18, 0xc0002830dc, 0x11, 0xc00050d2c0, 0x11)
github.com/AdguardTeam/AdGuardHome/internal/stats/unit.go:584 +0x22c fp=0xc000937038 sp=0xc000936f80 pc=0xaf75ac
github.com/AdguardTeam/AdGuardHome/internal/stats.(*statsCtx).getData(0xc000238180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
github.com/AdguardTeam/AdGuardHome/internal/stats/unit.go:679 +0x93 fp=0xc0009372f8 sp=0xc000937038 pc=0xaf7d73
github.com/AdguardTeam/AdGuardHome/internal/stats.(*statsCtx).handleStats(0xc000238180, 0x21e8e80, 0xc00042aaf0, 0xc000232900)
github.com/AdguardTeam/AdGuardHome/internal/stats/http.go:61 +0x43c fp=0xc000937680 sp=0xc0009372f8 pc=0xaf38fc
github.com/AdguardTeam/AdGuardHome/internal/stats.(*statsCtx).handleStats-fm(0x21e8e80, 0xc00042aaf0, 0xc000232900)
github.com/AdguardTeam/AdGuardHome/internal/stats/http.go:42 +0x51 fp=0xc0009376b0 sp=0xc000937680 pc=0xaf8fb1
github.com/AdguardTeam/AdGuardHome/internal/home.ensure.func1(0x21e8e80, 0xc00042aaf0, 0xc000232900)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:219 +0x214 fp=0xc000937758 sp=0xc0009376b0 pc=0xc4cbd4
github.com/AdguardTeam/AdGuardHome/internal/home.(*httpHandler).ServeHTTP(0xc00000e6f0, 0x21e8e80, 0xc00042aaf0, 0xc000232900)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:237 +0x47 fp=0xc000937780 sp=0xc000937758 pc=0xc1e2c7
github.com/NYTimes/gziphandler.GzipHandlerWithOpts.func1.1(0x21e8ca0, 0xc0001308c0, 0xc000232900)
github.com/NYTimes/[email protected]/gzip.go:336 +0x22d fp=0xc000937820 sp=0xc000937780 pc=0xb49aed
net/http.HandlerFunc.ServeHTTP(0xc00020d4d0, 0x21e8ca0, 0xc0001308c0, 0xc000232900)
net/http/server.go:2050 +0x44 fp=0xc000937848 sp=0xc000937820 pc=0x6ff784
net/http.Handler.ServeHTTP-fm(0x21e8ca0, 0xc0001308c0, 0xc000232900)
net/http/server.go:87 +0x56 fp=0xc000937878 sp=0xc000937848 pc=0x727cd6
github.com/AdguardTeam/AdGuardHome/internal/home.optionalAuth.func1(0x21e8ca0, 0xc0001308c0, 0xc000232900)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:598 +0xfb fp=0xc000937918 sp=0xc000937878 pc=0xc4b83b
github.com/AdguardTeam/AdGuardHome/internal/home.(*authHandler).ServeHTTP(0xc0001417a0, 0x21e8ca0, 0xc0001308c0, 0xc000232900)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:607 +0xa3 fp=0xc000937950 sp=0xc000937918 pc=0xc11843
net/http.Handler.ServeHTTP-fm(0x21e8ca0, 0xc0001308c0, 0xc000232900)
net/http/server.go:87 +0x56 fp=0xc000937980 sp=0xc000937950 pc=0x727cd6
github.com/AdguardTeam/AdGuardHome/internal/home.postInstall.func1(0x21e8ca0, 0xc0001308c0, 0xc000232900)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:336 +0xbb fp=0xc0009379d8 sp=0xc000937980 pc=0xc4ce9b
github.com/AdguardTeam/AdGuardHome/internal/home.(*postInstallHandlerStruct).ServeHTTP(0xc0001417b0, 0x21e8ca0, 0xc0001308c0, 0xc000232900)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:345 +0xa3 fp=0xc000937a10 sp=0xc0009379d8 pc=0xc1eaa3
net/http.(*ServeMux).ServeHTTP(0xc000208040, 0x21e8ca0, 0xc0001308c0, 0xc000232900)
net/http/server.go:2429 +0x1ad fp=0xc000937a70 sp=0xc000937a10 pc=0x70160d
github.com/AdguardTeam/AdGuardHome/internal/home.limitRequestBody.func1(0x21e8ca0, 0xc0001308c0, 0xc000232800)
github.com/AdguardTeam/AdGuardHome/internal/home/middlewares.go:75 +0x27f fp=0xc000937b48 sp=0xc000937a70 pc=0xc4e9df
net/http.HandlerFunc.ServeHTTP(0xc00000c3c0, 0x21e8ca0, 0xc0001308c0, 0xc000232800)
net/http/server.go:2050 +0x44 fp=0xc000937b70 sp=0xc000937b48 pc=0x6ff784
net/http.serverHandler.ServeHTTP(0xc0002fe0e0, 0x21e8ca0, 0xc0001308c0, 0xc000232800)
net/http/server.go:2868 +0xa3 fp=0xc000937ba0 sp=0xc000937b70 pc=0x702d43
net/http.(*conn).serve(0xc0008359a0, 0x21ebf50, 0xc0007e2840)
net/http/server.go:1933 +0x8cd fp=0xc000937fc8 sp=0xc000937ba0 pc=0x6fe26d
runtime.goexit()
runtime/asm_amd64.s:1371 +0x1 fp=0xc000937fd0 sp=0xc000937fc8 pc=0x472481
created by net/http.(*Server).Serve
net/http/server.go:2994 +0x39b
goroutine 1 [chan receive, 7103 minutes]:
github.com/AdguardTeam/AdGuardHome/internal/home.(*Web).Start(0xc000130380)
github.com/AdguardTeam/AdGuardHome/internal/home/web.go:186 +0x38b
github.com/AdguardTeam/AdGuardHome/internal/home.run(0x0, 0x7fffea419f1a, 0x26, 0x7fffea419f4f, 0x15, 0xc000039d20, 0x10, 0x10, 0x0, 0x0, ...)
github.com/AdguardTeam/AdGuardHome/internal/home/home.go:497 +0xf6a
github.com/AdguardTeam/AdGuardHome/internal/home.Main(0x21d9180, 0x21ff1c0)
github.com/AdguardTeam/AdGuardHome/internal/home/home.go:131 +0x239
main.main()
github.com/AdguardTeam/AdGuardHome/main.go:17 +0x39
goroutine 7 [syscall, 7124 minutes]:
os/signal.signal_recv(0x0)
runtime/sigqueue.go:168 +0xa5
os/signal.loop()
os/signal/signal_unix.go:23 +0x25
created by os/signal.Notify.func1.1
os/signal/signal.go:151 +0x45
goroutine 17 [chan receive, 7124 minutes]:
github.com/AdguardTeam/AdGuardHome/internal/home.Main.func1()
github.com/AdguardTeam/AdGuardHome/internal/home/home.go:109 +0x45
created by github.com/AdguardTeam/AdGuardHome/internal/home.Main
github.com/AdguardTeam/AdGuardHome/internal/home/home.go:107 +0x172
goroutine 18 [chan receive]:
github.com/AdguardTeam/AdGuardHome/internal/home.memoryUsage.func1()
github.com/AdguardTeam/AdGuardHome/internal/home/memory.go:35 +0x72
created by github.com/AdguardTeam/AdGuardHome/internal/home.memoryUsage
github.com/AdguardTeam/AdGuardHome/internal/home/memory.go:33 +0xdd
goroutine 19 [syscall, 7124 minutes]:
syscall.Syscall6(0xe8, 0x7, 0xc00030fc2c, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0)
syscall/asm_linux_amd64.s:43 +0x5
golang.org/x/sys/unix.EpollWait(0x7, 0xc00030fc2c, 0x7, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0x0)
golang.org/x/[email protected]/unix/zsyscall_linux_amd64.go:56 +0x72
github.com/fsnotify/fsnotify.(*fdPoller).wait(0xc000212320, 0x0, 0x0, 0x0)
github.com/fsnotify/[email protected]/inotify_poller.go:87 +0x91
github.com/fsnotify/fsnotify.(*Watcher).readEvents(0xc00025e050)
github.com/fsnotify/[email protected]/inotify.go:193 +0x206
created by github.com/fsnotify/fsnotify.NewWatcher
github.com/fsnotify/[email protected]/inotify.go:60 +0x1ab
goroutine 20 [chan receive, 7124 minutes]:
github.com/AdguardTeam/AdGuardHome/internal/aghos.(*osWatcher).handleErrors(0xc00020e500)
github.com/AdguardTeam/AdGuardHome/internal/aghos/fswatcher.go:74 +0x18a
created by github.com/AdguardTeam/AdGuardHome/internal/aghos.NewOSWritesWatcher
github.com/AdguardTeam/AdGuardHome/internal/aghos/fswatcher.go:63 +0x1ae
goroutine 21 [chan receive, 7124 minutes]:
github.com/AdguardTeam/AdGuardHome/internal/aghos.(*osWatcher).handleEvents(0xc00020e500)
github.com/AdguardTeam/AdGuardHome/internal/aghos/fswatcher.go:110 +0x133
created by github.com/AdguardTeam/AdGuardHome/internal/aghos.NewOSWritesWatcher
github.com/AdguardTeam/AdGuardHome/internal/aghos/fswatcher.go:64 +0x1d0
goroutine 22 [select, 7124 minutes]:
github.com/AdguardTeam/AdGuardHome/internal/aghnet.(*HostsContainer).handleEvents(0xc000210500)
github.com/AdguardTeam/AdGuardHome/internal/aghnet/hostscontainer.go:245 +0x188
created by github.com/AdguardTeam/AdGuardHome/internal/aghnet.NewHostsContainer
github.com/AdguardTeam/AdGuardHome/internal/aghnet/hostscontainer.go:190 +0x38e
goroutine 23 [chan receive, 7124 minutes]:
github.com/AdguardTeam/AdGuardHome/internal/home.(*clientsContainer).handleHostsUpdates(0x26e9260)
github.com/AdguardTeam/AdGuardHome/internal/home/clients.go:140 +0x7d
created by github.com/AdguardTeam/AdGuardHome/internal/home.(*clientsContainer).Init
github.com/AdguardTeam/AdGuardHome/internal/home/clients.go:135 +0x19f
goroutine 8 [sync.Cond.Wait, 7105 minutes]:
sync.runtime_notifyListWait(0xc0001c0090, 0x1)
runtime/sema.go:513 +0xf8
sync.(*Cond).Wait(0xc0001c0080)
sync/cond.go:56 +0x99
github.com/AdguardTeam/AdGuardHome/internal/home.(*Web).tlsServerLoop(0xc000130380)
github.com/AdguardTeam/AdGuardHome/internal/home/web.go:250 +0x47
created by github.com/AdguardTeam/AdGuardHome/internal/home.(*Web).Start
github.com/AdguardTeam/AdGuardHome/internal/home/web.go:161 +0xa5
goroutine 58 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7d73fc048, 0x72, 0x0)
runtime/netpoll.go:227 +0x55
internal/poll.(*pollDesc).wait(0xc000210698, 0x72, 0x0, 0x0, 0xe0d072)
internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc000210680, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc000210680, 0xface222888ba633b, 0x0, 0x0)
net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc00000c3f0, 0x621a1ffd, 0xc000084dc0, 0x49be86)
net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc00000c3f0, 0xc000084e10, 0x18, 0xc0001f8600, 0x70323b)
net/tcpsock.go:261 +0x65
net/http.(*Server).Serve(0xc0002fe0e0, 0x21e8a90, 0xc00000c3f0, 0x0, 0x0)
net/http/server.go:2962 +0x285
net/http.(*Server).ListenAndServe(0xc0002fe0e0, 0xc00020e520, 0x300000000000000)
net/http/server.go:2891 +0xba
github.com/AdguardTeam/AdGuardHome/internal/home.(*Web).Start.func1(0xc00021efc0, 0xc000130380)
github.com/AdguardTeam/AdGuardHome/internal/home/web.go:181 +0x6b
created by github.com/AdguardTeam/AdGuardHome/internal/home.(*Web).Start
github.com/AdguardTeam/AdGuardHome/internal/home/web.go:178 +0x33b
goroutine 52 [chan receive, 407 minutes]:
github.com/AdguardTeam/AdGuardHome/internal/filtering.(*DNSFilter).filtersInitializer(0xc000201380)
github.com/AdguardTeam/AdGuardHome/internal/filtering/filtering.go:338 +0x6f
created by github.com/AdguardTeam/AdGuardHome/internal/filtering.(*DNSFilter).Start
github.com/AdguardTeam/AdGuardHome/internal/filtering/filtering.go:995 +0x73
goroutine 49 [sleep, 8 minutes]:
time.Sleep(0x8bb2c97000)
runtime/time.go:193 +0xd2
github.com/AdguardTeam/AdGuardHome/internal/home.(*clientsContainer).periodicUpdate(0x26e9260)
github.com/AdguardTeam/AdGuardHome/internal/home/clients.go:260 +0x3f
created by github.com/AdguardTeam/AdGuardHome/internal/home.(*clientsContainer).Start
github.com/AdguardTeam/AdGuardHome/internal/home/clients.go:153 +0x58
goroutine 32 [chan receive, 3 minutes]:
github.com/AdguardTeam/AdGuardHome/internal/home.(*RDNS).workerLoop(0xc0001c0780)
github.com/AdguardTeam/AdGuardHome/internal/home/rdns.go:122 +0xc5
created by github.com/AdguardTeam/AdGuardHome/internal/home.NewRDNS
github.com/AdguardTeam/AdGuardHome/internal/home/rdns.go:60 +0x114
goroutine 33 [chan receive, 7105 minutes]:
github.com/AdguardTeam/AdGuardHome/internal/home.(*WHOIS).workerLoop(0xc0001ffb90)
github.com/AdguardTeam/AdGuardHome/internal/home/whois.go:249 +0x5d
created by github.com/AdguardTeam/AdGuardHome/internal/home.initWHOIS
github.com/AdguardTeam/AdGuardHome/internal/home/whois.go:57 +0x138
goroutine 53 [sleep, 23 minutes]:
time.Sleep(0x34630b8a000)
runtime/time.go:193 +0xd2
github.com/AdguardTeam/AdGuardHome/internal/home.(*Filtering).periodicallyRefreshFilters(0x26e92f8)
github.com/AdguardTeam/AdGuardHome/internal/home/filter.go:263 +0x3d
created by github.com/AdguardTeam/AdGuardHome/internal/home.(*Filtering).Start
github.com/AdguardTeam/AdGuardHome/internal/home/filter.go:52 +0x4d
goroutine 54 [sleep]:
time.Sleep(0x3b9aca00)
runtime/time.go:193 +0xd2
github.com/AdguardTeam/AdGuardHome/internal/stats.(*statsCtx).periodicFlush(0xc000238180)
github.com/AdguardTeam/AdGuardHome/internal/stats/unit.go:305 +0x71
created by github.com/AdguardTeam/AdGuardHome/internal/stats.(*statsCtx).Start
github.com/AdguardTeam/AdGuardHome/internal/stats/unit.go:183 +0x4d
goroutine 55 [chan receive, 23 minutes]:
github.com/AdguardTeam/AdGuardHome/internal/querylog.(*queryLog).periodicRotate(0xc000030380)
github.com/AdguardTeam/AdGuardHome/internal/querylog/querylogfile.go:150 +0xec
created by github.com/AdguardTeam/AdGuardHome/internal/querylog.(*queryLog).Start
github.com/AdguardTeam/AdGuardHome/internal/querylog/qlog.go:105 +0x4a
goroutine 941177 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7d73fc130, 0x72, 0x28)
runtime/netpoll.go:227 +0x55
internal/poll.(*pollDesc).wait(0xc000256718, 0x72, 0xff00, 0xffff, 0xc00105a480)
internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).ReadMsg(0xc000256700, 0xc001341f61, 0xffff, 0xffff, 0xc00105a480, 0x28, 0x28, 0x0, 0x0, 0x0, ...)
internal/poll/fd_unix.go:249 +0x252
net.(*netFD).readMsg(0xc000256700, 0xc001341f61, 0xffff, 0xffff, 0xc00105a480, 0x28, 0x28, 0x450d2c, 0x10, 0xcc8ea0, ...)
net/fd_posix.go:67 +0x90
net.(*UDPConn).readMsg(0xc00021cb58, 0xc001341f61, 0xffff, 0xffff, 0xc00105a480, 0x28, 0x28, 0x7fe7fe085108, 0x30, 0xc00105a480, ...)
net/udpsock_posix.go:59 +0x91
net.(*UDPConn).ReadMsgUDP(0xc00021cb58, 0xc001341f61, 0xffff, 0xffff, 0xc00105a480, 0x28, 0x28, 0xc00119bf80, 0x4433ee, 0xc001341e98, ...)
net/udpsock.go:139 +0x9d
github.com/AdguardTeam/dnsproxy/proxyutil.udpRead(0xc00021cb58, 0xc001341f61, 0xffff, 0xffff, 0x28, 0x2b, 0xc000639480, 0x10, 0x10, 0xc000bab2c0, ...)
github.com/AdguardTeam/[email protected]/proxyutil/udp_unix.go:68 +0xaa
github.com/AdguardTeam/dnsproxy/proxyutil.UDPRead(...)
github.com/AdguardTeam/[email protected]/proxyutil/udp.go:25
github.com/AdguardTeam/dnsproxy/proxy.(*Proxy).udpPacketLoop(0xc000134700, 0xc00021cb58, 0x21e1a58, 0xc00021cb50)
github.com/AdguardTeam/[email protected]/proxy/server_udp.go:67 +0x13e
created by github.com/AdguardTeam/dnsproxy/proxy.(*Proxy).startListeners
github.com/AdguardTeam/[email protected]/proxy/server.go:46 +0x187
goroutine 1177316 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7d6fd6d70, 0x72, 0xffffffffffffffff)
runtime/netpoll.go:227 +0x55
internal/poll.(*pollDesc).wait(0xc000256018, 0x72, 0x0, 0x1, 0xffffffffffffffff)
internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000256000, 0xc000fa8191, 0x1, 0x1, 0x0, 0x0, 0x0)
internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc000256000, 0xc000fa8191, 0x1, 0x1, 0xad1a8b, 0xc000134700, 0xc000bd6ae0)
net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000bee060, 0xc000fa8191, 0x1, 0x1, 0x0, 0x0, 0x0)
net/net.go:183 +0x91
net/http.(*connReader).backgroundRead(0xc000fa8180)
net/http/server.go:672 +0x58
created by net/http.(*connReader).startBackgroundRead
net/http/server.go:668 +0xd5
goroutine 1177318 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7d6f325e8, 0x72, 0xffffffffffffffff)
runtime/netpoll.go:227 +0x55
internal/poll.(*pollDesc).wait(0xc000ae7f98, 0x72, 0x0, 0x1, 0xffffffffffffffff)
internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000ae7f80, 0xc000fa83d1, 0x1, 0x1, 0x0, 0x0, 0x0)
internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc000ae7f80, 0xc000fa83d1, 0x1, 0x1, 0xad1a8b, 0xc000134700, 0xc00131b620)
net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000bee050, 0xc000fa83d1, 0x1, 0x1, 0x0, 0x0, 0x0)
net/net.go:183 +0x91
net/http.(*connReader).backgroundRead(0xc000fa83c0)
net/http/server.go:672 +0x58
created by net/http.(*connReader).startBackgroundRead
net/http/server.go:668 +0xd5
goroutine 941178 [IO wait, 154 minutes]:
internal/poll.runtime_pollWait(0x7fe7d73fbf60, 0x72, 0x0)
runtime/netpoll.go:227 +0x55
internal/poll.(*pollDesc).wait(0xc000256798, 0x72, 0x0, 0x0, 0xe0d072)
internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc000256780, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc000256780, 0x37e11d600, 0x0, 0xc00027aec0)
net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc001056fd8, 0xc00027aef8, 0xc00027af00, 0x38)
net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc001056fd8, 0x210d608, 0xc000134700, 0x21f5eb0, 0xc000464088)
net/tcpsock.go:261 +0x65
github.com/AdguardTeam/dnsproxy/proxy.(*Proxy).tcpPacketLoop(0xc000134700, 0x21e8a90, 0xc001056fd8, 0xe09604, 0x3, 0x21e1a58, 0xc00021cb50)
github.com/AdguardTeam/[email protected]/proxy/server_tcp.go:58 +0x190
created by github.com/AdguardTeam/dnsproxy/proxy.(*Proxy).startListeners
github.com/AdguardTeam/[email protected]/proxy/server.go:50 +0x238
goroutine 1177314 [runnable]:
golang.org/x/crypto/blowfish.encryptBlock(0x1514be87206e0a30, 0xc0007d5300, 0x1514be87206e0a30)
golang.org/x/[email protected]/blowfish/block.go:117 +0xb
golang.org/x/crypto/blowfish.ExpandKey(0xc00077a1b0, 0x6, 0x10, 0xc0007d5300)
golang.org/x/[email protected]/blowfish/block.go:58 +0x1f2
golang.org/x/crypto/bcrypt.expensiveBlowfishSetup(0xc000081758, 0x5, 0x20, 0xc00000000a, 0xc00050d878, 0x16, 0x18, 0x1f, 0xc0007ae760, 0x3)
golang.org/x/[email protected]/bcrypt/bcrypt.go:227 +0x165
golang.org/x/crypto/bcrypt.bcrypt(0xc000081758, 0x5, 0x20, 0xa, 0xc00050d878, 0x16, 0x18, 0x455858, 0xc000511cfc, 0x4, ...)
golang.org/x/[email protected]/bcrypt/bcrypt.go:191 +0xcc
golang.org/x/crypto/bcrypt.CompareHashAndPassword(0xc000511cc0, 0x3c, 0x40, 0xc000081758, 0x5, 0x20, 0xc00077a174, 0xb)
golang.org/x/[email protected]/bcrypt/bcrypt.go:105 +0xc9
github.com/AdguardTeam/AdGuardHome/internal/home.(*Auth).UserFind(0xc000209200, 0xc00077a190, 0x5, 0xc00077a196, 0x5, 0x0, 0x0, 0x0, 0x0)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:640 +0x29b
github.com/AdguardTeam/AdGuardHome/internal/home.optionalAuthThird(0x21e8ca0, 0xc000130a80, 0xc000232d00, 0x0)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:544 +0x3a5
github.com/AdguardTeam/AdGuardHome/internal/home.optionalAuth.func1(0x21e8ca0, 0xc000130a80, 0xc000232d00)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:593 +0x385
github.com/AdguardTeam/AdGuardHome/internal/home.(*authHandler).ServeHTTP(0xc0001417a0, 0x21e8ca0, 0xc000130a80, 0xc000232d00)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:607 +0xa3
github.com/AdguardTeam/AdGuardHome/internal/home.postInstall.func1(0x21e8ca0, 0xc000130a80, 0xc000232d00)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:336 +0xbb
github.com/AdguardTeam/AdGuardHome/internal/home.(*postInstallHandlerStruct).ServeHTTP(0xc0001417b0, 0x21e8ca0, 0xc000130a80, 0xc000232d00)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:345 +0xa3
net/http.(*ServeMux).ServeHTTP(0xc000208040, 0x21e8ca0, 0xc000130a80, 0xc000232d00)
net/http/server.go:2429 +0x1ad
github.com/AdguardTeam/AdGuardHome/internal/home.limitRequestBody.func1(0x21e8ca0, 0xc000130a80, 0xc000232c00)
github.com/AdguardTeam/AdGuardHome/internal/home/middlewares.go:75 +0x27f
net/http.HandlerFunc.ServeHTTP(0xc00000c3c0, 0x21e8ca0, 0xc000130a80, 0xc000232c00)
net/http/server.go:2050 +0x44
net/http.serverHandler.ServeHTTP(0xc0002fe0e0, 0x21e8ca0, 0xc000130a80, 0xc000232c00)
net/http/server.go:2868 +0xa3
net/http.(*conn).serve(0xc000835900, 0x21ebf50, 0xc0007e3140)
net/http/server.go:1933 +0x8cd
created by net/http.(*Server).Serve
net/http/server.go:2994 +0x39b
goroutine 1177317 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7d6f086c8, 0x72, 0xffffffffffffffff)
runtime/netpoll.go:227 +0x55
internal/poll.(*pollDesc).wait(0xc000ae7f18, 0x72, 0x0, 0x1, 0xffffffffffffffff)
internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000ae7f00, 0xc000fa82b1, 0x1, 0x1, 0x0, 0x0, 0x0)
internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc000ae7f00, 0xc000fa82b1, 0x1, 0x1, 0xad1a8b, 0xc000134700, 0xc000c485d0)
net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000bee048, 0xc000fa82b1, 0x1, 0x1, 0x0, 0x0, 0x0)
net/net.go:183 +0x91
net/http.(*connReader).backgroundRead(0xc000fa82a0)
net/http/server.go:672 +0x58
created by net/http.(*connReader).startBackgroundRead
net/http/server.go:668 +0xd5
goroutine 941184 [select, 26 minutes]:
github.com/patrickmn/go-cache.(*janitor).Run(0xc000536590, 0xc000d181c0)
github.com/patrickmn/[email protected]+incompatible/cache.go:1079 +0xa9
created by github.com/patrickmn/go-cache.runJanitor
github.com/patrickmn/[email protected]+incompatible/cache.go:1099 +0xa9
goroutine 1177290 [IO wait]:
internal/poll.runtime_pollWait(0x7fe7d6f0a028, 0x72, 0xffffffffffffffff)
runtime/netpoll.go:227 +0x55
internal/poll.(*pollDesc).wait(0xc000210498, 0x72, 0x0, 0x1, 0xffffffffffffffff)
internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000210480, 0xc00146b031, 0x1, 0x1, 0x0, 0x0, 0x0)
internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc000210480, 0xc00146b031, 0x1, 0x1, 0xad1a8b, 0xc000134700, 0xc000c48690)
net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000ac0078, 0xc00146b031, 0x1, 0x1, 0x0, 0x0, 0x0)
net/net.go:183 +0x91
net/http.(*connReader).backgroundRead(0xc00146b020)
net/http/server.go:672 +0x58
created by net/http.(*connReader).startBackgroundRead
net/http/server.go:668 +0xd5
goroutine 1174071 [runnable]:
go.etcd.io/bbolt.(*Cursor).search(0xc00093aeb8, 0xc00093af37, 0x1, 0x1, 0x13)
go.etcd.io/[email protected]/cursor.go:249 +0x65
go.etcd.io/bbolt.(*Cursor).seek(0xc00093aeb8, 0xc00093af37, 0x1, 0x1, 0x8, 0x28, 0x7fe7fe085108, 0x30, 0xc000babef0, 0x10, ...)
go.etcd.io/[email protected]/cursor.go:159 +0x7d
go.etcd.io/bbolt.(*Bucket).Get(0xc000b31b80, 0xc00093af37, 0x1, 0x1, 0xc000b31b80, 0x0, 0x0)
go.etcd.io/[email protected]/bucket.go:262 +0xbb
github.com/AdguardTeam/AdGuardHome/internal/stats.(*statsCtx).loadUnitFromDB(0xc000238180, 0xc0002fe700, 0x6f9e3, 0xc000857ce0)
github.com/AdguardTeam/AdGuardHome/internal/stats/unit.go:442 +0xdc
github.com/AdguardTeam/AdGuardHome/internal/stats.(*statsCtx).loadUnits(0xc000238180, 0x18, 0xc000211f80, 0x203000, 0x203000, 0xc0003c70a8)
github.com/AdguardTeam/AdGuardHome/internal/stats/unit.go:574 +0xfa
github.com/AdguardTeam/AdGuardHome/internal/stats.(*statsCtx).getData(0xc000238180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
github.com/AdguardTeam/AdGuardHome/internal/stats/unit.go:679 +0x93
github.com/AdguardTeam/AdGuardHome/internal/stats.(*statsCtx).handleStats(0xc000238180, 0x21e8e80, 0xc0009fcee0, 0xc000600e00)
github.com/AdguardTeam/AdGuardHome/internal/stats/http.go:61 +0x43c
github.com/AdguardTeam/AdGuardHome/internal/home.ensure.func1(0x21e8e80, 0xc0009fcee0, 0xc000600e00)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:219 +0x214
github.com/AdguardTeam/AdGuardHome/internal/home.(*httpHandler).ServeHTTP(0xc00000e6f0, 0x21e8e80, 0xc0009fcee0, 0xc000600e00)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:237 +0x47
github.com/NYTimes/gziphandler.GzipHandlerWithOpts.func1.1(0x21e8ca0, 0xc0002fe620, 0xc000600e00)
github.com/NYTimes/[email protected]/gzip.go:336 +0x22d
net/http.HandlerFunc.ServeHTTP(0xc00020d4d0, 0x21e8ca0, 0xc0002fe620, 0xc000600e00)
net/http/server.go:2050 +0x44
github.com/AdguardTeam/AdGuardHome/internal/home.optionalAuth.func1(0x21e8ca0, 0xc0002fe620, 0xc000600e00)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:598 +0xfb
github.com/AdguardTeam/AdGuardHome/internal/home.(*authHandler).ServeHTTP(0xc0001417a0, 0x21e8ca0, 0xc0002fe620, 0xc000600e00)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:607 +0xa3
github.com/AdguardTeam/AdGuardHome/internal/home.postInstall.func1(0x21e8ca0, 0xc0002fe620, 0xc000600e00)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:336 +0xbb
github.com/AdguardTeam/AdGuardHome/internal/home.(*postInstallHandlerStruct).ServeHTTP(0xc0001417b0, 0x21e8ca0, 0xc0002fe620, 0xc000600e00)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:345 +0xa3
net/http.(*ServeMux).ServeHTTP(0xc000208040, 0x21e8ca0, 0xc0002fe620, 0xc000600e00)
net/http/server.go:2429 +0x1ad
github.com/AdguardTeam/AdGuardHome/internal/home.limitRequestBody.func1(0x21e8ca0, 0xc0002fe620, 0xc000600d00)
github.com/AdguardTeam/AdGuardHome/internal/home/middlewares.go:75 +0x27f
net/http.HandlerFunc.ServeHTTP(0xc00000c3c0, 0x21e8ca0, 0xc0002fe620, 0xc000600d00)
net/http/server.go:2050 +0x44
net/http.serverHandler.ServeHTTP(0xc0002fe0e0, 0x21e8ca0, 0xc0002fe620, 0xc000600d00)
net/http/server.go:2868 +0xa3
net/http.(*conn).serve(0xc0008af400, 0x21ebf50, 0xc0009b4c40)
net/http/server.go:1933 +0x8cd
created by net/http.(*Server).Serve
net/http/server.go:2994 +0x39b
goroutine 1177313 [semacquire]:
sync.runtime_SemacquireMutex(0xc000209234, 0xc000087700, 0x1)
runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc000209230)
sync/mutex.go:138 +0x105
sync.(*Mutex).Lock(...)
sync/mutex.go:81
github.com/AdguardTeam/AdGuardHome/internal/home.(*Auth).UserFind(0xc000209200, 0xc000638890, 0x5, 0xc000638896, 0x5, 0x0, 0x0, 0x0, 0x0)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:636 +0x2f6
github.com/AdguardTeam/AdGuardHome/internal/home.optionalAuthThird(0x21e8ca0, 0xc0001309a0, 0xc000232b00, 0x0)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:544 +0x3a5
github.com/AdguardTeam/AdGuardHome/internal/home.optionalAuth.func1(0x21e8ca0, 0xc0001309a0, 0xc000232b00)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:593 +0x385
github.com/AdguardTeam/AdGuardHome/internal/home.(*authHandler).ServeHTTP(0xc0001417a0, 0x21e8ca0, 0xc0001309a0, 0xc000232b00)
github.com/AdguardTeam/AdGuardHome/internal/home/auth.go:607 +0xa3
github.com/AdguardTeam/AdGuardHome/internal/home.postInstall.func1(0x21e8ca0, 0xc0001309a0, 0xc000232b00)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:336 +0xbb
github.com/AdguardTeam/AdGuardHome/internal/home.(*postInstallHandlerStruct).ServeHTTP(0xc0001417b0, 0x21e8ca0, 0xc0001309a0, 0xc000232b00)
github.com/AdguardTeam/AdGuardHome/internal/home/control.go:345 +0xa3
net/http.(*ServeMux).ServeHTTP(0xc000208040, 0x21e8ca0, 0xc0001309a0, 0xc000232b00)
net/http/server.go:2429 +0x1ad
github.com/AdguardTeam/AdGuardHome/internal/home.limitRequestBody.func1(0x21e8ca0, 0xc0001309a0, 0xc000232a00)
github.com/AdguardTeam/AdGuardHome/internal/home/middlewares.go:75 +0x27f
net/http.HandlerFunc.ServeHTTP(0xc00000c3c0, 0x21e8ca0, 0xc0001309a0, 0xc000232a00)
net/http/server.go:2050 +0x44
net/http.serverHandler.ServeHTTP(0xc0002fe0e0, 0x21e8ca0, 0xc0001309a0, 0xc000232a00)
net/http/server.go:2868 +0xa3
net/http.(*conn).serve(0xc000835860, 0x21ebf50, 0xc0007e2c40)
net/http/server.go:1933 +0x8cd
created by net/http.(*Server).Serve
net/http/server.go:2994 +0x39b
@lovejoy, hello. We've pushed the build that should fix a couple of concurrency issues to the edge channel. Could you please check, if it still panics?
We'll close this issue for now. Please feel free to reopen if the issue is still not fixed.