panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x6db3eb9bb4]
goroutine 71 [running]:
github.com/sagernet/sing-box/protocol/group.(*Selector).DialContext(0x4000c9f420, {0x6db54e1f48, 0x40007801c0}, {0x6db30ab130?, 0x400008fec8?}, {{{0x0, 0xffff01010101}, {0x400000e288}}, 0x1bb, {0x0, ...}})
github.com/sagernet/sing-box/protocol/group/selector.go:144 +0x64
github.com/sagernet/sing-box/common/dialer.(*DetourDialer).DialContext(0x0?, {0x6db54e1f48, 0x40007801c0}, {0x6db30ab130, 0x3}, {{{0x0, 0xffff01010101}, {0x400000e288}}, 0x1bb, {0x0, ...}})
github.com/sagernet/sing-box/common/dialer/detour.go:71 +0x80
github.com/sagernet/sing-box/common/tls.(*defaultDialer).dialContext(0x40004d87c0, {0x6db54e1f48, 0x40007801c0}, {{{0x0, 0xffff01010101}, {0x400000e288}}, 0x1bb, {0x0, 0x0}}, 0x1)
github.com/sagernet/sing-box/common/tls/client.go:118 +0x70
github.com/sagernet/sing-box/common/tls.(*defaultDialer).DialTLSContext(0x40004d87c0?, {0x6db54e1f48?, 0x40007801c0?}, {{{0x0, 0xffff01010101}, {0x400000e288}}, 0x1bb, {0x0, 0x0}})
github.com/sagernet/sing-box/common/tls/client.go:114 +0x3c
github.com/sagernet/sing-box/dns/transport.NewHTTPS.NewHTTPSRaw.NewHTTPSTransportWrapper.func1({0x6db54e1f48?, 0x40007801c0?}, {0x0?, 0x6e945ab900?}, {0x10000000000032?, 0x1092003aa8?}, 0x4000075588?)
github.com/sagernet/sing-box/dns/transport/https_transport.go:30 +0x58
golang.org/x/net/http2.(*Transport).dialTLS(0x4000c11900?, {0x6db54e1f48?, 0x40007801c0?}, {0x6db30ab130?, 0x40004e8c80?}, {0x4000c825f0?, 0x4000c90960?}, 0x5?)
golang.org/x/net@v0.50.0/http2/transport.go:755 +0x1b0
golang.org/x/net/http2.(*Transport).dialClientConn(0x4000c11900, {0x6db54e1f48, 0x40007801c0}, {0x4000c825f0, 0xb}, 0x0)
golang.org/x/net@v0.50.0/http2/transport.go:732 +0x8c
golang.org/x/net/http2.(*dialCall).dial(0x400023a080, {0x6db54e1f48?, 0x40007801c0?}, {0x4000c825f0, 0xb})
golang.org/x/net@v0.50.0/http2/client_conn_pool.go:141 +0x3c
created by golang.org/x/net/http2.(*clientConnPool).getStartDialLocked in goroutine 70
golang.org/x/net@v0.50.0/http2/client_conn_pool.go:134 +0x198
goroutine 17 [syscall, locked to thread]:
runtime.goexit({})
runtime/asm_arm64.s:1268 +0x4
goroutine 18 [syscall, locked to thread]:
runtime.goexit({})
runtime/asm_arm64.s:1268 +0x4
goroutine 19 [syscall]:
os/signal.signal_recv()
runtime/sigqueue.go:152 +0x30
os/signal.loop()
os/signal/signal_unix.go:23 +0x1c
created by os/signal.Notify.func1.1 in goroutine 1
os/signal/signal.go:152 +0x28
goroutine 35 [syscall, locked to thread]:
runtime.goexit({})
runtime/asm_arm64.s:1268 +0x4
goroutine 102 [select]:
github.com/sagernet/wireguard-go/ratelimiter.(*Ratelimiter).Init.func1()
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/ratelimiter/ratelimiter.go:68 +0x88
created by github.com/sagernet/wireguard-go/ratelimiter.(*Ratelimiter).Init in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/ratelimiter/ratelimiter.go:64 +0x138
goroutine 51 [select]:
github.com/sagernet/sing/common/observable.(*Observer[...]).process(0x6db5500fc0)
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:35 +0x84
created by github.com/sagernet/sing/common/observable.NewObserver[...] in goroutine 84
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:27 +0xe0
goroutine 87 [select]:
github.com/sagernet/sing/common/observable.(*Observer[...]).process(0x6db5500e40)
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:35 +0x80
created by github.com/sagernet/sing/common/observable.NewObserver[...] in goroutine 84
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:27 +0xe0
goroutine 55 [select]:
github.com/sagernet/sing/common/observable.(*Observer[...]).process(0x6db5501200)
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:35 +0x88
created by github.com/sagernet/sing/common/observable.NewObserver[...] in goroutine 84
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:27 +0xe0
goroutine 89 [select]:
github.com/sagernet/sing/common/observable.(*Observer[...]).process(0x6db5500d80)
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:35 +0x9c
created by github.com/sagernet/sing/common/observable.NewObserver[...] in goroutine 84
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:27 +0xe0
goroutine 86 [select]:
github.com/sagernet/sing/common/observable.(*Observer[...]).process(0x6db5500f00)
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:35 +0x84
created by github.com/sagernet/sing/common/observable.NewObserver[...] in goroutine 84
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:27 +0xe0
goroutine 88 [select]:
github.com/sagernet/sing/common/observable.(*Observer[...]).process(0x6db5500e40)
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:35 +0x80
created by github.com/sagernet/sing/common/observable.NewObserver[...] in goroutine 84
github.com/sagernet/sing@v0.8.2/common/observable/observer.go:27 +0xe0
goroutine 70 [chan receive]:
golang.org/x/net/http2.(*clientConnPool).getClientConn(0x40004d0930, 0x4000c98b40, {0x4000c825f0, 0xb}, 0x1)
golang.org/x/net@v0.50.0/http2/client_conn_pool.go:97 +0x204
golang.org/x/net/http2.(*clientConnPool).GetClientConn(0x4000c909f0?, 0x5?, {0x4000c825f0?, 0x7?})
golang.org/x/net@v0.50.0/http2/client_conn_pool.go:55 +0x24
golang.org/x/net/http2.(*Transport).RoundTripOpt(0x4000c11900, 0x4000c98b40, {0x40?, 0x80?})
golang.org/x/net@v0.50.0/http2/transport.go:603 +0x194
golang.org/x/net/http2.(*Transport).RoundTrip(...)
golang.org/x/net@v0.50.0/http2/transport.go:561
github.com/sagernet/sing-box/dns/transport.(*HTTPSTransportWrapper).RoundTrip(0x4000c327c8, 0x4000c98b40)
github.com/sagernet/sing-box/dns/transport/https_transport.go:56 +0x54
github.com/sagernet/sing-box/dns/transport.(*HTTPSTransport).exchange(0x40001c2c00, {0x6db54e1f48, 0x40007801c0}, 0x0?)
github.com/sagernet/sing-box/dns/transport/https.go:195 +0x410
github.com/sagernet/sing-box/dns/transport.(*HTTPSTransport).Exchange(0x40001c2c00, {0x6db54e1f48, 0x40007801c0}, 0x400024c120)
github.com/sagernet/sing-box/dns/transport/https.go:157 +0x60
github.com/sagernet/sing-box/dns.(*Client).Exchange(0x4000c9f340, {0x6db54e1ea0, 0x40004d05a0}, {0x6db54ed6e0, 0x40001c2c00}, 0x400024c120, {{0x6db54ed6e0, 0x40001c2c00}, 0x3, 0x0, ...}, ...)
github.com/sagernet/sing-box/dns/client.go:194 +0x870
github.com/sagernet/sing-box/dns.(*Client).lookupToExchange(0x4000c9f340, {0x6db54e1ea0, 0x40004d05a0}, {0x6db54ed6e0, 0x40001c2c00}, {0x4000b86060, 0x1b}, 0x1, {{0x6db54ed6e0, 0x40001c2c00}, ...}, ...)
github.com/sagernet/sing-box/dns/client.go:418 +0x1b8
github.com/sagernet/sing-box/dns.(*Client).Lookup(0x4000c9f340, {0x6db54e1ea0, 0x40004d05a0}, {0x6db54ed6e0, 0x40001c2c00}, {0x4000b86040, 0x1a}, {{0x6db54ed6e0, 0x40001c2c00}, 0x3, ...}, ...)
github.com/sagernet/sing-box/dns/client.go:328 +0x630
github.com/sagernet/sing-box/dns.(*Router).Lookup(0x400040c000, {0x6db54e1ea0, 0x40004d05a0}, {0x4000b86040, 0x1a}, {{0x6db54ed6e0, 0x40001c2c00}, 0x3, 0x0, 0x0, ...})
github.com/sagernet/sing-box/dns/router.go:357 +0x9e8
github.com/sagernet/sing-box/common/dialer.(*resolveDialer).DialContext(0x4000188580, {0x6db54e1ed8, 0x40004e8c80}, {0x6db30ab130, 0x3}, {{{0x0, 0x0}, {0x0}}, 0x1bb, {0x4000b86040, ...}})
github.com/sagernet/sing-box/common/dialer/resolve.go:103 +0x158
github.com/sagernet/sing-box/protocol/tailscale.NewEndpoint.func4({0x6db54e1ed8, 0x40004e8c80}, {0x6db30ab130, 0x3}, {0x4000b86040?, 0x4000060c08?})
github.com/sagernet/sing-box/protocol/tailscale/endpoint.go:227 +0xa4
net/http.(*Transport).dial(0x0?, {0x6db54e1ed8?, 0x40004e8c80?}, {0x6db30ab130?, 0x0?}, {0x4000b86040?, 0x0?})
net/http/transport.go:1278 +0xd8
net/http.(*Transport).dialConn(0x40003221a0, {0x6db54e1ed8, 0x40004e8c80}, {{}, 0x0, {0x4000c90960, 0x5}, {0x4000b86040, 0x1e}, 0x0})
net/http/transport.go:1783 +0x5c0
net/http.(*Transport).dialConnFor(0x40003221a0, 0x4000782000)
net/http/transport.go:1618 +0x84
net/http.(*Transport).startDialConnForLocked.func1()
net/http/transport.go:1600 +0x30
created by net/http.(*Transport).startDialConnForLocked in goroutine 170
net/http/transport.go:1599 +0x104
goroutine 84 [runnable, locked to thread]:
sync.(*RWMutex).Lock(0x4000018708?)
sync/rwmutex.go:144 +0x10c
github.com/sagernet/sing/contrab/freelru.(*ShardedLRU[...]).SetLifetime(0x6db5515c20, 0x45d964b800)
github.com/sagernet/sing@v0.8.2/contrab/freelru/shardedlru.go:29 +0x84
github.com/sagernet/sing-tun.NewDirectRouteMapping(0x45d964b800)
github.com/sagernet/sing-tun@v0.8.2/route_direct.go:44 +0xd0
github.com/sagernet/sing-tun.NewICMPForwarder(...)
github.com/sagernet/sing-tun@v0.8.2/stack_gvisor_icmp.go:44
github.com/sagernet/sing-box/protocol/tailscale.(*Endpoint).Start(0x4000217340, 0x40?)
github.com/sagernet/sing-box/protocol/tailscale/endpoint.go:356 +0x3bc
github.com/sagernet/sing-box/adapter/outbound.(*Manager).startOutbounds(0x4000c11860, {0x40002b8200, 0xc, 0x6db5322fe0?})
github.com/sagernet/sing-box/adapter/outbound/manager.go:123 +0x3e4
github.com/sagernet/sing-box/adapter/outbound.(*Manager).Start(0x4000c11860, 0x1)
github.com/sagernet/sing-box/adapter/outbound/manager.go:81 +0x8c8
github.com/sagernet/sing-box/adapter.Start({0x6db54fc0c8, 0x4000c332f0}, 0x1, {0x4000161a18?, 0x4000161c98?, 0x6db4699888?})
github.com/sagernet/sing-box/adapter/lifecycle.go:82 +0x16c
github.com/sagernet/sing-box.(*Box).preStart(0x40003b6f00)
github.com/sagernet/sing-box/box.go:457 +0x388
github.com/sagernet/sing-box.(*Box).start(0x40003b6f00)
github.com/sagernet/sing-box/box.go:465 +0x28
github.com/sagernet/sing-box.(*Box).Start(0x40003b6f00)
github.com/sagernet/sing-box/box.go:423 +0x30
github.com/sagernet/sing-box/daemon.(*Instance).Start(...)
github.com/sagernet/sing-box/daemon/instance.go:125
github.com/sagernet/sing-box/daemon.(*StartedService).StartOrReloadService(0x400012a480, {0x4000334000, 0x191a}, 0x400027bd70)
github.com/sagernet/sing-box/daemon/started_service.go:196 +0x254
github.com/sagernet/sing-box/experimental/libbox.(*CommandServer).StartOrReloadService(0x40004e9090, {0x4000334000, 0x191a}, 0x40002046c0)
github.com/sagernet/sing-box/experimental/libbox/command_server.go:173 +0xfc
main.proxylibbox_CommandServer_StartOrReloadService(0xb0000?, {0xb40000708d254a40, 0x191a, {0x0, 0x0, 0x0, 0x0}}, 0xffffffd9)
github.com/sagernet/sing-box/build/arm64/libbox/go_libboxmain.go:462 +0x88
goroutine 90 [IO wait]:
internal/poll.runtime_pollWait(0x718e822e00, 0x72)
runtime/netpoll.go:351 +0xa0
internal/poll.(*pollDesc).wait(0x40001ae480?, 0x6db35bfb84?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x28
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0x40001ae480)
internal/poll/fd_unix.go:613 +0x21c
net.(*netFD).accept(0x40001ae480)
net/fd_unix.go:161 +0x28
net.(*UnixListener).accept(0x1?)
net/unixsock_posix.go:172 +0x20
net.(*UnixListener).Accept(0x4000204540)
net/unixsock.go:260 +0x2c
google.golang.org/grpc.(*Server).Serve(0x400026a248, {0x6db54dda98, 0x4000204540})
google.golang.org/grpc@v1.79.1/server.go:917 +0x3e4
created by github.com/sagernet/sing-box/experimental/libbox.(*CommandServer).Start in goroutine 84
github.com/sagernet/sing-box/experimental/libbox/command_server.go:154 +0x370
goroutine 96 [select]:
github.com/sagernet/tailscale/util/eventbus.(*Bus).pump(0x4000bbeea0, {0x6db54e1ed8, 0x4000bc02d0})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:189 +0x258
github.com/sagernet/tailscale/util/eventbus.(*worker).run(0x6db3de6de0?, 0x400025c150?)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:282 +0x54
created by github.com/sagernet/tailscale/util/eventbus.runWorker in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:276 +0xec
goroutine 97 [chan receive]:
github.com/sagernet/tailscale/health.(*Tracker).awaitEventClientDone(0x400014c008, 0x70695341316d6454?)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/health/health.go:160 +0x3c
github.com/sagernet/tailscale/util/eventbus.(*Client).Monitor.func1()
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/monitor.go:52 +0x54
created by github.com/sagernet/tailscale/util/eventbus.(*Client).Monitor in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/monitor.go:52 +0x8c
goroutine 16 [select]:
github.com/sagernet/tailscale/util/eventbus.(*subscribeState).pump(0x40004871d0, {0x6db54e1ed8, 0x4000487220})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/subscribe.go:102 +0x21c
github.com/sagernet/tailscale/util/eventbus.(*worker).run(0x4a58645442534c0a?, 0x49494d7841536231?)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:282 +0x54
created by github.com/sagernet/tailscale/util/eventbus.runWorker in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:276 +0xec
goroutine 15 [select]:
github.com/sagernet/tailscale/util/eventbus.(*subscribeState).pump(0x40004870e0, {0x6db54e1ed8, 0x4000487130})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/subscribe.go:102 +0x21c
github.com/sagernet/tailscale/util/eventbus.(*worker).run(0x400025d7a0?, 0x4000327fb0?)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:282 +0x54
created by github.com/sagernet/tailscale/util/eventbus.runWorker in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:276 +0xec
goroutine 100 [chan receive]:
github.com/sagernet/tailscale/net/tstun.(*fakeTUN).Read(0x6db54ddc90?, {0x40001b8690?, 0x4000326688?, 0x6db432479c?}, {0x400025d9d0?, 0x0?, 0x353726f614b4100?}, 0x392f6f6d3254414f?)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/tstun/fake.go:37 +0x24
github.com/sagernet/tailscale/net/tstun.(*Wrapper).pollVector(0x4000312000)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/tstun/wrap.go:476 +0x1b4
created by github.com/sagernet/tailscale/net/tstun.wrap in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/tstun/wrap.go:303 +0x3b4
goroutine 101 [select]:
github.com/sagernet/tailscale/net/tstun.(*Wrapper).pumpEvents(0x4000312000)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/tstun/wrap.go:399 +0xbc
created by github.com/sagernet/tailscale/net/tstun.wrap in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/tstun/wrap.go:305 +0x3f4
goroutine 103 [sync.WaitGroup.Wait]:
sync.runtime_SemacquireWaitGroup(0x40002b6c00?, 0xc0?)
runtime/sema.go:114 +0x38
sync.(*WaitGroup).Wait(0x4000305e98)
sync/waitgroup.go:206 +0xa8
github.com/sagernet/wireguard-go/device.newHandshakeQueue.func1()
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/channels.go:68 +0x2c
created by github.com/sagernet/wireguard-go/device.newHandshakeQueue in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/channels.go:67 +0xac
goroutine 104 [sync.WaitGroup.Wait]:
sync.runtime_SemacquireWaitGroup(0x0?, 0x0?)
runtime/sema.go:114 +0x38
sync.(*WaitGroup).Wait(0x4000305eb0)
sync/waitgroup.go:206 +0xa8
github.com/sagernet/wireguard-go/device.newOutboundQueue.func1()
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/channels.go:32 +0x2c
created by github.com/sagernet/wireguard-go/device.newOutboundQueue in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/channels.go:31 +0xac
goroutine 105 [sync.WaitGroup.Wait]:
sync.runtime_SemacquireWaitGroup(0x1000000010000?, 0x27?)
runtime/sema.go:114 +0x38
sync.(*WaitGroup).Wait(0x4000305ec8)
sync/waitgroup.go:206 +0xa8
github.com/sagernet/wireguard-go/device.newInboundQueue.func1()
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/channels.go:50 +0x2c
created by github.com/sagernet/wireguard-go/device.newInboundQueue in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/channels.go:49 +0xac
goroutine 106 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineEncryption(0x4000240008, 0x1)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/send.go:477 +0x11c
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:322 +0x328
goroutine 107 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineDecryption(0x4000240008, 0x1)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:244 +0x114
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:323 +0x370
goroutine 108 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineHandshake(0x4000240008, 0x1)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:278 +0x104
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:324 +0x2c4
goroutine 109 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineEncryption(0x4000240008, 0x2)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/send.go:477 +0x11c
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:322 +0x328
goroutine 110 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineDecryption(0x4000240008, 0x2)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:244 +0x114
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:323 +0x370
goroutine 111 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineHandshake(0x4000240008, 0x2)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:278 +0x104
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:324 +0x2c4
goroutine 112 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineEncryption(0x4000240008, 0x3)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/send.go:477 +0x11c
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:322 +0x328
goroutine 113 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineDecryption(0x4000240008, 0x3)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:244 +0x114
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:323 +0x370
goroutine 114 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineHandshake(0x4000240008, 0x3)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:278 +0x104
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:324 +0x2c4
goroutine 115 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineEncryption(0x4000240008, 0x4)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/send.go:477 +0x11c
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:322 +0x328
goroutine 116 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineDecryption(0x4000240008, 0x4)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:244 +0x114
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:323 +0x370
goroutine 117 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineHandshake(0x4000240008, 0x4)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:278 +0x104
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:324 +0x2c4
goroutine 118 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineEncryption(0x4000240008, 0x5)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/send.go:477 +0x11c
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:322 +0x328
goroutine 119 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineDecryption(0x4000240008, 0x5)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:244 +0x114
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:323 +0x370
goroutine 120 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineHandshake(0x4000240008, 0x5)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:278 +0x104
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:324 +0x2c4
goroutine 121 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineEncryption(0x4000240008, 0x6)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/send.go:477 +0x11c
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:322 +0x328
goroutine 122 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineDecryption(0x4000240008, 0x6)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:244 +0x114
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:323 +0x370
goroutine 123 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineHandshake(0x4000240008, 0x6)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:278 +0x104
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:324 +0x2c4
goroutine 124 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineEncryption(0x4000240008, 0x7)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/send.go:477 +0x11c
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:322 +0x328
goroutine 125 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineDecryption(0x4000240008, 0x7)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:244 +0x114
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:323 +0x370
goroutine 126 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineHandshake(0x4000240008, 0x7)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:278 +0x104
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:324 +0x2c4
goroutine 127 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineEncryption(0x4000240008, 0x8)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/send.go:477 +0x11c
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:322 +0x328
goroutine 128 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineDecryption(0x4000240008, 0x8)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:244 +0x114
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:323 +0x370
goroutine 129 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineHandshake(0x4000240008, 0x8)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:278 +0x104
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:324 +0x2c4
goroutine 130 [chan receive]:
github.com/sagernet/tailscale/net/tstun.(*Wrapper).Read(0x4000312000, {0x4000ba2f30, 0x1, 0x1}, {0x4000b89518, 0x1, 0x1}, 0x18)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/tstun/wrap.go:944 +0x8c
github.com/sagernet/wireguard-go/device.(*Device).RoutineReadFromTUN(0x4000240008)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/send.go:249 +0x258
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:329 +0x410
goroutine 131 [chan receive]:
github.com/sagernet/wireguard-go/device.(*Device).RoutineTUNEventReader(0x4000240008)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/tun.go:19 +0x70
created by github.com/sagernet/wireguard-go/device.NewDevice in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:330 +0x450
goroutine 132 [chan receive]:
github.com/sagernet/tailscale/wgengine.NewUserspaceEngine.func5()
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/userspace.go:495 +0x48
created by github.com/sagernet/tailscale/wgengine.NewUserspaceEngine in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/userspace.go:493 +0x10f4
goroutine 133 [select]:
github.com/sagernet/tailscale/wgengine.NewUserspaceEngine.func6()
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/userspace.go:510 +0x5c
created by github.com/sagernet/tailscale/wgengine.NewUserspaceEngine in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/userspace.go:509 +0x1134
goroutine 134 [IO wait]:
internal/poll.runtime_pollWait(0x718e822800, 0x72)
runtime/netpoll.go:351 +0xa0
internal/poll.(*pollDesc).wait(0x40001ae880?, 0x4000248000?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x28
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).ReadFromInet4(0x40001ae880, {0x4000248000, 0x898, 0x898}, 0x400008e8f8)
internal/poll/fd_unix.go:241 +0x1cc
net.(*netFD).readFromInet4(0x40001ae880, {0x4000248000?, 0x400008e8e8?, 0x6db35561dc?}, 0x400008e8e8?)
net/fd_posix.go:79 +0x28
net.(*UDPConn).readFromAddrPort(0x6db54636d8?, {0x4000248000?, 0x400008e9a8?, 0x6db35ba0dc?})
net/udpsock_posix.go:78 +0x140
net.(*UDPConn).ReadFromUDPAddrPort(0x40002a20c8, {0x4000248000?, 0x18?, 0x6db51cc520?})
net/udpsock.go:172 +0x2c
github.com/sagernet/tailscale/wgengine/magicsock.(*RebindingUDPConn).readFromWithInitPconn(0x40000fe520, {0x6db54ee6f0?, 0x40002a20c8?}, {0x4000248000, 0x898, 0x898})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/magicsock/rebinding_conn.go:61 +0x6c
github.com/sagernet/tailscale/wgengine/magicsock.(*RebindingUDPConn).ReadBatch(0x40000fe520, {0x4000c8ef00, 0x1, 0x1}, 0x0)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/magicsock/rebinding_conn.go:126 +0x110
github.com/sagernet/tailscale/wgengine/magicsock.(*Conn).receiveIPv4.(*Conn).mkReceiveFunc.func1({0x4000c86ab0?, 0x1, 0x1?}, {0x4000c82598, 0x1, 0x0?}, {0x40002a8080, 0x1, 0x0?})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/magicsock/magicsock.go:1751 +0x1a0
github.com/sagernet/wireguard-go/device.(*Device).RoutineReceiveIncoming(0x4000240008, 0x1, 0x4000487270)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:110 +0x2d4
created by github.com/sagernet/wireguard-go/device.(*Device).BindUpdate in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:531 +0x2d4
goroutine 135 [IO wait]:
internal/poll.runtime_pollWait(0x718e822a00, 0x72)
runtime/netpoll.go:351 +0xa0
internal/poll.(*pollDesc).wait(0x40001ae800?, 0x40001be000?, 0x0)
internal/poll/fd_poll_runtime.go:84 +0x28
internal/poll.(*pollDesc).waitRead(...)
internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).ReadFromInet6(0x40001ae800, {0x40001be000, 0x898, 0x898}, 0x40000888c0)
internal/poll/fd_unix.go:268 +0x1cc
net.(*netFD).readFromInet6(0x40001ae800, {0x40001be000?, 0x4000577a40?, 0x400005e608?}, 0x40000888e8?)
net/fd_posix.go:85 +0x28
net.(*UDPConn).readFromAddrPort(0xffffffffffffffff?, {0x40001be000?, 0x40000889a8?, 0x6db35ba04c?})
net/udpsock_posix.go:85 +0x74
net.(*UDPConn).ReadFromUDPAddrPort(0x40002a20a8, {0x40001be000?, 0x18?, 0x6ecec56200?})
net/udpsock.go:172 +0x2c
github.com/sagernet/tailscale/wgengine/magicsock.(*RebindingUDPConn).readFromWithInitPconn(0x40000fe548, {0x6db54ee6f0?, 0x40002a20a8?}, {0x40001be000, 0x898, 0x898})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/magicsock/rebinding_conn.go:61 +0x6c
github.com/sagernet/tailscale/wgengine/magicsock.(*RebindingUDPConn).ReadBatch(0x40000fe548, {0x40002902a0, 0x1, 0x1}, 0x0)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/magicsock/rebinding_conn.go:126 +0x110
github.com/sagernet/tailscale/wgengine/magicsock.(*Conn).receiveIPv6.(*Conn).mkReceiveFunc.func1({0x4000c33410?, 0x1, 0x1?}, {0x400029bc98, 0x1, 0x0?}, {0x4000c31760, 0x1, 0x0?})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/magicsock/magicsock.go:1751 +0x1a0
github.com/sagernet/wireguard-go/device.(*Device).RoutineReceiveIncoming(0x4000240008, 0x1, 0x40004872c0)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:110 +0x2d4
created by github.com/sagernet/wireguard-go/device.(*Device).BindUpdate in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:531 +0x2d4
goroutine 136 [chan receive]:
github.com/sagernet/tailscale/wgengine/magicsock.(*connBind).receiveDERP(0x4000305a58, {0x40004e44f8, 0x1, 0x0?}, {0x400046c038, 0x1, 0x40004ef500?}, {0x4000308090, 0x1, 0x40004ef560?})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/magicsock/derp.go:670 +0x100
github.com/sagernet/wireguard-go/device.(*Device).RoutineReceiveIncoming(0x4000240008, 0x1, 0x4000c8d530)
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/receive.go:110 +0x2d4
created by github.com/sagernet/wireguard-go/device.(*Device).BindUpdate in goroutine 84
github.com/sagernet/wireguard-go@v0.0.2-beta.1.0.20260224074747-506b7631853c/device/device.go:531 +0x2d4
goroutine 137 [select]:
github.com/sagernet/tailscale/net/netmon.(*pollingMon).Receive(0x400038dd40)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/netmon/polling.go:79 +0x94
github.com/sagernet/tailscale/net/netmon.(*Monitor).pump(0x4000162000)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/netmon/netmon.go:333 +0x70
created by github.com/sagernet/tailscale/net/netmon.(*Monitor).Start in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/netmon/netmon.go:252 +0x128
goroutine 138 [select]:
github.com/sagernet/tailscale/net/netmon.(*Monitor).debounce(0x4000162000)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/netmon/netmon.go:367 +0x88
created by github.com/sagernet/tailscale/net/netmon.(*Monitor).Start in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/net/netmon/netmon.go:253 +0x168
goroutine 139 [select]:
github.com/sagernet/tailscale/util/eventbus.(*subscribeState).pump(0x4000487310, {0x6db54e1ed8, 0x4000487360})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/subscribe.go:102 +0x21c
github.com/sagernet/tailscale/util/eventbus.(*worker).run(0x0?, 0x0?)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:282 +0x54
created by github.com/sagernet/tailscale/util/eventbus.runWorker in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:276 +0xec
goroutine 140 [select]:
github.com/sagernet/gvisor/pkg/sync.Gopark(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sync/runtime_unsafe.go:34
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).nextWaker(0x40002d4020, 0x1, 0x0?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:208 +0x74
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).fetch(0x40002d4020, 0x1, 0x0)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:255 +0x2c
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).Fetch(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:278
github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*processor).start(0x40002d4008, 0x0?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:291 +0x98
created by github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*dispatcher).startLocked in goroutine 84
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:406 +0x48
goroutine 141 [select]:
github.com/sagernet/gvisor/pkg/sync.Gopark(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sync/runtime_unsafe.go:34
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).nextWaker(0x40002d40b0, 0x1, 0x0?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:208 +0x74
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).fetch(0x40002d40b0, 0x1, 0x0)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:255 +0x2c
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).Fetch(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:278
github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*processor).start(0x40002d4098, 0x0?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:291 +0x98
created by github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*dispatcher).startLocked in goroutine 84
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:406 +0x48
goroutine 142 [select]:
github.com/sagernet/gvisor/pkg/sync.Gopark(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sync/runtime_unsafe.go:34
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).nextWaker(0x40002d4140, 0x1, 0x0?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:208 +0x74
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).fetch(0x40002d4140, 0x1, 0x0)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:255 +0x2c
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).Fetch(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:278
github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*processor).start(0x40002d4128, 0x0?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:291 +0x98
created by github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*dispatcher).startLocked in goroutine 84
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:406 +0x48
goroutine 143 [select]:
github.com/sagernet/gvisor/pkg/sync.Gopark(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sync/runtime_unsafe.go:34
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).nextWaker(0x40002d41d0, 0x1, 0x76?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:208 +0x74
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).fetch(0x40002d41d0, 0x1, 0x0)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:255 +0x2c
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).Fetch(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:278
github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*processor).start(0x40002d41b8, 0x2cb6fb3293843f14?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:291 +0x98
created by github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*dispatcher).startLocked in goroutine 84
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:406 +0x48
goroutine 144 [select]:
github.com/sagernet/gvisor/pkg/sync.Gopark(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sync/runtime_unsafe.go:34
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).nextWaker(0x40002d4260, 0x1, 0xdc?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:208 +0x74
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).fetch(0x40002d4260, 0x1, 0x0)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:255 +0x2c
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).Fetch(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:278
github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*processor).start(0x40002d4248, 0xc530843129cc1530?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:291 +0x98
created by github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*dispatcher).startLocked in goroutine 84
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:406 +0x48
goroutine 145 [select]:
github.com/sagernet/gvisor/pkg/sync.Gopark(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sync/runtime_unsafe.go:34
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).nextWaker(0x40002d42f0, 0x1, 0x0?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:208 +0x74
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).fetch(0x40002d42f0, 0x1, 0x0)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:255 +0x2c
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).Fetch(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:278
github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*processor).start(0x40002d42d8, 0xcd1209b57d0f9874?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:291 +0x98
created by github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*dispatcher).startLocked in goroutine 84
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:406 +0x48
goroutine 146 [select]:
github.com/sagernet/gvisor/pkg/sync.Gopark(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sync/runtime_unsafe.go:34
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).nextWaker(0x40002d4380, 0x1, 0x79?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:208 +0x74
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).fetch(0x40002d4380, 0x1, 0x0)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:255 +0x2c
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).Fetch(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:278
github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*processor).start(0x40002d4368, 0x1b80c2e54b7b2502?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:291 +0x98
created by github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*dispatcher).startLocked in goroutine 84
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:406 +0x48
goroutine 147 [select]:
github.com/sagernet/gvisor/pkg/sync.Gopark(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sync/runtime_unsafe.go:34
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).nextWaker(0x40002d4410, 0x1, 0x0?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:208 +0x74
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).fetch(0x40002d4410, 0x1, 0x0)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:255 +0x2c
github.com/sagernet/gvisor/pkg/sleep.(*Sleeper).Fetch(...)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/sleep/sleep_unsafe.go:278
github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*processor).start(0x40002d43f8, 0x0?)
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:291 +0x98
created by github.com/sagernet/gvisor/pkg/tcpip/transport/tcp.(*dispatcher).startLocked in goroutine 84
github.com/sagernet/gvisor@v0.0.0-20250811.0-sing-box-mod.1/pkg/tcpip/transport/tcp/dispatcher.go:406 +0x48
goroutine 148 [select]:
github.com/sagernet/tailscale/util/eventbus.(*subscribeState).pump(0x40004874f0, {0x6db54e1ed8, 0x4000487540})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/subscribe.go:102 +0x21c
github.com/sagernet/tailscale/util/eventbus.(*worker).run(0x0?, 0x0?)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:282 +0x54
created by github.com/sagernet/tailscale/util/eventbus.runWorker in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:276 +0xec
goroutine 149 [select]:
github.com/sagernet/tailscale/util/eventbus.(*subscribeState).pump(0x4000487680, {0x6db54e1ed8, 0x40004876d0})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/subscribe.go:102 +0x21c
github.com/sagernet/tailscale/util/eventbus.(*worker).run(0x0?, 0x0?)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:282 +0x54
created by github.com/sagernet/tailscale/util/eventbus.runWorker in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:276 +0xec
goroutine 184 [runnable]:
github.com/sagernet/tailscale/tsnet.(*Server).start.func6()
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/tsnet/tsnet.go:754
created by github.com/sagernet/tailscale/tsnet.(*Server).start in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/tsnet/tsnet.go:754 +0x13cc
goroutine 167 [select]:
github.com/sagernet/tailscale/util/eventbus.(*subscribeState).pump(0x4000487720, {0x6db54e1ed8, 0x4000487770})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/subscribe.go:102 +0x21c
github.com/sagernet/tailscale/util/eventbus.(*worker).run(0x0?, 0x0?)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:282 +0x54
created by github.com/sagernet/tailscale/util/eventbus.runWorker in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/util/eventbus/bus.go:276 +0xec
goroutine 168 [select]:
github.com/sagernet/tailscale/wgengine/netstack.(*queue).ReadContext(...)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/netstack/link_endpoint.go:54
github.com/sagernet/tailscale/wgengine/netstack.(*linkEndpoint).ReadContext(0x40004a3180?, {0x6db54e1ed8?, 0x4000487400?})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/netstack/link_endpoint.go:175 +0x70
github.com/sagernet/tailscale/wgengine/netstack.(*Impl).inject(0x40001d2000)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/netstack/netstack.go:982 +0x4c
created by github.com/sagernet/tailscale/wgengine/netstack.(*Impl).Start in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/wgengine/netstack/netstack.go:626 +0x334
goroutine 170 [select]:
net/http.(*Transport).getConn(0x40003221a0, 0x40004e8c30, {{}, 0x0, {0x4000c90960, 0x5}, {0x4000b86040, 0x1e}, 0x0})
net/http/transport.go:1523 +0x318
net/http.(*Transport).roundTrip(0x40003221a0, 0x4000c98a00)
net/http/transport.go:685 +0x794
net/http.(*Transport).RoundTrip(0x4000686f48?, 0x6db54c79e8?)
net/http/roundtrip.go:33 +0x20
net/http.send(0x4000c98a00, {0x6db54c79e8, 0x40003221a0}, {0x6db38290d8?, 0x8?, 0x0?})
net/http/client.go:259 +0x478
net/http.(*Client).send(0x4000303890, 0x4000c98a00, {0x28?, 0x7192003aa8?, 0x0?})
net/http/client.go:180 +0x88
net/http.(*Client).do(0x4000303890, 0x4000c98a00)
net/http/client.go:729 +0x710
net/http.(*Client).Do(...)
net/http/client.go:587
github.com/sagernet/tailscale/control/controlclient.loadServerPubKeys({0x6db54e1ed8, 0x4000c94aa0}, 0x4000303890, {0x6db30f0821?, 0x2?})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/control/controlclient/direct.go:1357 +0x11c
github.com/sagernet/tailscale/control/controlclient.(*Direct).doLogin(0x4000642008, {0x6db54e1ed8, 0x4000c94aa0}, {0x0, 0x0, {0x0, 0x0}, 0x0, 0x0, {0x0, ...}})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/control/controlclient/direct.go:575 +0x584
github.com/sagernet/tailscale/control/controlclient.(*Direct).doLoginOrRegen(0x4000642008, {0x6db54e1ed8, 0x4000c94aa0}, {0x0, 0x0, {0x0, 0x0}, 0x0, 0x0, {0x0, ...}})
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/control/controlclient/direct.go:477 +0x50
github.com/sagernet/tailscale/control/controlclient.(*Direct).TryLogin(0x4000642008, {0x6db54e1ed8, 0x4000c94aa0}, 0x0)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/control/controlclient/direct.go:465 +0x118
github.com/sagernet/tailscale/control/controlclient.(*Auto).authRoutine(0x40003e09a0)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/control/controlclient/auto.go:353 +0x384
created by github.com/sagernet/tailscale/control/controlclient.(*Auto).start in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/control/controlclient/auto.go:244 +0xec
goroutine 171 [chan receive]:
github.com/sagernet/tailscale/control/controlclient.(*Auto).mapRoutine(0x40003e09a0)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/control/controlclient/auto.go:517 +0x2dc
created by github.com/sagernet/tailscale/control/controlclient.(*Auto).start in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/control/controlclient/auto.go:245 +0x12c
goroutine 172 [select]:
github.com/sagernet/tailscale/control/controlclient.(*Auto).updateRoutine(0x40003e09a0)
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/control/controlclient/auto.go:76 +0x3e4
created by github.com/sagernet/tailscale/control/controlclient.(*Auto).start in goroutine 84
github.com/sagernet/tailscale@v1.92.4-sing-box-1.13-mod.6.0.20260303140313-3bcf9a4b9349/control/controlclient/auto.go:246 +0x16c
Operating system
Android
System version
Android 16 (One UI 8.0)
Installation type
sing-box for Android Graphical Client
If you are using a graphical client, please provide the version of the client.
1.13.2
Version
Description
When a
selectoroutbound is used as the detour for a Tailscale endpoint and DNS server,SFA crashes with nil pointer dereference in
Selector.DialContexton the second connection attempt.First connection works fine — Tailscale connects through the proxy, devices are visible.
Disconnect and reconnect causes crash.
Reproduction
{ "dns": { "servers": [ { "type": "https", "tag": "proxy-dns", "detour": "proxy", "server": "1.1.1.1" }, { "type": "tailscale", "tag": "ts-dns", "endpoint": "tailscale" } ], "rules": [ { "domain_suffix": [ "ts.net" ], "server": "ts-dns" } ], "strategy": "ipv4_only", "final": "proxy-dns" }, "inbounds": [ { "type": "tun", "tag": "tun-in", "address": [ "172.19.0.1/30" ], "auto_route": true, "route_address": [ "100.64.0.0/10" ], "route_exclude_address": [ "1.2.3.4/32" ] } ], "endpoints": [ { "type": "tailscale", "tag": "tailscale", "detour": "proxy", "state_directory": "tailscale", "auth_key": "tskey-auth-VALID_KEY", "hostname": "test", "accept_routes": true, "udp_timeout": "5m0s" } ], "outbounds": [ { "type": "selector", "tag": "proxy", "outbounds": [ "vless-out" ], "default": "vless-out" }, { "type": "vless", "tag": "vless-out", "server": "1.2.3.4", "server_port": 8443, "uuid": "valid-uuid", "flow": "xtls-rprx-vision", "tls": { "enabled": true, "server_name": "example.com", "utls": { "enabled": true, "fingerprint": "chrome" }, "reality": { "enabled": true, "public_key": "valid", "short_id": "valid" } } }, { "type": "direct", "tag": "direct" } ], "route": { "default_domain_resolver": "proxy-dns", "rules": [ { "action": "sniff" }, { "protocol": "dns", "action": "hijack-dns" }, { "ip_cidr": [ "1.2.3.4/32" ], "outbound": "direct" }, { "ip_cidr": [ "100.64.0.0/10" ], "outbound": "tailscale" } ], "final": "proxy" } }Steps:
Logs
Supporter
Integrity requirements