xtaci / kcptun

A Quantum-Safe Secure Tunnel based on QPP, KCP, FEC, and N:M multiplexing.
MIT License
13.9k stars 2.54k forks source link

20200701版的Linux客户端有内存泄露的问题 #798

Closed orange030 closed 1 year ago

orange030 commented 4 years ago

内存的使用率会一直只升不降,然后就崩了

fatal error: runtime: out of memory

runtime stack:
runtime.throw(0x7d6c94, 0x16)
    /usr/local/go/src/runtime/panic.go:1116 +0x72
runtime.sysMap(0xc020000000, 0x4000000, 0x1046e18)
    /usr/local/go/src/runtime/mem_linux.go:169 +0xc5
runtime.(*mheap).sysAlloc(0xb1a1a0, 0x400000, 0xffff7fffffffffff, 0x464405)
    /usr/local/go/src/runtime/malloc.go:715 +0x1cd
runtime.(*mheap).grow(0xb1a1a0, 0x1, 0x0)
    /usr/local/go/src/runtime/mheap.go:1286 +0x11c
runtime.(*mheap).allocSpan(0xb1a1a0, 0x1, 0x700, 0x1046e28, 0x8387e4)
    /usr/local/go/src/runtime/mheap.go:1124 +0x6a0
runtime.(*mheap).alloc.func1()
    /usr/local/go/src/runtime/mheap.go:871 +0x64
runtime.systemstack(0x0)
    /usr/local/go/src/runtime/asm_amd64.s:370 +0x66
runtime.mstart()
    /usr/local/go/src/runtime/proc.go:1041

goroutine 18 [running]:
runtime.systemstack_switch()
    /usr/local/go/src/runtime/asm_amd64.s:330 fp=0xc0026b7b60 sp=0xc0026b7b58 pc=0x4606f0
runtime.(*mheap).alloc(0xb1a1a0, 0x1, 0x410107, 0x7fdce3d3ff00)
    /usr/local/go/src/runtime/mheap.go:865 +0x81 fp=0xc0026b7bb0 sp=0xc0026b7b60 pc=0x4253b1
runtime.(*mcentral).grow(0xb2a7b8, 0x0)
    /usr/local/go/src/runtime/mcentral.go:255 +0x79 fp=0xc0026b7bf0 sp=0xc0026b7bb0 pc=0x417879
runtime.(*mcentral).cacheSpan(0xb2a7b8, 0x5f06b2b5)
    /usr/local/go/src/runtime/mcentral.go:106 +0x2bc fp=0xc0026b7c38 sp=0xc0026b7bf0 pc=0x4173ac
runtime.(*mcache).refill(0x7fdd0c5cb108, 0x107)
    /usr/local/go/src/runtime/mcache.go:138 +0x85 fp=0xc0026b7c58 sp=0xc0026b7c38 pc=0x416e95
runtime.(*mcache).nextFree(0x7fdd0c5cb108, 0x7, 0x10, 0x76f440, 0x8)
    /usr/local/go/src/runtime/malloc.go:868 +0x87 fp=0xc0026b7c90 sp=0xc0026b7c58 pc=0x40bc27
runtime.mallocgc(0x20, 0x7374c0, 0x77fc01, 0xc01fff12b0)
    /usr/local/go/src/runtime/malloc.go:1036 +0x793 fp=0xc0026b7d30 sp=0xc0026b7c90 pc=0x40c563
runtime.makeslice(0x7374c0, 0x1c, 0x1c, 0xc01fff12b0)
    /usr/local/go/src/runtime/slice.go:49 +0x6c fp=0xc0026b7d60 sp=0xc0026b7d30 pc=0x449a3c
golang.org/x/net/internal/socket.mmsghdrs.pack(0xc01fffe400, 0x10, 0x10, 0xc0000cf080, 0x10, 0x10, 0x7e61c8, 0x0, 0x4d8, 0xc02d1195db)
    /home/xtaci/go/pkg/mod/golang.org/x/net@v0.0.0-20200320220750-118fecf932d8/internal/socket/mmsghdr_unix.go:18 +0x1e7 fp=0xc0026b7df8 sp=0xc0026b7d60 pc=0x55abf7
golang.org/x/net/internal/socket.(*Conn).recvMsgs(0xc0001cf2a0, 0xc0000cf080, 0x10, 0x10, 0x0, 0xc0001ee000, 0x106, 0x5dc)
    /home/xtaci/go/pkg/mod/golang.org/x/net@v0.0.0-20200320220750-118fecf932d8/internal/socket/rawconn_mmsg.go:24 +0xd1 fp=0xc0026b7e90 sp=0xc0026b7df8 pc=0x55b7c1
golang.org/x/net/internal/socket.(*Conn).RecvMsgs(...)
    /home/xtaci/go/pkg/mod/golang.org/x/net@v0.0.0-20200320220750-118fecf932d8/internal/socket/socket.go:275
golang.org/x/net/ipv4.(*payloadHandler).ReadBatch(0xc000060560, 0xc0000cf080, 0x10, 0x10, 0x0, 0x0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/golang.org/x/net@v0.0.0-20200320220750-118fecf932d8/ipv4/batch.go:80 +0xaf fp=0xc0026b7f18 sp=0xc0026b7e90 pc=0x565a7f
github.com/xtaci/kcp-go/v5.(*UDPSession).readLoop(0xc0000776c0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/kcp-go/v5@v5.5.14/readloop_linux.go:31 +0x357 fp=0xc0026b7fd8 sp=0xc0026b7f18 pc=0x5e8e27
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:1373 +0x1 fp=0xc0026b7fe0 sp=0xc0026b7fd8 pc=0x462681
created by github.com/xtaci/kcp-go/v5.newUDPSession
    /home/xtaci/go/pkg/mod/github.com/xtaci/kcp-go/v5@v5.5.14/sess.go:181 +0x607

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce59290f8, 0x72, 0x0)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0000d2098, 0x72, 0x0, 0x0, 0x7c4149)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc0000d2080, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:384 +0x1d4
net.(*netFD).accept(0xc0000d2080, 0x37e11d600, 0x0, 0xc0000e4eb8)
    /usr/local/go/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc00000cf20, 0xc0000e4ef8, 0xc0000e4f00, 0x20)
    /usr/local/go/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).AcceptTCP(0xc00000cf20, 0x7e62e8, 0xc00017a400, 0x84ef00)
    /usr/local/go/src/net/tcpsock.go:248 +0x65
main.main.func1(0xc0000a42c0, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:440 +0x1c1d
github.com/urfave/cli.HandleAction(0x7416e0, 0x7e62f0, 0xc0000a42c0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/urfave/cli@v1.21.0/app.go:514 +0x11a
github.com/urfave/cli.(*App).Run(0xc00001e700, 0xc00001e1c0, 0x1b, 0x1c, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/urfave/cli@v1.21.0/app.go:274 +0x647
main.main()
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:457 +0x1618

goroutine 6 [select]:
github.com/xtaci/kcp-go/v5.(*TimedSched).sched(0xc0000600a0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/kcp-go/v5@v5.5.14/timedsched.go:67 +0x2bb
created by github.com/xtaci/kcp-go/v5.NewTimedSched
    /home/xtaci/go/pkg/mod/github.com/xtaci/kcp-go/v5@v5.5.14/timedsched.go:56 +0xf9

goroutine 7 [select]:
github.com/xtaci/kcp-go/v5.(*TimedSched).prepend(0xc0000600a0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/kcp-go/v5@v5.5.14/timedsched.go:103 +0x27d
created by github.com/xtaci/kcp-go/v5.NewTimedSched
    /home/xtaci/go/pkg/mod/github.com/xtaci/kcp-go/v5@v5.5.14/timedsched.go:58 +0x12d

goroutine 8 [chan receive, 1951 minutes]:
main.sigHandler()
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/signal.go:24 +0xf7
created by main.init.0
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/signal.go:15 +0x35

goroutine 9 [syscall, 1951 minutes]:
os/signal.signal_recv(0x0)
    /usr/local/go/src/runtime/sigqueue.go:147 +0x9c
os/signal.loop()
    /usr/local/go/src/os/signal/signal_unix.go:23 +0x22
created by os/signal.Notify.func1
    /usr/local/go/src/os/signal/signal.go:127 +0x44

goroutine 22 [select]:
github.com/xtaci/smux.(*Session).keepalive(0xc00017a400)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/session.go:389 +0x172
created by github.com/xtaci/smux.newSession
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/session.go:107 +0x2d3

goroutine 19 [select]:
github.com/xtaci/smux.(*Session).shaperLoop(0xc00017a400)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/session.go:422 +0x18f
created by github.com/xtaci/smux.newSession
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/session.go:104 +0x26d

goroutine 20 [select]:
github.com/xtaci/kcp-go/v5.(*UDPSession).Read(0xc0000776c0, 0xc000024da8, 0x8, 0x8, 0xc000075e10, 0x40a035, 0x75d3e0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/kcp-go/v5@v5.5.14/sess.go:250 +0x1c0
io.ReadAtLeast(0x7fdce592d2f8, 0xc0000776c0, 0xc000024da8, 0x8, 0x8, 0x8, 0x0, 0x0, 0x0)
    /usr/local/go/src/io/io.go:310 +0x87
io.ReadFull(...)
    /usr/local/go/src/io/io.go:329
github.com/xtaci/smux.(*Session).recvLoop(0xc00017a400)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/session.go:318 +0x1a3
created by github.com/xtaci/smux.newSession
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/session.go:105 +0x28f

goroutine 21 [select]:
github.com/xtaci/smux.(*Session).sendLoop(0xc00017a400)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/session.go:450 +0x1a4
created by github.com/xtaci/smux.newSession
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/session.go:106 +0x2b1

goroutine 16 [select]:
main.scavenger(0xc000057800, 0x258)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:470 +0x574
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:436 +0x1b6b

goroutine 27104 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576aeb0, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc00f6ce818, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00f6ce800, 0xc00e3f5000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc00f6ce800, 0xc00e3f5000, 0x1000, 0x1000, 0xc00e3f5000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e208, 0xc00e3f5000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc00c91add0, 0x844e20, 0xc00000e208, 0xc00e3f5000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc00e3f5000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc00c91add0, 0x844e20, 0xc00000e208, 0xc00e3f5000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc00c91add0, 0x844e20, 0xc00000e208, 0xc00000e208, 0x203003, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc00c91add0, 0x7fdce592d358, 0xc00000e208)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e208, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27463 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc019c7f930, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc019c7f930, 0x844e40, 0xc00000e118, 0x7fdce592d3e0, 0xc019c7f930, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e118, 0x7fdce592d3c0, 0xc019c7f930, 0xc019c7f930, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e118, 0x846ae0, 0xc019c7f930)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27452 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce5928e58, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01940b098, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01940b080, 0xc008fbd000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01940b080, 0xc008fbd000, 0x1000, 0x1000, 0xc008fbd000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e0e8, 0xc008fbd000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc019c7f5f0, 0x844e20, 0xc00000e0e8, 0xc008fbd000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc008fbd000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc019c7f5f0, 0x844e20, 0xc00000e0e8, 0xc008fbd000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc019c7f5f0, 0x844e20, 0xc00000e0e8, 0xc00000e0e8, 0x203001, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc019c7f5f0, 0x7fdce592d358, 0xc00000e0e8)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e0e8, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27473 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc0074c84e0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc0074c84e0, 0x844e40, 0xc00000e148, 0x7fdce592d3e0, 0xc0074c84e0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e148, 0x7fdce592d3c0, 0xc0074c84e0, 0xc0074c84e0, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e148, 0x846ae0, 0xc0074c84e0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27471 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc019c7fd40, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc019c7fd40, 0x844e40, 0xc00000e140, 0x7fdce592d3e0, 0xc019c7fd40, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e140, 0x7fdce592d3c0, 0xc019c7fd40, 0xc019c7fd40, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e140, 0x846ae0, 0xc019c7fd40)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27484 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce45ad2a8, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01b53d018, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01b53d000, 0xc01f7c0000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01b53d000, 0xc01f7c0000, 0x1000, 0x1000, 0xc01f7c0000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e1b0, 0xc01f7c0000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc01d933e10, 0x844e20, 0xc00000e1b0, 0xc01f7c0000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc01f7c0000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc01d933e10, 0x844e20, 0xc00000e1b0, 0xc01f7c0000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc01d933e10, 0x844e20, 0xc00000e1b0, 0xc00000e1b0, 0x203007, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc01d933e10, 0x7fdce592d358, 0xc00000e1b0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e1b0, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27456 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576b770, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0198ca498, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0198ca480, 0xc008f55000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc0198ca480, 0xc008f55000, 0x1000, 0x1000, 0xc008f55000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e0f8, 0xc008f55000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc019c7f6c0, 0x844e20, 0xc00000e0f8, 0xc008f55000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc008f55000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc019c7f6c0, 0x844e20, 0xc00000e0f8, 0xc008f55000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc019c7f6c0, 0x844e20, 0xc00000e0f8, 0xc00000e0f8, 0x203001, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc019c7f6c0, 0x7fdce592d358, 0xc00000e0f8)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e0f8, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27105 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc00c91add0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc00c91add0, 0x844e40, 0xc00000e208, 0x7fdce592d3e0, 0xc00c91add0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e208, 0x7fdce592d3c0, 0xc00c91add0, 0xc00c91add0, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e208, 0x846ae0, 0xc00c91add0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27469 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc019c7fc70, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc019c7fc70, 0x844e40, 0xc00000e138, 0x7fdce592d3e0, 0xc019c7fc70, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e138, 0x7fdce592d3c0, 0xc019c7fc70, 0xc019c7fc70, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e138, 0x846ae0, 0xc019c7fc70)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27057 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc01e0f11e0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc01e0f11e0, 0x844e40, 0xc00000e128, 0x7fdce592d3e0, 0xc01e0f11e0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e128, 0x7fdce592d3c0, 0xc01e0f11e0, 0xc01e0f11e0, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e128, 0x846ae0, 0xc01e0f11e0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27480 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce5929018, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01b124f98, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01b124f80, 0xc01f4d4000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01b124f80, 0xc01f4d4000, 0x1000, 0x1000, 0xc01f4d4000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e1a0, 0xc01f4d4000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc01d9336c0, 0x844e20, 0xc00000e1a0, 0xc01f4d4000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc01f4d4000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc01d9336c0, 0x844e20, 0xc00000e1a0, 0xc01f4d4000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc01d9336c0, 0x844e20, 0xc00000e1a0, 0xc00000e1a0, 0x203007, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc01d9336c0, 0x7fdce592d358, 0xc00000e1a0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e1a0, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27443 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc0098f0270, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc0098f0270, 0x844e40, 0xc00000e0a8, 0x7fdce592d3e0, 0xc0098f0270, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e0a8, 0x7fdce592d3c0, 0xc0098f0270, 0xc0098f0270, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e0a8, 0x846ae0, 0xc0098f0270)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27056 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576b5b0, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc00b03f998, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00b03f980, 0xc0002c0000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc00b03f980, 0xc0002c0000, 0x1000, 0x1000, 0xc0002c0000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e128, 0xc0002c0000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc01e0f11e0, 0x844e20, 0xc00000e128, 0xc0002c0000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc0002c0000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc01e0f11e0, 0x844e20, 0xc00000e128, 0xc0002c0000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc01e0f11e0, 0x844e20, 0xc00000e128, 0xc00000e128, 0x203003, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc01e0f11e0, 0x7fdce592d358, 0xc00000e128)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e128, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27460 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce5928bb8, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0198cb398, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0198cb380, 0xc008d8a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc0198cb380, 0xc008d8a000, 0x1000, 0x1000, 0xc008d8a000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e110, 0xc008d8a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc019c7f860, 0x844e20, 0xc00000e110, 0xc008d8a000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc008d8a000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc019c7f860, 0x844e20, 0xc00000e110, 0xc008d8a000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc019c7f860, 0x844e20, 0xc00000e110, 0xc00000e110, 0x203003, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc019c7f860, 0x7fdce592d358, 0xc00000e110)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e110, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27429 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc0143504e0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc0143504e0, 0x844e40, 0xc00000e178, 0x7fdce592d3e0, 0xc0143504e0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e178, 0x7fdce592d3c0, 0xc0143504e0, 0xc0143504e0, 0x1000, 0xc0001fa3c0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e178, 0x846ae0, 0xc0143504e0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27475 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc010e320d0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc010e320d0, 0x844e40, 0xc00000e150, 0x7fdce592d3e0, 0xc010e320d0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e150, 0x7fdce592d3c0, 0xc010e320d0, 0xc010e320d0, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e150, 0x846ae0, 0xc010e320d0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27483 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc01d933c70, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc01d933c70, 0x844e40, 0xc00000e1a8, 0x7fdce592d3e0, 0xc01d933c70, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e1a8, 0x7fdce592d3c0, 0xc01d933c70, 0xc01d933c70, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e1a8, 0x846ae0, 0xc01d933c70)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27440 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce45ad388, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc00ad28718, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00ad28700, 0xc005642000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc00ad28700, 0xc005642000, 0x1000, 0x1000, 0xc005642000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e098, 0xc005642000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc00747e1a0, 0x844e20, 0xc00000e098, 0xc005642000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc005642000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc00747e1a0, 0x844e20, 0xc00000e098, 0xc005642000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc00747e1a0, 0x844e20, 0xc00000e098, 0xc00000e098, 0x203001, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc00747e1a0, 0x7fdce592d358, 0xc00000e098)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e098, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27447 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc0098f0820, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc0098f0820, 0x844e40, 0xc00000e0d0, 0x7fdce592d3e0, 0xc0098f0820, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e0d0, 0x7fdce592d3c0, 0xc0098f0820, 0xc0098f0820, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e0d0, 0x846ae0, 0xc0098f0820)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27462 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce45ad1c8, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0198cba18, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0198cba00, 0xc0089e3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc0198cba00, 0xc0089e3000, 0x1000, 0x1000, 0xc0089e3000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e118, 0xc0089e3000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc019c7f930, 0x844e20, 0xc00000e118, 0xc0089e3000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc0089e3000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc019c7f930, 0x844e20, 0xc00000e118, 0xc0089e3000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc019c7f930, 0x844e20, 0xc00000e118, 0xc00000e118, 0x203004, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc019c7f930, 0x7fdce592d358, 0xc00000e118)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e118, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27461 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc019c7f860, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc019c7f860, 0x844e40, 0xc00000e110, 0x7fdce592d3e0, 0xc019c7f860, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e110, 0x7fdce592d3c0, 0xc019c7f860, 0xc019c7f860, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e110, 0x846ae0, 0xc019c7f860)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27277 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc01b5d2000, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc01b5d2000, 0x844e40, 0xc00000e1c8, 0x7fdce592d3e0, 0xc01b5d2000, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e1c8, 0x7fdce592d3c0, 0xc01b5d2000, 0xc01b5d2000, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e1c8, 0x846ae0, 0xc01b5d2000)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27428 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576c030, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc014b3ad18, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc014b3ad00, 0xc014a1b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc014b3ad00, 0xc014a1b000, 0x1000, 0x1000, 0xc014a1b000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e178, 0xc014a1b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc0143504e0, 0x844e20, 0xc00000e178, 0xc014a1b000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc014a1b000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc0143504e0, 0x844e20, 0xc00000e178, 0xc014a1b000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc0143504e0, 0x844e20, 0xc00000e178, 0xc00000e178, 0x203001, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc0143504e0, 0x7fdce592d358, 0xc00000e178)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e178, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27445 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc0098f0750, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc0098f0750, 0x844e40, 0xc00000e0b0, 0x7fdce592d3e0, 0xc0098f0750, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e0b0, 0x7fdce592d3c0, 0xc0098f0750, 0xc0098f0750, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e0b0, 0x846ae0, 0xc0098f0750)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27431 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc014351c70, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc014351c70, 0x844e40, 0xc00000e180, 0x7fdce592d3e0, 0xc014351c70, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e180, 0x7fdce592d3c0, 0xc014351c70, 0xc014351c70, 0x1000, 0xc0001fa3c0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e180, 0x846ae0, 0xc014351c70)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27479 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc01d933110, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc01d933110, 0x844e40, 0xc00000e198, 0x7fdce592d3e0, 0xc01d933110, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e198, 0x7fdce592d3c0, 0xc01d933110, 0xc01d933110, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e198, 0x846ae0, 0xc01d933110)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27455 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc019c7f5f0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc019c7f5f0, 0x844e40, 0xc00000e0e8, 0x7fdce592d3e0, 0xc019c7f5f0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e0e8, 0x7fdce592d3c0, 0xc019c7f5f0, 0xc019c7f5f0, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e0e8, 0x846ae0, 0xc019c7f5f0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27434 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce5928918, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc011d6ce18, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc011d6ce00, 0xc005f77000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc011d6ce00, 0xc005f77000, 0x1000, 0x1000, 0xc005f77000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e038, 0xc005f77000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc00b7f6340, 0x844e20, 0xc00000e038, 0xc005f77000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc005f77000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc00b7f6340, 0x844e20, 0xc00000e038, 0xc005f77000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc00b7f6340, 0x844e20, 0xc00000e038, 0xc00000e038, 0x203007, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc00b7f6340, 0x7fdce592d358, 0xc00000e038)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e038, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27395 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc00803cf70, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc00803cf70, 0x844e40, 0xc00000e010, 0x7fdce592d3e0, 0xc00803cf70, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e010, 0x7fdce592d3c0, 0xc00803cf70, 0xc00803cf70, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e010, 0x846ae0, 0xc00803cf70)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27468 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576b4d0, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01ba7df18, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01ba7df00, 0xc0022da000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01ba7df00, 0xc0022da000, 0x1000, 0x1000, 0xc0022da000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e138, 0xc0022da000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc019c7fc70, 0x844e20, 0xc00000e138, 0xc0022da000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc0022da000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc019c7fc70, 0x844e20, 0xc00000e138, 0xc0022da000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc019c7fc70, 0x844e20, 0xc00000e138, 0xc00000e138, 0x203006, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc019c7fc70, 0x7fdce592d358, 0xc00000e138)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e138, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27478 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce45ad0e8, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01ad2a218, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01ad2a200, 0xc019dbd000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01ad2a200, 0xc019dbd000, 0x1000, 0x1000, 0xc019dbd000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e198, 0xc019dbd000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc01d933110, 0x844e20, 0xc00000e198, 0xc019dbd000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc019dbd000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc01d933110, 0x844e20, 0xc00000e198, 0xc019dbd000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc01d933110, 0x844e20, 0xc00000e198, 0xc00000e198, 0x203007, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc01d933110, 0x7fdce592d358, 0xc00000e198)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e198, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27457 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc019c7f6c0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc019c7f6c0, 0x844e40, 0xc00000e0f8, 0x7fdce592d3e0, 0xc019c7f6c0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e0f8, 0x7fdce592d3c0, 0xc019c7f6c0, 0xc019c7f6c0, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e0f8, 0x846ae0, 0xc019c7f6c0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27482 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576add0, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01b53c518, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01b53c500, 0xc01f4d5000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01b53c500, 0xc01f4d5000, 0x1000, 0x1000, 0xc01f4d5000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e1a8, 0xc01f4d5000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc01d933c70, 0x844e20, 0xc00000e1a8, 0xc01f4d5000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc01f4d5000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc01d933c70, 0x844e20, 0xc00000e1a8, 0xc01f4d5000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc01d933c70, 0x844e20, 0xc00000e1a8, 0xc00000e1a8, 0x203007, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc01d933c70, 0x7fdce592d358, 0xc00000e1a8)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e1a8, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27394 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576b690, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01e757e98, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01e757e80, 0xc008b10000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01e757e80, 0xc008b10000, 0x1000, 0x1000, 0xc008b10000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e010, 0xc008b10000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc00803cf70, 0x844e20, 0xc00000e010, 0xc008b10000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc008b10000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc00803cf70, 0x844e20, 0xc00000e010, 0xc008b10000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc00803cf70, 0x844e20, 0xc00000e010, 0xc00000e010, 0x203001, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc00803cf70, 0x7fdce592d358, 0xc00000e010)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e010, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27481 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc01d9336c0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc01d9336c0, 0x844e40, 0xc00000e1a0, 0x7fdce592d3e0, 0xc01d9336c0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e1a0, 0x7fdce592d3c0, 0xc01d9336c0, 0xc01d9336c0, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e1a0, 0x846ae0, 0xc01d9336c0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27466 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576b850, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01ba7d198, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01ba7d180, 0xc0089a4000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01ba7d180, 0xc0089a4000, 0x1000, 0x1000, 0xc0089a4000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e130, 0xc0089a4000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc019c7fba0, 0x844e20, 0xc00000e130, 0xc0089a4000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc0089a4000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc019c7fba0, 0x844e20, 0xc00000e130, 0xc0089a4000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc019c7fba0, 0x844e20, 0xc00000e130, 0xc00000e130, 0x203006, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc019c7fba0, 0x7fdce592d358, 0xc00000e130)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e130, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27430 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576bbd0, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0190aed18, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0190aed00, 0xc01932e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc0190aed00, 0xc01932e000, 0x1000, 0x1000, 0xc01932e000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e180, 0xc01932e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc014351c70, 0x844e20, 0xc00000e180, 0xc01932e000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc01932e000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc014351c70, 0x844e20, 0xc00000e180, 0xc01932e000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc014351c70, 0x844e20, 0xc00000e180, 0xc00000e180, 0x203004, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc014351c70, 0x7fdce592d358, 0xc00000e180)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e180, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 26284 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce5769fd0, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc009eb0a18, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc009eb0a00, 0xc008721000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc009eb0a00, 0xc008721000, 0x1000, 0x1000, 0xc008721000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e030, 0xc008721000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc0026acdd0, 0x844e20, 0xc00000e030, 0xc008721000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc008721000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc0026acdd0, 0x844e20, 0xc00000e030, 0xc008721000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc0026acdd0, 0x844e20, 0xc00000e030, 0xc00000e030, 0x203000, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc0026acdd0, 0x7fdce592d358, 0xc00000e030)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e030, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27444 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce59283d8, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01695a098, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01695a080, 0xc01b64a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01695a080, 0xc01b64a000, 0x1000, 0x1000, 0xc01b64a000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e0b0, 0xc01b64a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc0098f0750, 0x844e20, 0xc00000e0b0, 0xc01b64a000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc01b64a000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc0098f0750, 0x844e20, 0xc00000e0b0, 0xc01b64a000, 0x1000, 0x1000, 0x7ac560, 0x91a00000000, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc0098f0750, 0x844e20, 0xc00000e0b0, 0xc00000e0b0, 0x203005, 0x7fdce3fd8020)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc0098f0750, 0x7fdce592d358, 0xc00000e0b0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e0b0, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27276 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce5928678, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01b5a0198, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01b5a0180, 0xc01b5d4000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01b5a0180, 0xc01b5d4000, 0x1000, 0x1000, 0xc01b5d4000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e1c8, 0xc01b5d4000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc01b5d2000, 0x844e20, 0xc00000e1c8, 0xc01b5d4000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc01b5d4000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc01b5d2000, 0x844e20, 0xc00000e1c8, 0xc01b5d4000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc01b5d2000, 0x844e20, 0xc00000e1c8, 0xc00000e1c8, 0x203005, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc01b5d2000, 0x7fdce592d358, 0xc00000e1c8)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e1c8, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27435 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc00b7f6340, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc00b7f6340, 0x844e40, 0xc00000e038, 0x7fdce592d3e0, 0xc00b7f6340, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e038, 0x7fdce592d3c0, 0xc00b7f6340, 0xc00b7f6340, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e038, 0x846ae0, 0xc00b7f6340)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27467 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc019c7fba0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc019c7fba0, 0x844e40, 0xc00000e130, 0x7fdce592d3e0, 0xc019c7fba0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e130, 0x7fdce592d3c0, 0xc019c7fba0, 0xc019c7fba0, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e130, 0x846ae0, 0xc019c7fba0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27485 [runnable]:
internal/poll.runtime_pollWait(0x7fdce45ad2a8, 0x77, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01b53d018, 0x77, 0x100, 0x19a, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitWrite(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:96
internal/poll.(*FD).Write(0xc01b53d000, 0xc00bc92000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:276 +0x290
net.(*netFD).Write(0xc01b53d000, 0xc00bc92000, 0x1000, 0x1000, 0x6f41f1, 0xc0000cc4a0, 0x732100)
    /usr/local/go/src/net/fd_unix.go:220 +0x4f
net.(*conn).Write(0xc00000e1b0, 0xc00bc92000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:196 +0x8e
github.com/xtaci/smux.(*Stream).WriteTo(0xc01d933e10, 0x844e40, 0xc00000e1b0, 0x7fdce592d3e0, 0xc01d933e10, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:187 +0x175
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e1b0, 0x7fdce592d3c0, 0xc01d933e10, 0xc01d933e10, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e1b0, 0x846ae0, 0xc01d933e10)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27474 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce5928758, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc00ff51b18, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00ff51b00, 0xc010eca000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc00ff51b00, 0xc010eca000, 0x1000, 0x1000, 0xc010eca000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e150, 0xc010eca000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc010e320d0, 0x844e20, 0xc00000e150, 0xc010eca000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc010eca000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc010e320d0, 0x844e20, 0xc00000e150, 0xc010eca000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc010e320d0, 0x844e20, 0xc00000e150, 0xc00000e150, 0x203001, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc010e320d0, 0x7fdce592d358, 0xc00000e150)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e150, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 26285 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc0026acdd0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc0026acdd0, 0x844e40, 0xc00000e030, 0x7fdce592d3e0, 0xc0026acdd0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e030, 0x7fdce592d3c0, 0xc0026acdd0, 0xc0026acdd0, 0xbfb9c6ed2472f53c, 0x67320484039b)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e030, 0x846ae0, 0xc0026acdd0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27472 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce45ade08, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01cdc8c98, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01cdc8c80, 0xc0022a0000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01cdc8c80, 0xc0022a0000, 0x1000, 0x1000, 0xc0022a0000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e148, 0xc0022a0000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc0074c84e0, 0x844e20, 0xc00000e148, 0xc0022a0000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc0022a0000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc0074c84e0, 0x844e20, 0xc00000e148, 0xc0022a0000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc0074c84e0, 0x844e20, 0xc00000e148, 0xc00000e148, 0x203006, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc0074c84e0, 0x7fdce592d358, 0xc00000e148)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e148, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27470 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576baf0, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc01ba7df98, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc01ba7df80, 0xc0022ac000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc01ba7df80, 0xc0022ac000, 0x1000, 0x1000, 0xc0022ac000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e140, 0xc0022ac000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc019c7fd40, 0x844e20, 0xc00000e140, 0xc0022ac000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc0022ac000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc019c7fd40, 0x844e20, 0xc00000e140, 0xc0022ac000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc019c7fd40, 0x844e20, 0xc00000e140, 0xc00000e140, 0x203006, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc019c7fd40, 0x7fdce592d358, 0xc00000e140)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e140, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27446 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce576a270, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0185fc018, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0185fc000, 0xc01b5d5000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc0185fc000, 0xc01b5d5000, 0x1000, 0x1000, 0xc01b5d5000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e0d0, 0xc01b5d5000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc0098f0820, 0x844e20, 0xc00000e0d0, 0xc01b5d5000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc01b5d5000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc0098f0820, 0x844e20, 0xc00000e0d0, 0xc01b5d5000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc0098f0820, 0x844e20, 0xc00000e0d0, 0xc00000e0d0, 0x203003, 0x6aa000)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc0098f0820, 0x7fdce592d358, 0xc00000e0d0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e0d0, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00

goroutine 27441 [select]:
github.com/xtaci/smux.(*Stream).waitRead(0xc00747e1a0, 0x0, 0x0)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:271 +0x1bf
github.com/xtaci/smux.(*Stream).WriteTo(0xc00747e1a0, 0x844e40, 0xc00000e098, 0x7fdce592d3e0, 0xc00747e1a0, 0x40a001)
    /home/xtaci/go/pkg/mod/github.com/xtaci/smux@v1.5.14/stream.go:197 +0x242
github.com/xtaci/kcptun/generic.Copy(0x844e40, 0xc00000e098, 0x7fdce592d3c0, 0xc00747e1a0, 0xc00747e1a0, 0x0, 0x0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:14 +0x197
main.handleClient.func2(0x844e40, 0xc00000e098, 0x846ae0, 0xc00747e1a0)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
created by main.handleClient
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:65 +0x67c

goroutine 27442 [IO wait]:
internal/poll.runtime_pollWait(0x7fdce45adee8, 0x72, 0xffffffffffffffff)
    /usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc00d5e4598, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00d5e4580, 0xc006722000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc00d5e4580, 0xc006722000, 0x1000, 0x1000, 0xc006722000, 0x0, 0x0)
    /usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e0a8, 0xc006722000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/net.go:184 +0x8e
io.copyBuffer(0x844d40, 0xc0098f0270, 0x844e20, 0xc00000e0a8, 0xc006722000, 0x1000, 0x1000, 0x7374c0, 0xc000010001, 0xc006722000)
    /usr/local/go/src/io/io.go:405 +0x122
io.CopyBuffer(0x844d40, 0xc0098f0270, 0x844e20, 0xc00000e0a8, 0xc006722000, 0x1000, 0x1000, 0x7ac560, 0x0, 0x844e20)
    /usr/local/go/src/io/io.go:378 +0x82
github.com/xtaci/kcptun/generic.Copy(0x844d40, 0xc0098f0270, 0x844e20, 0xc00000e0a8, 0xc00000e0a8, 0x203003, 0x6aa028)
    /home/xtaci/go/src/github.com/xtaci/kcptun/generic/copy.go:23 +0x148
main.handleClient.func2(0x844d40, 0xc0098f0270, 0x7fdce592d358, 0xc00000e0a8)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:55 +0xa9
main.handleClient(0xc00017a400, 0x84ef00, 0xc00000e0a8, 0xf0d171600)
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:66 +0x6d9
created by main.main.func1
    /home/xtaci/go/src/github.com/xtaci/kcptun/client/main.go:453 +0x1c00
orange030 commented 4 years ago

启动的参数是

client_linux_amd64 --localaddr :9016 --remoteaddr {MyServerIP}:9116 --key {MyKey}--crypt aes-128 --mode fast3 --mtu 1350 --sndwnd 512 --rcvwnd 512 --datashard 30 --parityshard 15 --dscp 46 --nocomp true --quiet false
lovexiaofan123 commented 4 years ago

我也遇到了,内存只升不降导致内存泄漏,然后网络就蹦了,必须重新运行就好了,但过一会一样的情况,我目前退到409版本了

BH4WHN commented 4 years ago

确实存在该问题

cool168 commented 4 years ago

0409版本在docker里用也是内存不停的涨,我已经退回到0201版本了。

BH4WHN commented 4 years ago

0409版本在docker里用也是内存不停的涨,我已经退回到0201版本了。

0201确定没这个问题吗?

lovexiaofan123 commented 4 years ago

0409版本在docker里用也是内存不停的涨,我已经退回到0201版本了。

还真是,0409也有这问题,只不过情况要比071要好得多,运行了1天左右才蹦掉

maxwellzh commented 4 years ago

启动的参数是

client_linux_amd64 --localaddr :9016 --remoteaddr {MyServerIP}:9116 --key {MyKey}--crypt aes-128 --mode fast3 --mtu 1350 --sndwnd 512 --rcvwnd 512 --datashard 30 --parityshard 15 --dscp 46 --nocomp true --quiet false

建议把datashardparityshard改成105,0701我用了半个月了,客户端服务端都没有出现你描述的情况

xygwfxu commented 3 years ago

mmexport1608191759093

xygwfxu commented 3 years ago

FYI. 38% memory is used after ran for 15 days (1.5G total).