Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V2Ray 5.4.1 crash fatal error: concurrent map read and map write #2523

Closed
4-FLOSS-Free-Libre-Open-Source-Software opened this issue May 18, 2023 · 17 comments
Labels
bug Something isn't working Stale

Comments

@4-FLOSS-Free-Libre-Open-Source-Software
Copy link
Contributor

What version of V2Ray are you using?

v2ray version
V2Ray 5.4.1 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.20.2 linux/amd64)
A unified platform for anti-censorship

What's your scenario of using V2Ray?

What problems have you encountered?

What's your expectation?

Please attach your configuration here

Server configuration:

// Please attach your server configuration here.

Client configuration:

// Please attach your client configuration here.

Please attach error logs here

Server error log:

// Please attach your server error log here.

Client error log:

// Please attach your client error log here.

Please attach access log here

// Please attach your server access log here.

Other configurations (such as Nginx) and logs here

If V2Ray cannot start up, please attach output from --test command

If V2Ray service is abnormal, please attach journal log here

v2ray[2833]: fatal error: concurrent map read and map write
v2ray[2833]: goroutine 50105 [running]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/router.(*WeightManager).Get(0xc0010eae10, {0xc0001d2b80, 0x9})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/router/weight.go:33 +0x45
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/router.(*WeightManager).Apply(0xc0010eae10, {0xc0001d2b80?, 0xc00b0ded00?}, 0x92bebf?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/router/weight.go:44 +0x29
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/router.(*LeastLoadStrategy).getNodes(0xc0010eae40, {0xc00eab8000, 0x50, 0xb02722?}, 0x0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/router/strategy_leastload.go:178 +0x4e9
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/router.(*LeastLoadStrategy).pickOutbounds(0xc0010eae40, {0xc00eab8000?, 0x0?, 0xb02780?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/router/strategy_leastload.go:78 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/router.(*LeastLoadStrategy).PickOutbound(0xc00035b960?, {0xc00eab8000?, 0xa?, 0x16?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/router/strategy_leastload.go:68 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/router.(*Balancer).PickOutbound(0xc00035b960)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/router/balancing.go:44 +0x211
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/router.(*Rule).GetTag(...)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/router/config.go:28
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/router.(*Router).PickRoute(0x131cd70?, {0x1326160?, 0xc00b4b06d8?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/router/router.go:79 +0x5a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/dispatcher.(*DefaultDispatcher).routedDispatch(0xc00109fe40, {0x131cd70, 0xc00dacb830}, 0xc00b0161e0, {{0x131ec10, 0xc007452820}, 0x1bb, 0x2})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/dispatcher/default.go:302 +0xcd
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/dispatcher.(*DefaultDispatcher).Dispatch.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/dispatcher/default.go:234 +0x439
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/dispatcher.(*DefaultDispatcher).Dispatch
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/dispatcher/default.go:218 +0x35b
v2ray[2833]: goroutine 1 [chan receive, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/main/commands.executeRun(0x1b0bc20, {0xc00012a060, 0x2, 0x2})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/main/commands/run.go:98 +0x21e
v2ray[2833]: github.com/v2fly/v2ray-core/v5/main/commands/base.Execute()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/main/commands/base/execute.go:64 +0x636
v2ray[2833]: main.main()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/main/main.go:16 +0x26f
v2ray[2833]: goroutine 5 [runnable]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278eb8, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae080?, 0x4?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae080)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae080)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d4b8)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d4b8)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119ea00)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 6 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278dc8, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae100?, 0xc0004ac800?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).ReadMsgInet6(0xc0011ae100, {0xc0004ac800, 0x800, 0x800}, {0xc000222300, 0x100, 0x100}, 0x0?, 0x7f0319e93038?)
v2ray[2833]: #011internal/poll/fd_unix.go:358 +0x359
v2ray[2833]: net.(*netFD).readMsgInet6(0xc0011ae100, {0xc0004ac800?, 0x421647?, 0x0?}, {0xc000222300?, 0x0?, 0xc0011c6d08?}, 0x46a56e?, 0x4274a5?)
v2ray[2833]: #011net/fd_posix.go:90 +0x37
v2ray[2833]: net.(*UDPConn).readMsg(0x7f04416055b8?, {0xc0004ac800?, 0x7f0319e92db8?, 0x0?}, {0xc000222300?, 0x416b6b?, 0x1b4a178?})
v2ray[2833]: #011net/udpsock_posix.go:106 +0xa5
v2ray[2833]: net.(*UDPConn).ReadMsgUDPAddrPort(0xc001172300, {0xc0004ac800?, 0x1b52760?, 0xc0011c6ea0?}, {0xc000222300?, 0xc0005ea000?, 0x30?})
v2ray[2833]: #011net/udpsock.go:203 +0x53
v2ray[2833]: net.(*UDPConn).ReadMsgUDP(0xc0005ea000?, {0xc0004ac800?, 0xc0011c6ec8?, 0x40dec7?}, {0xc000222300?, 0x10c48e0?, 0xc0001da901?})
v2ray[2833]: #011net/udpsock.go:191 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.ReadUDPMsg(0x1b1f620?, {0xc0004ac800?, 0x0?, 0x0?}, {0xc000222300?, 0x0?, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub_linux.go:34 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.(*Hub).start(0xc001191540)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:90 +0x19a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/udp.ListenUDP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:61 +0x356
v2ray[2833]: goroutine 7 [chan receive, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).handlePackets(0xc0000c3800)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:340 +0x97
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:385 +0x1c5
v2ray[2833]: goroutine 8 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278cd8, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae180?, 0x0?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae180)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae180)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d500)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d500)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119eb40)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 9 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278be8, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae200?, 0xc0004ad000?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).ReadMsgInet6(0xc0011ae200, {0xc0004ad000, 0x800, 0x800}, {0xc00065a000, 0x100, 0x100}, 0x0?, 0x0?)
v2ray[2833]: #011internal/poll/fd_unix.go:358 +0x359
v2ray[2833]: net.(*netFD).readMsgInet6(0xc0011ae200, {0xc0004ad000?, 0x0?, 0x0?}, {0xc00065a000?, 0xc00006a518?, 0x4157d0?}, 0x46a56e?, 0x4274a5?)
v2ray[2833]: #011net/fd_posix.go:90 +0x37
v2ray[2833]: net.(*UDPConn).readMsg(0x0?, {0xc0004ad000?, 0x7f0319e8ba18?, 0x0?}, {0xc00065a000?, 0x416b6b?, 0x1b4a178?})
v2ray[2833]: #011net/udpsock_posix.go:106 +0xa5
v2ray[2833]: net.(*UDPConn).ReadMsgUDPAddrPort(0xc001172318, {0xc0004ad000?, 0x1b52760?, 0xc00006a6a0?}, {0xc00065a000?, 0xc00065c000?, 0x30?})
v2ray[2833]: #011net/udpsock.go:203 +0x53
v2ray[2833]: net.(*UDPConn).ReadMsgUDP(0xc00065c000?, {0xc0004ad000?, 0xc00006a6c8?, 0x40dec7?}, {0xc00065a000?, 0x10c48e0?, 0xc0001da901?})
v2ray[2833]: #011net/udpsock.go:191 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.ReadUDPMsg(0x1b1f620?, {0xc0004ad000?, 0x0?, 0x0?}, {0xc00065a000?, 0x0?, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub_linux.go:34 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.(*Hub).start(0xc001191560)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:90 +0x19a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/udp.ListenUDP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:61 +0x356
v2ray[2833]: goroutine 10 [chan receive, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).handlePackets(0xc0000c3980)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:340 +0x97
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:385 +0x1c5
v2ray[2833]: goroutine 11 [IO wait]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278af8, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae280?, 0x6?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae280)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae280)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d548)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d548)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119ec80)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 12 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278a08, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae300?, 0xc0004ad800?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).ReadMsgInet6(0xc0011ae300, {0xc0004ad800, 0x800, 0x800}, {0xc001200000, 0x100, 0x100}, 0x0?, 0x0?)
v2ray[2833]: #011internal/poll/fd_unix.go:358 +0x359
v2ray[2833]: net.(*netFD).readMsgInet6(0xc0011ae300, {0xc0004ad800?, 0x0?, 0x0?}, {0xc001200000?, 0xc00006bd18?, 0x4157d0?}, 0x46a56e?, 0x4274a5?)
v2ray[2833]: #011net/fd_posix.go:90 +0x37
v2ray[2833]: net.(*UDPConn).readMsg(0x0?, {0xc0004ad800?, 0x7f0319e3b158?, 0x0?}, {0xc001200000?, 0x416b6b?, 0x1b4a178?})
v2ray[2833]: #011net/udpsock_posix.go:106 +0xa5
v2ray[2833]: net.(*UDPConn).ReadMsgUDPAddrPort(0xc001172330, {0xc0004ad800?, 0x1b52760?, 0xc00006bea0?}, {0xc001200000?, 0xc001202000?, 0x30?})
v2ray[2833]: #011net/udpsock.go:203 +0x53
v2ray[2833]: net.(*UDPConn).ReadMsgUDP(0xc001202000?, {0xc0004ad800?, 0xc00006bec8?, 0x40dec7?}, {0xc001200000?, 0x10c48e0?, 0xc0001daa01?})
v2ray[2833]: #011net/udpsock.go:191 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.ReadUDPMsg(0x1b1f620?, {0xc0004ad800?, 0x0?, 0x0?}, {0xc001200000?, 0x0?, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub_linux.go:34 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.(*Hub).start(0xc001191580)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:90 +0x19a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/udp.ListenUDP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:61 +0x356
v2ray[2833]: goroutine 13 [chan receive, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).handlePackets(0xc0000c3a40)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:340 +0x97
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:385 +0x1c5
v2ray[2833]: goroutine 14 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278918, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae380?, 0x0?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae380)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae380)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d590)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d590)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119edc0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 15 [IO wait]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278828, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae400?, 0xc006768800?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).ReadMsgInet6(0xc0011ae400, {0xc006768800, 0x800, 0x800}, {0xc000688000, 0x100, 0x100}, 0x2000?, 0xc001204d10?)
v2ray[2833]: #011internal/poll/fd_unix.go:358 +0x359
v2ray[2833]: net.(*netFD).readMsgInet6(0xc0011ae400, {0xc006768800?, 0xc0001321c8?, 0x0?}, {0xc000688000?, 0xaa?, 0x40?}, 0x40d30d?, 0xc001204d20?)
v2ray[2833]: #011net/fd_posix.go:90 +0x37
v2ray[2833]: net.(*UDPConn).readMsg(0x1310ee0?, {0xc006768800?, 0xc0010b56d0?, 0x4656ba?}, {0xc000688000?, 0x439d87?, 0xc001204dc8?})
v2ray[2833]: #011net/udpsock_posix.go:106 +0xa5
v2ray[2833]: net.(*UDPConn).ReadMsgUDPAddrPort(0xc001172348, {0xc006768800?, 0xc00b0b1368?, 0xc001204ea0?}, {0xc000688000?, 0xc00c32ba40?, 0x30?})
v2ray[2833]: #011net/udpsock.go:203 +0x53
v2ray[2833]: net.(*UDPConn).ReadMsgUDP(0xc00c32ba40?, {0xc006768800?, 0xc001204ec8?, 0x40dec7?}, {0xc000688000?, 0x10c48e0?, 0xc00abcc001?})
v2ray[2833]: #011net/udpsock.go:191 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.ReadUDPMsg(0x1b1f620?, {0xc006768800?, 0x0?, 0x0?}, {0xc000688000?, 0x0?, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub_linux.go:34 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.(*Hub).start(0xc0011915a0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:90 +0x19a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/udp.ListenUDP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:61 +0x356
v2ray[2833]: goroutine 16 [chan receive]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).handlePackets(0xc0000c35c0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:340 +0x97
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:385 +0x1c5
v2ray[2833]: goroutine 33 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278738, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae480?, 0x0?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae480)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae480)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d5d8)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d5d8)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119ef00)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 34 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278648, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae500?, 0xc000622800?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).ReadMsgInet6(0xc0011ae500, {0xc000622800, 0x800, 0x800}, {0xc00065a100, 0x100, 0x100}, 0x0?, 0x0?)
v2ray[2833]: #011internal/poll/fd_unix.go:358 +0x359
v2ray[2833]: net.(*netFD).readMsgInet6(0xc0011ae500, {0xc000622800?, 0x0?, 0x0?}, {0xc00065a100?, 0x0?, 0x0?}, 0x0?, 0x0?)
v2ray[2833]: #011net/fd_posix.go:90 +0x37
v2ray[2833]: net.(*UDPConn).readMsg(0x0?, {0xc000622800?, 0x0?, 0x4656ba?}, {0xc00065a100?, 0x0?, 0x0?})
v2ray[2833]: #011net/udpsock_posix.go:106 +0xa5
v2ray[2833]: net.(*UDPConn).ReadMsgUDPAddrPort(0xc001172360, {0xc000622800?, 0x0?, 0xc0011c4ea0?}, {0xc00065a100?, 0xc00065c030?, 0x30?})
v2ray[2833]: #011net/udpsock.go:203 +0x53
v2ray[2833]: net.(*UDPConn).ReadMsgUDP(0xc00065c030?, {0xc000622800?, 0xc0011c4ec8?, 0x40dec7?}, {0xc00065a100?, 0x10c48e0?, 0xc0001daa01?})
v2ray[2833]: #011net/udpsock.go:191 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.ReadUDPMsg(0x1b1f620?, {0xc000622800?, 0x0?, 0x0?}, {0xc00065a100?, 0x0?, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub_linux.go:34 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.(*Hub).start(0xc0011915c0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:90 +0x19a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/udp.ListenUDP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:61 +0x356
v2ray[2833]: goroutine 35 [chan receive, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).handlePackets(0xc0000c3bc0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:340 +0x97
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:385 +0x1c5
v2ray[2833]: goroutine 36 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278558, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae580?, 0x0?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae580)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae580)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d620)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d620)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119f040)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 37 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278468, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae600?, 0xc000623000?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).ReadMsgInet6(0xc0011ae600, {0xc000623000, 0x800, 0x800}, {0xc00065a200, 0x100, 0x100}, 0x0?, 0x0?)
v2ray[2833]: #011internal/poll/fd_unix.go:358 +0x359
v2ray[2833]: net.(*netFD).readMsgInet6(0xc0011ae600, {0xc000623000?, 0x0?, 0x0?}, {0xc00065a200?, 0x0?, 0x0?}, 0x0?, 0x0?)
v2ray[2833]: #011net/fd_posix.go:90 +0x37
v2ray[2833]: net.(*UDPConn).readMsg(0x0?, {0xc000623000?, 0x0?, 0x4656ba?}, {0xc00065a200?, 0x0?, 0x0?})
v2ray[2833]: #011net/udpsock_posix.go:106 +0xa5
v2ray[2833]: net.(*UDPConn).ReadMsgUDPAddrPort(0xc001172378, {0xc000623000?, 0x0?, 0xc0011da6a0?}, {0xc00065a200?, 0xc00065c060?, 0x30?})
v2ray[2833]: #011net/udpsock.go:203 +0x53
v2ray[2833]: net.(*UDPConn).ReadMsgUDP(0xc00065c060?, {0xc000623000?, 0xc0011da6c8?, 0x40dec7?}, {0xc00065a200?, 0x10c48e0?, 0xc0001daa01?})
v2ray[2833]: #011net/udpsock.go:191 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.ReadUDPMsg(0x1b1f620?, {0xc000623000?, 0x0?, 0x0?}, {0xc00065a200?, 0x0?, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub_linux.go:34 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.(*Hub).start(0xc0011915e0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:90 +0x19a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/udp.ListenUDP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:61 +0x356
v2ray[2833]: goroutine 38 [chan receive, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).handlePackets(0xc0000c3c80)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:340 +0x97
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:385 +0x1c5
v2ray[2833]: goroutine 39 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278378, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae680?, 0x0?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae680)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae680)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d668)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d668)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119f180)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 40 [IO wait]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278288, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae700?, 0x4?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae700)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae700)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d698)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d698)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119f240)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 41 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a278198, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae780?, 0xc000623800?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).ReadMsgInet6(0xc0011ae780, {0xc000623800, 0x800, 0x800}, {0xc00065a300, 0x100, 0x100}, 0x0?, 0x0?)
v2ray[2833]: #011internal/poll/fd_unix.go:358 +0x359
v2ray[2833]: net.(*netFD).readMsgInet6(0xc0011ae780, {0xc000623800?, 0x0?, 0x0?}, {0xc00065a300?, 0x0?, 0x0?}, 0x0?, 0x0?)
v2ray[2833]: #011net/fd_posix.go:90 +0x37
v2ray[2833]: net.(*UDPConn).readMsg(0x0?, {0xc000623800?, 0x0?, 0x4656ba?}, {0xc00065a300?, 0x0?, 0x0?})
v2ray[2833]: #011net/udpsock_posix.go:106 +0xa5
v2ray[2833]: net.(*UDPConn).ReadMsgUDPAddrPort(0xc001172398, {0xc000623800?, 0x0?, 0xc0011c06a0?}, {0xc00065a300?, 0xc00065c090?, 0x30?})
v2ray[2833]: #011net/udpsock.go:203 +0x53
v2ray[2833]: net.(*UDPConn).ReadMsgUDP(0xc00065c090?, {0xc000623800?, 0xc0011c06c8?, 0x40dec7?}, {0xc00065a300?, 0x10c48e0?, 0xc0001daa01?})
v2ray[2833]: #011net/udpsock.go:191 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.ReadUDPMsg(0x1b1f620?, {0xc000623800?, 0x0?, 0x0?}, {0xc00065a300?, 0x0?, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub_linux.go:34 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.(*Hub).start(0xc001191620)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:90 +0x19a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/udp.ListenUDP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:61 +0x356
v2ray[2833]: goroutine 42 [chan receive, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).handlePackets(0xc0000c3680)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:340 +0x97
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:385 +0x1c5
v2ray[2833]: goroutine 43 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a2780a8, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae800?, 0x0?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae800)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae800)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d6e0)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d6e0)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119f380)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 44 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f041a277fb8, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae880?, 0xc000626000?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).ReadMsgInet4(0xc0011ae880, {0xc000626000, 0x800, 0x800}, {0xc00065a400, 0x100, 0x100}, 0x0?, 0x0?)
v2ray[2833]: #011internal/poll/fd_unix.go:331 +0x359
v2ray[2833]: net.(*netFD).readMsgInet4(0xc0011ae880, {0xc000626000?, 0x0?, 0x0?}, {0xc00065a400?, 0x0?, 0x0?}, 0x0?, 0x0?)
v2ray[2833]: #011net/fd_posix.go:84 +0x37
v2ray[2833]: net.(*UDPConn).readMsg(0x0?, {0xc000626000?, 0x0?, 0x4656ba?}, {0xc00065a400?, 0x0?, 0x0?})
v2ray[2833]: #011net/udpsock_posix.go:101 +0x16b
v2ray[2833]: net.(*UDPConn).ReadMsgUDPAddrPort(0xc0011723b0, {0xc000626000?, 0x0?, 0xc0011c1ea0?}, {0xc00065a400?, 0xc00065c0c0?, 0x30?})
v2ray[2833]: #011net/udpsock.go:203 +0x53
v2ray[2833]: net.(*UDPConn).ReadMsgUDP(0xc00065c0c0?, {0xc000626000?, 0xc0011c1ec8?, 0x40dec7?}, {0xc00065a400?, 0x10c48e0?, 0xc0001daa01?})
v2ray[2833]: #011net/udpsock.go:191 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.ReadUDPMsg(0x1b1f620?, {0xc000626000?, 0x0?, 0x0?}, {0xc00065a400?, 0x0?, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub_linux.go:34 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.(*Hub).start(0xc001191660)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:90 +0x19a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/udp.ListenUDP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:61 +0x356
v2ray[2833]: goroutine 45 [chan receive, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).handlePackets(0xc0000c38c0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:340 +0x97
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:385 +0x1c5
v2ray[2833]: goroutine 46 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f0319e3d2d0, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae900?, 0x0?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae900)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae900)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d728)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d728)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119f4c0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 47 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f0319e3d1e0, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011ae980?, 0x0?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011ae980)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011ae980)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d758)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d758)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119f580)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 48 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f0319e3d0f0, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011aea00?, 0xc000626800?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).ReadMsgInet6(0xc0011aea00, {0xc000626800, 0x800, 0x800}, {0xc00065a500, 0x100, 0x100}, 0x0?, 0x0?)
v2ray[2833]: #011internal/poll/fd_unix.go:358 +0x359
v2ray[2833]: net.(*netFD).readMsgInet6(0xc0011aea00, {0xc000626800?, 0x0?, 0x0?}, {0xc00065a500?, 0x0?, 0x0?}, 0x0?, 0x0?)
v2ray[2833]: #011net/fd_posix.go:90 +0x37
v2ray[2833]: net.(*UDPConn).readMsg(0x0?, {0xc000626800?, 0x0?, 0x4656ba?}, {0xc00065a500?, 0x0?, 0x0?})
v2ray[2833]: #011net/udpsock_posix.go:106 +0xa5
v2ray[2833]: net.(*UDPConn).ReadMsgUDPAddrPort(0xc0011723d0, {0xc000626800?, 0x0?, 0xc0011d7ea0?}, {0xc00065a500?, 0xc00065c0f0?, 0x30?})
v2ray[2833]: #011net/udpsock.go:203 +0x53
v2ray[2833]: net.(*UDPConn).ReadMsgUDP(0xc00065c0f0?, {0xc000626800?, 0xc0011d7ec8?, 0x40dec7?}, {0xc00065a500?, 0x10c48e0?, 0xc0001daa01?})
v2ray[2833]: #011net/udpsock.go:191 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.ReadUDPMsg(0x1b1f620?, {0xc000626800?, 0x0?, 0x0?}, {0xc00065a500?, 0x0?, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub_linux.go:34 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.(*Hub).start(0xc001191680)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:90 +0x19a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/udp.ListenUDP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:61 +0x356
v2ray[2833]: goroutine 49 [chan receive, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).handlePackets(0xc0000c3740)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:340 +0x97
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:385 +0x1c5
v2ray[2833]: goroutine 50 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f0319e3d000, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011aea80?, 0x0?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).Accept(0xc0011aea80)
v2ray[2833]: #011internal/poll/fd_unix.go:614 +0x2bd
v2ray[2833]: net.(*netFD).accept(0xc0011aea80)
v2ray[2833]: #011net/fd_unix.go:172 +0x35
v2ray[2833]: net.(*TCPListener).accept(0xc00118d7a0)
v2ray[2833]: #011net/tcpsock_posix.go:148 +0x25
v2ray[2833]: net.(*TCPListener).Accept(0xc00118d7a0)
v2ray[2833]: #011net/tcpsock.go:297 +0x3d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/tcp.(*Listener).keepAccepting(0xc00119f6c0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:94 +0x3a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/tcp.ListenTCP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/tcp/hub.go:88 +0xaa5
v2ray[2833]: goroutine 51 [IO wait, 2 minutes]:
v2ray[2833]: internal/poll.runtime_pollWait(0x7f0319e3cf10, 0x72)
v2ray[2833]: #011runtime/netpoll.go:306 +0x89
v2ray[2833]: internal/poll.(*pollDesc).wait(0xc0011aeb00?, 0xc000627000?, 0x0)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:84 +0x32
v2ray[2833]: internal/poll.(*pollDesc).waitRead(...)
v2ray[2833]: #011internal/poll/fd_poll_runtime.go:89
v2ray[2833]: internal/poll.(*FD).ReadMsgInet6(0xc0011aeb00, {0xc000627000, 0x800, 0x800}, {0xc00065a600, 0x100, 0x100}, 0x0?, 0x0?)
v2ray[2833]: #011internal/poll/fd_unix.go:358 +0x359
v2ray[2833]: net.(*netFD).readMsgInet6(0xc0011aeb00, {0xc000627000?, 0x0?, 0x0?}, {0xc00065a600?, 0x0?, 0x0?}, 0x0?, 0x0?)
v2ray[2833]: #011net/fd_posix.go:90 +0x37
v2ray[2833]: net.(*UDPConn).readMsg(0x0?, {0xc000627000?, 0x0?, 0x4656ba?}, {0xc00065a600?, 0x0?, 0x0?})
v2ray[2833]: #011net/udpsock_posix.go:106 +0xa5
v2ray[2833]: net.(*UDPConn).ReadMsgUDPAddrPort(0xc0011723e8, {0xc000627000?, 0x0?, 0xc0011d96a0?}, {0xc00065a600?, 0xc00065c120?, 0x30?})
v2ray[2833]: #011net/udpsock.go:203 +0x53
v2ray[2833]: net.(*UDPConn).ReadMsgUDP(0xc00065c120?, {0xc000627000?, 0xc0011d96c8?, 0x40dec7?}, {0xc00065a600?, 0x10c48e0?, 0xc0001dab01?})
v2ray[2833]: #011net/udpsock.go:191 +0x2a
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.ReadUDPMsg(0x1b1f620?, {0xc000627000?, 0x0?, 0x0?}, {0xc00065a600?, 0x0?, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub_linux.go:34 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/internet/udp.(*Hub).start(0xc0011916a0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:90 +0x19a
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/transport/internet/udp.ListenUDP
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/internet/udp/hub.go:61 +0x356
v2ray[2833]: goroutine 52 [chan receive, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).handlePackets(0xc0000c3b00)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:340 +0x97
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:385 +0x1c5
v2ray[2833]: goroutine 53 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/commander.(*OutboundListener).Accept(0x13299e0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/commander/outbound.go:31 +0x67
v2ray[2833]: google.golang.org/grpc.(*Server).Serve(0xc0010112c0, {0x131a5f0?, 0xc00119d370})
v2ray[2833]: #011google.golang.org/[email protected]/server.go:823 +0x475
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/commander.(*Commander).Start.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/commander/commander.go:78 +0x30
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/commander.(*Commander).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/commander/commander.go:77 +0x1ea
v2ray[2833]: goroutine 54 [sleep]:
v2ray[2833]: time.Sleep(0x1f78a40)
v2ray[2833]: #011runtime/time.go:195 +0x135
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/observatory.(*Observer).background(0xc0010b5c20)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/observatory/observer.go:86 +0x1b8
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/observatory.(*Observer).Start
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/observatory/observer.go:51 +0xd6
v2ray[2833]: goroutine 12787 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc004789c20}, {0xc0040cfe98, 0x2, 0x3047a92f0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process(0xc0010c32c0, {0x131cd70, 0xc004789b30}, 0x3, {0x1323d90, 0xc00478a680}, {0x131dd68, 0xc0011183e0})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:215 +0x1130
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:319 +0x388
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:297 +0x2b2
v2ray[2833]: goroutine 12773 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*pipe).ReadMultiBuffer(0xc004633b80)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/impl.go:91 +0x7b
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*Reader).ReadMultiBuffer(0x1?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/reader.go:16 +0x1c
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/buf.copyInternal({0x1312480, 0xc003f93a58}, {0x1310da0, 0xc004648920}, 0xc004666108)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/buf/copy.go:81 +0x69
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/buf.Copy({0x1312480, 0xc003f93a58}, {0x1310da0, 0xc004648920}, {0xc004711f38, 0x1, 0x131cd70?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/buf/copy.go:104 +0xa5
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process.func4()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:209 +0xef
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0xc004657230?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 27637 [select, 1 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc007738cc0}, {0xc008c9be98, 0x2, 0x303e5b1fb?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process(0xc0010c32c0, {0x131cd70, 0xc007738810}, 0x3, {0x1323d90, 0xc007627480}, {0x131dd68, 0xc0011183e0})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:215 +0x1130
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:319 +0x388
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:297 +0x2b2
v2ray[2833]: goroutine 12772 [select, 1 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc0046573e0}, {0xc0015a6748, 0x2, 0xc0015a6770?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process.func5()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:216 +0x46
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.OnSuccess.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:12 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0xc000011638?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 12774 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*pipe).ReadMultiBuffer(0xc004633b30)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/impl.go:91 +0x7b
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*Reader).ReadMultiBuffer(0x0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/reader.go:16 +0x1c
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/protocol/dns.(*UDPReader).refill(0xc0046575f0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/protocol/dns/io.go:47 +0x2d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/protocol/dns.(*UDPReader).ReadMessage(0xc004435810?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/protocol/dns/io.go:64 +0x34
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dns.(*Handler).Process.func2()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dns/dns.go:184 +0xe2
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0x0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 3873 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc0010f0ff0}, {0xc00145fe98, 0x2, 0x30160a524?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process(0xc0010c32c0, {0x131cd70, 0xc0010f0f00}, 0x3, {0x1323d90, 0xc000b8c100}, {0x131dd68, 0xc0011183e0})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:215 +0x1130
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:319 +0x388
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:297 +0x2b2
v2ray[2833]: goroutine 214 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc0010ea000}, {0xc00069de98, 0x2, 0x301188789?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process(0xc0010c32c0, {0x131cd70, 0xc000397e30}, 0x3, {0x1323d90, 0xc001005400}, {0x131dd68, 0xc0011183e0})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:215 +0x1130
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:319 +0x388
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:297 +0x2b2
v2ray[2833]: goroutine 218 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131ccc8, 0xc0010227d0}, {0xc0006dcde0, 0x2, 0x406365?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dns.(*Handler).Process(0xc0010f47e0, {0x131cd70, 0xc0010ea3f0}, 0xc0011906a0, {0x1317038?, 0xc001114080})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dns/dns.go:230 +0xc9b
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/outbound.(*Handler).Dispatch(0x10e5da0?, {0x131cd70, 0xc0010ea3f0}, 0xc0011906a0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/outbound/handler.go:158 +0x211
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/dispatcher.(*DefaultDispatcher).routedDispatch(0xc00109fe40, {0x131cd70, 0xc0010ea3f0}, 0xc0011906a0, {{0x131ec80, 0xc001187770}, 0x14e6, 0x3})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/dispatcher/default.go:336 +0x943
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/dispatcher.(*DefaultDispatcher).Dispatch
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/dispatcher/default.go:216 +0x45e
v2ray[2833]: goroutine 27055 [select, 1 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc0055f1e30}, {0xc0079ad748, 0x2, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process.func5()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:216 +0x46
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.OnSuccess.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:12 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0x0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 217 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*pipe).ReadMultiBuffer(0xc000fc6a00)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/impl.go:91 +0x7b
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*Reader).ReadMultiBuffer(0x1?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/reader.go:16 +0x1c
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/buf.copyInternal({0x1312480, 0xc00121c330}, {0x1310da0, 0xc0001b5a10}, 0xc0001db5d8)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/buf/copy.go:81 +0x69
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/buf.Copy({0x1312480, 0xc00121c330}, {0x1310da0, 0xc0001b5a10}, {0xc0011f1f38, 0x1, 0x0?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/buf/copy.go:104 +0xa5
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process.func4()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:209 +0xef
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0x0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 75 [select]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/log.(*generalLogger).run(0xc0004d5d00)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/log/logger.go:54 +0x1e6
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/log.(*generalLogger).Handle
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/log/logger.go:77 +0x99
v2ray[2833]: goroutine 216 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc0010ea000}, {0xc0011dbf48, 0x2, 0x37e11d6000?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process.func5()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:216 +0x46
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.OnSuccess.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:12 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0x2002701bb?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 31 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc00065c660}, {0xc0008dbe98, 0x2, 0x30066a2b9?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process(0xc0010c32c0, {0x131cd70, 0xc00065c570}, 0x3, {0x1323d90, 0xc000214380}, {0x131dd68, 0xc0011183e0})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:215 +0x1130
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:319 +0x388
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:297 +0x2b2
v2ray[2833]: goroutine 98 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131ccc8, 0xc000524aa0}, {0xc0008e6de0, 0x2, 0x406365?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dns.(*Handler).Process(0xc0010f47e0, {0x131cd70, 0xc000194a80}, 0xc000212420, {0x1317038?, 0xc001114080})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dns/dns.go:230 +0xc9b
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/outbound.(*Handler).Dispatch(0x10e5da0?, {0x131cd70, 0xc000194a80}, 0xc000212420)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/outbound/handler.go:158 +0x211
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/dispatcher.(*DefaultDispatcher).routedDispatch(0xc00109fe40, {0x131cd70, 0xc000194a80}, 0xc000212420, {{0x131ec80, 0xc00047ed00}, 0x14e6, 0x3})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/dispatcher/default.go:336 +0x943
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/dispatcher.(*DefaultDispatcher).Dispatch
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/dispatcher/default.go:216 +0x45e
v2ray[2833]: goroutine 56 [syscall, 2 minutes]:
v2ray[2833]: os/signal.signal_recv()
v2ray[2833]: #011runtime/sigqueue.go:152 +0x2f
v2ray[2833]: os/signal.loop()
v2ray[2833]: #011os/signal/signal_unix.go:23 +0x19
v2ray[2833]: created by os/signal.Notify.func1.1
v2ray[2833]: #011os/signal/signal.go:151 +0x2a
v2ray[2833]: goroutine 12766 [select, 1 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*pipe).ReadMultiBuffer(0xc0046f5a90)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/impl.go:91 +0x7b
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*Reader).ReadMultiBuffer(0x0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/reader.go:16 +0x1c
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/protocol/dns.(*UDPReader).refill(0xc004789770)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/protocol/dns/io.go:47 +0x2d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/protocol/dns.(*UDPReader).ReadMessage(0xc007d9aff0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/protocol/dns/io.go:64 +0x34
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dns.(*Handler).Process.func2()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dns/dns.go:184 +0xe2
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0xc0011ad170?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 213 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc0010ea390}, {0xc00069fe98, 0x2, 0x30118a2a4?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process(0xc0010c32c0, {0x131cd70, 0xc0010ea2a0}, 0x3, {0x1323d90, 0xc001005300}, {0x131dd68, 0xc0011183e0})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:215 +0x1130
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:319 +0x388
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:297 +0x2b2
v2ray[2833]: goroutine 12779 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc004657aa0}, {0xc0040d3e98, 0x2, 0x304439143?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process(0xc0010c32c0, {0x131cd70, 0xc0046579b0}, 0x3, {0x1323d90, 0xc004630c80}, {0x131dd68, 0xc0011183e0})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:215 +0x1130
v2ray[2833]: github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:319 +0x388
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/app/proxyman/inbound.(*udpWorker).callback
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/app/proxyman/inbound/worker.go:297 +0x2b2
v2ray[2833]: goroutine 276 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*pipe).ReadMultiBuffer(0xc00100ef50)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/impl.go:91 +0x7b
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*Reader).ReadMultiBuffer(0x0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/reader.go:16 +0x1c
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/protocol/dns.(*UDPReader).refill(0xc0001b7cb0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/protocol/dns/io.go:47 +0x2d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/protocol/dns.(*UDPReader).ReadMessage(0xc00051f370?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/protocol/dns/io.go:64 +0x34
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dns.(*Handler).Process.func2()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dns/dns.go:184 +0xe2
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0x3006614e6?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 219 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc0010ea390}, {0xc0015a2748, 0x2, 0x6cde9c?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process.func5()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:216 +0x46
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.OnSuccess.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:12 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0x0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 12764 [select, 1 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run({0x131cd70, 0xc004789560}, {0xc0011ee748, 0x2, 0xc0011ee770?})
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:42 +0x287
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dokodemo.(*Door).Process.func5()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dokodemo/dokodemo.go:216 +0x46
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.OnSuccess.func1()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:12 +0x25
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0x0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 2370 [select, 2 minutes]:
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*pipe).ReadMultiBuffer(0xc000e4d4f0)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/impl.go:91 +0x7b
v2ray[2833]: github.com/v2fly/v2ray-core/v5/transport/pipe.(*Reader).ReadMultiBuffer(0x0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/transport/pipe/reader.go:16 +0x1c
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/protocol/dns.(*UDPReader).refill(0xc000e92900)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/protocol/dns/io.go:47 +0x2d
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/protocol/dns.(*UDPReader).ReadMessage(0xc000e885d0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/protocol/dns/io.go:64 +0x34
v2ray[2833]: github.com/v2fly/v2ray-core/v5/proxy/dns.(*Handler).Process.func2()
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/proxy/dns/dns.go:184 +0xe2
v2ray[2833]: github.com/v2fly/v2ray-core/v5/common/task.Run.func1(0xc000c577a0?)
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:28 +0x2e
v2ray[2833]: created by github.com/v2fly/v2ray-core/v5/common/task.Run
v2ray[2833]: #011github.com/v2fly/v2ray-core/v5/common/task/task.go:27 +0xde
v2ray[2833]: goroutine 4161 [select, 2 minutes]:
@AkinoKaede
Copy link
Contributor

Please describe when the error occurs, when the program starts running or after running for a while?

@4-FLOSS-Free-Libre-Open-Source-Software
Copy link
Contributor Author

it was early after starting.

@AkinoKaede
Copy link
Contributor

it was early after starting.

Cloud you provide your configuration?

@4-FLOSS-Free-Libre-Open-Source-Software
Copy link
Contributor Author

Cloud you provide your configuration?

what part of it is important? It is big configuration: >200k

The same configuration was running smooth for week beforehand.

@AkinoKaede
Copy link
Contributor

Cloud you provide your configuration?

what part of it is important? It is big configuration: >200k

The same configuration was running smooth for week beforehand.

I have no clue, the code in question hasn't been changed in three months.

@4-FLOSS-Free-Libre-Open-Source-Software 4-FLOSS-Free-Libre-Open-Source-Software changed the title V2Ray 5.4.1 crash V2Ray 5.4.1 crash fatal error: concurrent map read and map write May 18, 2023
@4-FLOSS-Free-Libre-Open-Source-Software
Copy link
Contributor Author

Cloud you provide your configuration?

what part of it is important? It is big configuration: >200k
The same configuration was running smooth for week beforehand.

I have no clue, the code in question hasn't been changed in three months.

I updated the logs to include the beginning of error occurred.

@bytejedi
Copy link

bytejedi commented May 30, 2023

@4-FLOSS-Free-Libre-Open-Source-Software @xiaokangwang @AkinoKaede
I've done some investigating. I'm not sure why goroutine is used here

go d.routedDispatch(ctx, outbound, destination)

this goroutine concurrent map read and map write.

  1. nonuse goroutine
  2. add mutex to protect WeightManager.cache

I prefer the first solution, but the logic here is very complicated, I didn't dig deeper, I'm not sure if here can not use goroutine, I hope it can help you.

@4-FLOSS-Free-Libre-Open-Source-Software
Copy link
Contributor Author

I tried the unstable release V2Ray 5.7.0 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.20.4 linux/amd64) and it is still crashing multiple times every day with this error.

@bytejedi
Copy link

bytejedi commented Jun 12, 2023

@4-FLOSS-Free-Libre-Open-Source-Software @xiaokangwang @AkinoKaede I've done some investigating. I'm not sure why goroutine is used here

go d.routedDispatch(ctx, outbound, destination)

this goroutine concurrent map read and map write.

  1. nonuse goroutine
  2. add mutex to protect WeightManager.cache

I prefer the first solution, but the logic here is very complicated, I didn't dig deeper, I'm not sure if here can not use goroutine, I hope it can help you.

@4-FLOSS-Free-Libre-Open-Source-Software You can try modify go d.routedDispatch(ctx, outbound, destination) => d.routedDispatch(ctx, outbound, destination)
rebuild it

4-FLOSS-Free-Libre-Open-Source-Software added a commit to 4-FLOSS-Free-Libre-Open-Source-Software/v2ray-core that referenced this issue Jun 15, 2023
@4-FLOSS-Free-Libre-Open-Source-Software
Copy link
Contributor Author

@4-FLOSS-Free-Libre-Open-Source-Software You can try modify go d.routedDispatch(ctx, outbound, destination) => d.routedDispatch(ctx, outbound, destination) rebuild it

I tried that. But then unfortunately, DNS reproducible stops working with same config but works with release v5.7.1.

@AkinoKaede
Copy link
Contributor

cc @xiaokangwang

@AkinoKaede AkinoKaede added bug Something isn't working and removed need more labels Jul 29, 2023
@KujouRinka
Copy link
Contributor

KujouRinka commented Aug 8, 2023

@4-FLOSS-Free-Libre-Open-Source-Software You can try modify go d.routedDispatch(ctx, outbound, destination) => d.routedDispatch(ctx, outbound, destination) rebuild it

I tried that. But then unfortunately, DNS reproducible stops working with same config but works with release v5.7.1.

I guess the reason for this is a certain function in upper function stack calls d.routedDispatch() in a new goroutine so removing the go here cannot fix the race condition, though the function to be found yet.

I tried to reproduce that showd above by constructing a config file, but I failed. But I think the bug might be fixed by adding a lock to the data structure v2ray/app/router/weight.go:WeightManager to protect cache field, specifically:

diff --git a/app/router/weight.go b/app/router/weight.go
index ec7711b9..8d217241 100644
--- a/app/router/weight.go
+++ b/app/router/weight.go
 
 type weightScaler func(value, weight float64) float64
@@ -26,16 +27,19 @@ type WeightManager struct {
        ...
+       mu            sync.Mutex
 }
 
 // Get gets the weight of specified tag
 func (s *WeightManager) Get(tag string) float64 {
+       s.mu.Lock()
        weight, ok := s.cache[tag]
        ...
        s.cache[tag] = weight
+       s.mu.Unlock()
        return weight
 }

You could give it a try :)

@bytejedi
Copy link

bytejedi commented Aug 15, 2023

@KujouRinka yes. The d.routedDispatch() is not thread safe. But if no goroutine here mutex will no need, or maybe just add a comment not thread safe. The key is why goroutine is used here? does here can not use goroutine?

@AkinoKaede
Copy link
Contributor

Using goroutine is necessary. I think we can fix it by add mutex.

@AkinoKaede
Copy link
Contributor

@KujouRinka Could you please submit a Pull Request?

@KujouRinka
Copy link
Contributor

@AkinoKaede Sure! see #2678.

Copy link
Contributor

github-actions bot commented Feb 7, 2024

This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 5 days

@github-actions github-actions bot added the Stale label Feb 7, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Feb 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Stale
Projects
None yet
Development

No branches or pull requests

4 participants