fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x5de7c100004d pc=0x980990]
runtime stack:
runtime.throw(0xb66638, 0x2a)
/usr/local/go/src/runtime/panic.go:608 +0x4c
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:374 +0x2a4
goroutine 8 [syscall]:
runtime.cgocall(0x97e5e8, 0x40000f7d48, 0x29)
/usr/local/go/src/runtime/cgocall.go:128 +0x48 fp=0x40000f7d10 sp=0x40000f7ce0 pc=0x409018
github.com/eycorsican/go-tun2socks/core._Cfunc_input(0x7f80001060, 0x7f80001000)
_cgo_gotypes.go:335 +0x3c fp=0x40000f7d40 sp=0x40000f7d10 pc=0x5d2c1c
github.com/eycorsican/go-tun2socks/core.Input.func2(0x7f80001060, 0xc1)
/root/go/src/github.com/eycorsican/go-tun2socks/core/input.go:23 +0x40 fp=0x40000f7d70 sp=0x40000f7d40 pc=0x5d8000
github.com/eycorsican/go-tun2socks/core.Input(0x400016c000, 0xc1, 0x5dc, 0x0, 0x0, 0x0)
/root/go/src/github.com/eycorsican/go-tun2socks/core/input.go:23 +0x70 fp=0x40000f7db0 sp=0x40000f7d70 pc=0x5d4370
github.com/eycorsican/go-tun2socks/core.(*lwipStack).Write(0x4000069950, 0x400016c000, 0xc1, 0x5dc, 0x4000010080, 0x400016c000, 0x5dc)
/root/go/src/github.com/eycorsican/go-tun2socks/core/lwip.go:77 +0x30 fp=0x40000f7df0 sp=0x40000f7db0 pc=0x5d4660
github.com/eycorsican/go-tun2socks/filter.(*icmpFilter).Write(0x400000e800, 0x400016c000, 0xc1, 0x5dc, 0xc1, 0x0, 0x0)
/root/go/src/github.com/eycorsican/go-tun2socks/filter/filter.go:43 +0x100 fp=0x40000f7e50 sp=0x40000f7df0 pc=0x5d9f20
io.copyBuffer(0x7f9c068050, 0x400000e800, 0x7f9c023000, 0x400007a840, 0x400016c000, 0x5dc, 0x5dc, 0xa6ffa0, 0x0, 0x7f9c023000)
/usr/local/go/src/io/io.go:404 +0x194 fp=0x40000f7ec0 sp=0x40000f7e50 pc=0x46c784
io.CopyBuffer(0x7f9c068050, 0x400000e800, 0x7f9c023000, 0x400007a840, 0x400016c000, 0x5dc, 0x5dc, 0x0, 0x0, 0x0)
/usr/local/go/src/io/io.go:375 +0x58 fp=0x40000f7f20 sp=0x40000f7ec0 pc=0x46c598
main.main.func2(0x7f9c068050, 0x400000e800, 0xc20b40, 0x400007a840)
/root/go/src/github.com/eycorsican/go-tun2socks/cmd/tun2socks/main.go:145 +0xa4 fp=0x40000f7fb0 sp=0x40000f7f20 pc=0x97dd54
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1114 +0x4 fp=0x40000f7fb0 sp=0x40000f7fb0 pc=0x458214
created by main.main
/root/go/src/github.com/eycorsican/go-tun2socks/cmd/tun2socks/main.go:144 +0x9a4
goroutine 1 [chan receive]:
main.main()
/root/go/src/github.com/eycorsican/go-tun2socks/cmd/tun2socks/main.go:155 +0xa98
goroutine 5 [syscall]:
os/signal.signal_recv(0x0)
/usr/local/go/src/runtime/sigqueue.go:139 +0xb8
os/signal.loop()
/usr/local/go/src/os/signal/signal_unix.go:23 +0x18
created by os/signal.init.0
/usr/local/go/src/os/signal/signal_unix.go:29 +0x30
goroutine 7 [chan receive]:
github.com/eycorsican/go-tun2socks/proxy.(*DNSCache).cleanUp(0x4000135200)
/root/go/src/github.com/eycorsican/go-tun2socks/proxy/dns_cache.go:43 +0x1a0
created by github.com/eycorsican/go-tun2socks/proxy.NewDNSCache
/root/go/src/github.com/eycorsican/go-tun2socks/proxy/dns_cache.go:28 +0x6c
goroutine 58 [IO wait]:
internal/poll.runtime_pollWait(0x7f9c067e30, 0x72, 0x40001a2000)
/usr/local/go/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x40001ea598, 0x72, 0xffffffffffffff00, 0xc1c580, 0x114eeb8)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x90
internal/poll.(*pollDesc).waitRead(0x40001ea598, 0x40001a2000, 0x800, 0x800)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x40001ea580, 0x40001a2000, 0x800, 0x800, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:169 +0x134
net.(*netFD).Read(0x40001ea580, 0x40001a2000, 0x800, 0x800, 0x0, 0x0, 0x0)
/usr/local/go/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x40001b2040, 0x40001a2000, 0x800, 0x800, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:177 +0x50
github.com/eycorsican/go-tun2socks/proxy/socks.(*udpHandler).handleTCP(0x4000032690, 0xc29e20, 0x40001e80e0, 0xc28700, 0x40001b2040)
/root/go/src/github.com/eycorsican/go-tun2socks/proxy/socks/udp.go:47 +0xac
created by github.com/eycorsican/go-tun2socks/proxy/socks.(*udpHandler).Connect
/root/go/src/github.com/eycorsican/go-tun2socks/proxy/socks/udp.go:132 +0x3f4
goroutine 59 [IO wait]:
internal/poll.runtime_pollWait(0x7f9c067d60, 0x72, 0x40001a2800)
/usr/local/go/src/runtime/netpoll.go:173 +0x3c
internal/poll.(*pollDesc).wait(0x40001ea698, 0x72, 0xffffffffffffff00, 0xc1c580, 0x114eeb8)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x90
internal/poll.(*pollDesc).waitRead(0x40001ea698, 0x40001a2800, 0x800, 0x800)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x30
internal/poll.(*FD).Read(0x40001ea680, 0x40001a2800, 0x800, 0x800, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:169 +0x134
net.(*netFD).Read(0x40001ea680, 0x40001a2800, 0x800, 0x800, 0x3655f1321c1, 0x1198900, 0x0)
/usr/local/go/src/net/fd_unix.go:202 +0x3c
net.(*conn).Read(0x40001b2048, 0x40001a2800, 0x800, 0x800, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:177 +0x50
github.com/eycorsican/go-tun2socks/proxy/socks.(*udpHandler).fetchUDPInput(0x4000032690, 0xc29e20, 0x40001e80e0, 0xc28760, 0x40001b2048)
/root/go/src/github.com/eycorsican/go-tun2socks/proxy/socks/udp.go:69 +0xe8
created by github.com/eycorsican/go-tun2socks/proxy/socks.(*udpHandler).Connect
/root/go/src/github.com/eycorsican/go-tun2socks/proxy/socks/udp.go:144 +0x5bc