I'm seeing increased UDP connections and go routines on our latest Canary, which includes an outline-ss-server upgrade from v1.7.3.
Logs indicate some panics are happening in the packet handling loop when sending packets to the read channel. I'm guessing the association handler routines aren't getting cleaned up as a result.
Feb 24 21:59:50.818 ERR Panic in UDP loop. Continuing to listen. err="send on closed channel"
goroutine 4812 [running]:
runtime/debug.Stack()
/usr/lib/google-golang/src/runtime/debug/stack.go:26 +0x5e
runtime/debug.PrintStack()
/usr/lib/google-golang/src/runtime/debug/stack.go:18 +0x13
github.com/Jigsaw-Code/outline-ss-server/service.PacketServe.func1.1()
/usr/local/google/home/sbruens/go/pkg/mod/github.com/!jigsaw-!code/outline-ss-server@v1.9.2-0.20250218165321-888b9dcbdf1c/service/udp.go:279 +0x8f
panic({0x8a3400?, 0x9e7c70?})
/usr/lib/google-golang/src/runtime/panic.go:799 +0x132
github.com/Jigsaw-Code/outline-ss-server/service.PacketServe.func1(0xc000b34610, {0x9f1080, 0xc000775c20}, {0xc005c22000, 0xc000ff4fd0?, 0x10000}, 0xc002c5ff66, 0xc0006fac20, {0x9eb800, 0xc0000c1270}, ...)
/usr/local/google/home/sbruens/go/pkg/mod/github.com/!jigsaw-!code/outline-ss-server@v1.9.2-0.20250218165321-888b9dcbdf1c/service/udp.go:320 +0x3d6
github.com/Jigsaw-Code/outline-ss-server/service.PacketServe({0x9f1080, 0xc000775c20}, 0xc0006fab00, {0x9eb800, 0xc0000c1270})
/usr/local/google/home/sbruens/go/pkg/mod/github.com/!jigsaw-!code/outline-ss-server@v1.9.2-0.20250218165321-888b9dcbdf1c/service/udp.go:328 +0x1a5
created by main.(*OutlineServer).runConfig.func1.2 in goroutine 4806
/usr/local/google/home/sbruens/go/pkg/mod/github.com/!jigsaw-!code/outline-ss-server@v1.9.2-0.20250218165321-888b9dcbdf1c/cmd/outline-ss-server/main.go:335 +0x1b99
I'm seeing increased UDP connections and go routines on our latest Canary, which includes an outline-ss-server upgrade from v1.7.3.
Logs indicate some panics are happening in the packet handling loop when sending packets to the read channel. I'm guessing the association handler routines aren't getting cleaned up as a result.