-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
NewRawSocketRelayWithRelayConn create a goroutine to receive packets, but do not provide method to stop it.
If I call RawSocketRelay.Stop, then I got panic:
unexpected fault address 0x7f2771980008
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x1 addr=0x7f2771980008 pc=0x4cace4]
goroutine 19 [running, locked to thread]:
runtime.throw({0x5b971f?, 0x41a72d?})
/usr/local/go/src/runtime/panic.go:1047 +0x5d fp=0xc000065bd8 sp=0xc000065ba8 pc=0x437e7d
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:855 +0x28a fp=0xc000065c38 sp=0xc000065bd8 pc=0x44e24a
github.com/google/gopacket/afpacket.(*v3wrapper).getStatus(0xc000065c60?)
/root/go/pkg/mod/github.com/google/gopacket@v1.1.19/afpacket/header.go:161 +0x4 fp=0xc000065c40 sp=0xc000065c38 pc=0x4cace4
github.com/google/gopacket/afpacket.(*TPacket).pollForFirstPacket(0xc0001e4400, {0x605548, 0xc0001e44c0})
/root/go/pkg/mod/github.com/google/gopacket@v1.1.19/afpacket/afpacket.go:455 +0x62 fp=0xc000065c90 sp=0xc000065c40 pc=0x4ca5c2
github.com/google/gopacket/afpacket.(*TPacket).ZeroCopyReadPacketData(0xc0001e4400)
/root/go/pkg/mod/github.com/google/gopacket@v1.1.19/afpacket/afpacket.go:304 +0x1a5 fp=0xc000065d28 sp=0xc000065c90 pc=0x4c9a65
github.com/google/gopacket/afpacket.(*TPacket).ReadPacketDataTo(...)
/root/go/pkg/mod/github.com/google/gopacket@v1.1.19/afpacket/afpacket.go:405
github.com/hujun-open/etherconn.(*afConn).ReadPacketData(0xc0001129d0)
/root/go/pkg/mod/github.com/hujun-open/etherconn@v0.6.2-0.20231012152539-8b44fdd29231/afconn_linux.go:34 +0xe9 fp=0xc000065e40 sp=0xc000065d28 pc=0x54e509
github.com/hujun-open/etherconn.(*RawSocketRelay).recv(0xc000129180, {0x6026b8, 0xc000100230})
/root/go/pkg/mod/github.com/hujun-open/etherconn@v0.6.2-0.20231012152539-8b44fdd29231/rawrelay.go:318 +0x11d fp=0xc000065fb8 sp=0xc000065e40 pc=0x55081d
github.com/hujun-open/etherconn.NewRawSocketRelayWithRelayConn.func1()
/root/go/pkg/mod/github.com/hujun-open/etherconn@v0.6.2-0.20231012152539-8b44fdd29231/rawrelay.go:123 +0x2e fp=0xc000065fe0 sp=0xc000065fb8 pc=0x5500ae
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000065fe8 sp=0xc000065fe0 pc=0x4679c1
created by github.com/hujun-open/etherconn.NewRawSocketRelayWithRelayConn
/root/go/pkg/mod/github.com/hujun-open/etherconn@v0.6.2-0.20231012152539-8b44fdd29231/rawrelay.go:123 +0x64d
So, how to stop receiving?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels