We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
中转机运行: ehco -l 0.0.0.0:20000 -r ws://x.x.x.x:20000 -tt ws 大概半小时抛异常, 进程退出. 落地机没有这个问题.
ehco -l 0.0.0.0:20000 -r ws://x.x.x.x:20000 -tt ws
直接运行ehco, 和使用docker运行都会复现, 下面是部分docker日志:
internal/poll.runtime_pollWait(0x7eff551f4b38, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00010b918, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x1df, 0xc00010b900, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc00010b800, 0xc00010b900, 0x4000000000000000, 0x62e, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc00010b800, 0xaf5e60, 0xc0000b84d0, 0xc0002d8d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b84c0, 0xaf5e60, 0xc0000b84d0, 0x18, 0xc0002d8de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b84c0, 0xaf5e60, 0xc0000b84d0, 0x7eff551cbc38, 0xc0000b84c0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b84c0, 0xaf5e60, 0xc0000b84d0, 0xc000348000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b84c0, 0xaf5e60, 0xc0000b84d0, 0xc000348000, 0x1000, 0x1000, 0x668001, 0xc0002d8fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b84c0, 0xaf9f68, 0xc0000b84d0, 0x7fff5ab37f71, 0x1a, 0xc000343f80) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 5908 [chan receive]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc0000b82b8, 0xaf9f68, 0xc00000e4c8, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc0000b82b8, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc0000b82b8) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 3987 [chan receive, 4 minutes]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc0000b8238, 0xaf9f68, 0xc00000e420, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc0000b8238, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc0000b8238) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 6191 [chan receive]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc00000e6b8, 0xaf9f68, 0xc0000b84e0, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc00000e6b8, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc00000e6b8) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 6466 [IO wait]: internal/poll.runtime_pollWait(0x7eff551f6010, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0003efe98, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x73, 0xc0003efe80, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0003efd00, 0xc0003efe80, 0x4000000000000000, 0x2cca, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0003efd00, 0xaf5e60, 0xc0000b86b8, 0xc000035598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e878, 0xaf5e60, 0xc0000b86b8, 0x18, 0xc0000355e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e878, 0xaf5e60, 0xc0000b86b8, 0x7eff551cbc38, 0xc00000e878, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e878, 0xaf5e60, 0xc0000b86b8, 0xc0003b1000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e878, 0xaf5e60, 0xc0000b86b8, 0xc0003b1000, 0x1000, 0x1000, 0x668001, 0xc0000357a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc00000e878, 0xaf9f68, 0xc0000b86b8, 0x7fff5ab37f71, 0x1a, 0xc000573aa0) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 2673 [IO wait]: internal/poll.runtime_pollWait(0x7eff551f4df0, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00053df98, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x9f, 0xc00053df80, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc00054e080, 0xc00053df80, 0x4000000000000000, 0x2c54, 0x1, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc00054e080, 0xaf5e60, 0xc0000b9090, 0xaf95b8, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000f3c0, 0xaf5e60, 0xc0000b9090, 0x18, 0xc000035de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000f3c0, 0xaf5e60, 0xc0000b9090, 0x7eff551cbc38, 0xc00000f3c0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000f3c0, 0xaf5e60, 0xc0000b9090, 0xc0003a3000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000f3c0, 0xaf5e60, 0xc0000b9090, 0xc0003a3000, 0x1000, 0x1000, 0x668001, 0xc000035fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc00000f3c0, 0xaf9f68, 0xc0000b9090, 0x7fff5ab37f71, 0x1a, 0xc0004ea780) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 5226 [chan receive, 2 minutes]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc00000e668, 0xaf9f68, 0xc0000b8538, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc00000e668, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc00000e668) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 5775 [IO wait]: internal/poll.runtime_pollWait(0x7eff551fb318, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0004c0c98, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x15f, 0xc0004c0c80, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc00053d380, 0xc0004c0c80, 0x4000000000000000, 0x512, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc00053d380, 0xaf5e60, 0xc0000b81e8, 0xc000033d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e390, 0xaf5e60, 0xc0000b81e8, 0x18, 0xc000033de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e390, 0xaf5e60, 0xc0000b81e8, 0x7eff551cbc38, 0xc00000e390, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e390, 0xaf5e60, 0xc0000b81e8, 0xc0000df000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e390, 0xaf5e60, 0xc0000b81e8, 0xc0000df000, 0x1000, 0x1000, 0x668001, 0xc000033fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc00000e390, 0xaf9f68, 0xc0000b81e8, 0x7fff5ab37f71, 0x1a, 0xc0002be1e0) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 3526 [IO wait, 4 minutes]: internal/poll.runtime_pollWait(0x7eff551e6180, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc000574598, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x1b1, 0xc000574580, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc000574680, 0xc000574580, 0x4000000000000000, 0x704, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc000574680, 0xaf5e60, 0xc0000b9610, 0xc000039598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b9630, 0xaf5e60, 0xc0000b9610, 0x18, 0xc0000395e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b9630, 0xaf5e60, 0xc0000b9610, 0x7eff551cbc38, 0xc0000b9630, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b9630, 0xaf5e60, 0xc0000b9610, 0xc0002b2000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b9630, 0xaf5e60, 0xc0000b9610, 0xc0002b2000, 0x1000, 0x1000, 0x668001, 0xc0000397a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc0000b9630, 0xaf9f68, 0xc0000b9610, 0x7fff5ab37f71, 0x1a, 0xc000572a20) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 2672 [IO wait]: internal/poll.runtime_pollWait(0x7eff551f4d08, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00054e098, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x33, 0xc00054e080, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc00053df80, 0xc00054e080, 0x4000000000000000, 0x1d4a, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc00053df80, 0xaf5e60, 0xc00000f3c0, 0xc000039d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b9090, 0xaf5e60, 0xc00000f3c0, 0x18, 0xc000039de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b9090, 0xaf5e60, 0xc00000f3c0, 0x7eff551cbc38, 0xc0000b9090, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b9090, 0xaf5e60, 0xc00000f3c0, 0xc0000e0000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b9090, 0xaf5e60, 0xc00000f3c0, 0xc0000e0000, 0x1000, 0x1000, 0x668001, 0xc000039fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b9090, 0xaf9f68, 0xc00000f3c0, 0x7fff5ab37f71, 0x1a, 0xc0004ea780) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 2639 [chan receive, 4 minutes]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc0000b9068, 0xaf9f68, 0xc00000f390, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc0000b9068, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc0000b9068) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 6305 [IO wait]: internal/poll.runtime_pollWait(0x7eff551f6498, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc000368998, 0x72, 0x200, 0x0, 0x400000) /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.spliceDrain(0x20b, 0xc000368980, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0003ee180, 0xc000368980, 0x4000000000000000, 0x1c9a, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0003ee180, 0xaf5e60, 0xc0000b8598, 0xc000038598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e760, 0xaf5e60, 0xc0000b8598, 0x18, 0xc0000385e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e760, 0xaf5e60, 0xc0000b8598, 0x7eff551cbc38, 0xc00000e760, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e760, 0xaf5e60, 0xc0000b8598, 0xc000669000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e760, 0xaf5e60, 0xc0000b8598, 0xc000669000, 0x1000, 0x1000, 0x668001, 0xc0000387a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc00000e760, 0xaf9f68, 0xc0000b8598, 0x7fff5ab37f71, 0x1a, 0xc000572d20) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 5592 [IO wait]: internal/poll.runtime_pollWait(0x7eff551f5618, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc000504d98, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0xd3, 0xc000504d80, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc000504e80, 0xc000504d80, 0x4000000000000000, 0xac6, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc000504e80, 0xaf5e60, 0xc0000b8088, 0xc000037598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b8090, 0xaf5e60, 0xc0000b8088, 0x18, 0xc0000375e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b8090, 0xaf5e60, 0xc0000b8088, 0x7eff551cbc38, 0xc0000b8090, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b8090, 0xaf5e60, 0xc0000b8088, 0xc000378000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b8090, 0xaf5e60, 0xc0000b8088, 0xc000378000, 0x1000, 0x1000, 0x668001, 0xc0000377a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc0000b8090, 0xaf9f68, 0xc0000b8088, 0x7fff5ab37f71, 0x1a, 0xc0002389c0) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 4058 [IO wait, 4 minutes]: internal/poll.runtime_pollWait(0x7eff551b8268, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00023b718, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x37, 0xc00023b700, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc00023b600, 0xc00023b700, 0x4000000000000000, 0xf7e, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc00023b600, 0xaf5e60, 0xc0000b82b0, 0xc000037598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e4a0, 0xaf5e60, 0xc0000b82b0, 0x18, 0xc0000375e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e4a0, 0xaf5e60, 0xc0000b82b0, 0x7eff551cbc38, 0xc00000e4a0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e4a0, 0xaf5e60, 0xc0000b82b0, 0xc000428000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e4a0, 0xaf5e60, 0xc0000b82b0, 0xc000428000, 0x1000, 0x1000, 0x668001, 0xc0000377a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc00000e4a0, 0xaf9f68, 0xc0000b82b0, 0x7fff5ab37f71, 0x1a, 0xc000086ea0) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 2710 [IO wait, 4 minutes]: internal/poll.runtime_pollWait(0x7eff551e5ec8, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0004e7898, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x2d, 0xc0004e7880, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0004e7980, 0xc0004e7880, 0x4000000000000000, 0x953, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0004e7980, 0xaf5e60, 0xc00000f400, 0xc000033d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b90e0, 0xaf5e60, 0xc00000f400, 0x18, 0xc000033de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b90e0, 0xaf5e60, 0xc00000f400, 0x7eff551cbc38, 0xc0000b90e0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b90e0, 0xaf5e60, 0xc00000f400, 0xc000411000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b90e0, 0xaf5e60, 0xc00000f400, 0xc000411000, 0x1000, 0x1000, 0x668001, 0xc000033fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc0000b90e0, 0xaf9f68, 0xc00000f400, 0x7fff5ab37f71, 0x1a, 0xc0004eaa20) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 2707 [chan receive, 4 minutes]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc00000f400, 0xaf9f68, 0xc0000b90e0, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc00000f400, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc00000f400) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 5786 [chan receive]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc0000b81f0, 0xaf9f68, 0xc00000e398, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc0000b81f0, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc0000b81f0) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 6465 [IO wait]: internal/poll.runtime_pollWait(0x7eff551d5628, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0003efc98, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x4f, 0xc0003efc80, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0004b8600, 0xc0003efc80, 0x4000000000000000, 0x19ca, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0004b8600, 0xaf5e60, 0xc00000e870, 0xc0002d6d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e880, 0xaf5e60, 0xc00000e870, 0x18, 0xc0002d6de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e880, 0xaf5e60, 0xc00000e870, 0x7eff551cbc38, 0xc00000e880, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e880, 0xaf5e60, 0xc00000e870, 0xc0002c7000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e880, 0xaf5e60, 0xc00000e870, 0xc0002c7000, 0x1000, 0x1000, 0x668001, 0xc0002d6fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc00000e880, 0xaf9f68, 0xc00000e870, 0x7fff5ab37f71, 0x1a, 0xc000573a40) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 6292 [IO wait]: internal/poll.runtime_pollWait(0x7eff551e5130, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc000368898, 0x72, 0x200, 0x0, 0x400000) /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.spliceDrain(0x209, 0xc000368880, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc000368780, 0xc000368880, 0x4000000000000000, 0x173f, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc000368780, 0xaf5e60, 0xc00000e768, 0xc0002d5d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b8580, 0xaf5e60, 0xc00000e768, 0x18, 0xc0002d5de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b8580, 0xaf5e60, 0xc00000e768, 0x7eff551cbc38, 0xc0000b8580, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b8580, 0xaf5e60, 0xc00000e768, 0xc0000c8000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b8580, 0xaf5e60, 0xc00000e768, 0xc0000c8000, 0x1000, 0x1000, 0x668001, 0xc0002d5fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b8580, 0xaf9f68, 0xc00000e768, 0x7fff5ab37f71, 0x1a, 0xc000445740) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 4066 [chan receive, 4 minutes]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc00000e4a0, 0xaf9f68, 0xc0000b82b0, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc00000e4a0, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc00000e4a0) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 5367 [chan receive, 2 minutes]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc00000e750, 0xaf9f68, 0xc00000e758, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc00000e750, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc00000e750) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 5422 [IO wait, 2 minutes]: internal/poll.runtime_pollWait(0x7eff551cd838, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0004a2518, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x116, 0xc0004a2500, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0003efd80, 0xc0004a2500, 0x4000000000000000, 0x1e2fe, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0003efd80, 0xaf5e60, 0xc0000b86e8, 0xc000033d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b86e0, 0xaf5e60, 0xc0000b86e8, 0x18, 0xc000033de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b86e0, 0xaf5e60, 0xc0000b86e8, 0x7eff551cbc38, 0xc0000b86e0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b86e0, 0xaf5e60, 0xc0000b86e8, 0xc0000ef000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b86e0, 0xaf5e60, 0xc0000b86e8, 0xc0000ef000, 0x1000, 0x1000, 0x668001, 0xc000033fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b86e0, 0xaf9f68, 0xc0000b86e8, 0x7fff5ab37f71, 0x1a, 0xc000086fc0) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 5398 [IO wait, 2 minutes]: internal/poll.runtime_pollWait(0x7eff54fe3828, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0003ef818, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x96, 0xc0003ef800, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0003ef700, 0xc0003ef800, 0x4000000000000000, 0x278a, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0003ef700, 0xaf5e60, 0xc00000e780, 0xc000038d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b86a0, 0xaf5e60, 0xc00000e780, 0x18, 0xc000038de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b86a0, 0xaf5e60, 0xc00000e780, 0x7eff551cbc38, 0xc0000b86a0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b86a0, 0xaf5e60, 0xc00000e780, 0xc0003da000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b86a0, 0xaf5e60, 0xc00000e780, 0xc0003da000, 0x1000, 0x1000, 0x668001, 0xc000038fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b86a0, 0xaf9f68, 0xc00000e780, 0x7fff5ab37f71, 0x1a, 0xc00007b020) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 5330 [chan receive, 2 minutes]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc00000e700, 0xaf9f68, 0xc00000e708, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc00000e700, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc00000e700) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 6293 [IO wait]: internal/poll.runtime_pollWait(0x7eff551e5218, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc000368798, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x18b, 0xc000368780, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc000368880, 0xc000368780, 0x4000000000000000, 0x27d, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc000368880, 0xaf5e60, 0xc0000b8580, 0xc0002d4d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e768, 0xaf5e60, 0xc0000b8580, 0x18, 0xc0002d4de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e768, 0xaf5e60, 0xc0000b8580, 0x7eff551cbc38, 0xc00000e768, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e768, 0xaf5e60, 0xc0000b8580, 0xc0003d0000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e768, 0xaf5e60, 0xc0000b8580, 0xc0003d0000, 0x1000, 0x1000, 0x668001, 0xc0002d4fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc00000e768, 0xaf9f68, 0xc0000b8580, 0x7fff5ab37f71, 0x1a, 0xc000445740) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 5126 [IO wait, 2 minutes]: internal/poll.runtime_pollWait(0x7eff551f5c70, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00023a018, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0xe0, 0xc00023a000, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc00023a180, 0xc00023a000, 0x4000000000000000, 0xfb5, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc00023a180, 0xaf5e60, 0xc0000b8490, 0xc0002d6598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e558, 0xaf5e60, 0xc0000b8490, 0x18, 0xc0002d65e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e558, 0xaf5e60, 0xc0000b8490, 0x7eff551cbc38, 0xc00000e558, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e558, 0xaf5e60, 0xc0000b8490, 0xc000593000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e558, 0xaf5e60, 0xc0000b8490, 0xc000593000, 0x1000, 0x1000, 0x668001, 0xc0002d67a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc00000e558, 0xaf9f68, 0xc0000b8490, 0x7fff5ab37f71, 0x1a, 0xc0004457a0) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 5862 [chan receive]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc00000e418, 0xaf9f68, 0xc0000b8270, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc00000e418, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc00000e418) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 6348 [IO wait]: internal/poll.runtime_pollWait(0x7eff551f3f70, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc000369998, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x1a5, 0xc000369980, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc000369880, 0xc000369980, 0x4000000000000000, 0xd8a, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc000369880, 0xaf5e60, 0xc00000e7b0, 0xc0002d7d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b85f8, 0xaf5e60, 0xc00000e7b0, 0x18, 0xc0002d7de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b85f8, 0xaf5e60, 0xc00000e7b0, 0x7eff551cbc38, 0xc0000b85f8, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b85f8, 0xaf5e60, 0xc00000e7b0, 0xc000250000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b85f8, 0xaf5e60, 0xc00000e7b0, 0xc000250000, 0x1000, 0x1000, 0x668001, 0xc0002d7fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b85f8, 0xaf9f68, 0xc00000e7b0, 0x7fff5ab37f71, 0x1a, 0xc0005730e0) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 5789 [IO wait]: internal/poll.runtime_pollWait(0x7eff551dfe28, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0004c0d18, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x161, 0xc0004c0d00, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0004c0e00, 0xc0004c0d00, 0x4000000000000000, 0x4ce, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0004c0e00, 0xaf5e60, 0xc0000b81f0, 0xc000038d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e398, 0xaf5e60, 0xc0000b81f0, 0x18, 0xc000038de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e398, 0xaf5e60, 0xc0000b81f0, 0x7eff551cbc38, 0xc00000e398, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e398, 0xaf5e60, 0xc0000b81f0, 0xc000349000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e398, 0xaf5e60, 0xc0000b81f0, 0xc000349000, 0x1000, 0x1000, 0x668001, 0xc000038fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc00000e398, 0xaf9f68, 0xc0000b81f0, 0x7fff5ab37f71, 0x1a, 0xc000087bc0) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 5925 [IO wait]: internal/poll.runtime_pollWait(0x7eff551dfb70, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0004c1e18, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0xf7, 0xc0004c1e00, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc000574b80, 0xc0004c1e00, 0x4000000000000000, 0x329, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc000574b80, 0xaf5e60, 0xc0000b82a0, 0xc0002d2d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e4b0, 0xaf5e60, 0xc0000b82a0, 0x18, 0xc0002d2de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e4b0, 0xaf5e60, 0xc0000b82a0, 0x7eff551cbc38, 0xc00000e4b0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e4b0, 0xaf5e60, 0xc0000b82a0, 0xc000473000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e4b0, 0xaf5e60, 0xc0000b82a0, 0xc000473000, 0x1000, 0x1000, 0x668001, 0xc0002d2fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc00000e4b0, 0xaf9f68, 0xc0000b82a0, 0x7fff5ab37f71, 0x1a, 0xc0002becc0) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 6214 [IO wait]: internal/poll.runtime_pollWait(0x7eff551cdda8, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00023b418, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x1e7, 0xc00023b400, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc00023b300, 0xc00023b400, 0x4000000000000000, 0x117e, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc00023b300, 0xaf5e60, 0xc0000b84e0, 0xc000039d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e6b8, 0xaf5e60, 0xc0000b84e0, 0x18, 0xc000039de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e6b8, 0xaf5e60, 0xc0000b84e0, 0x7eff551cbc38, 0xc00000e6b8, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e6b8, 0xaf5e60, 0xc0000b84e0, 0xc00011c000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e6b8, 0xaf5e60, 0xc0000b84e0, 0xc00011c000, 0x1000, 0x1000, 0x668001, 0xc000039fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc00000e6b8, 0xaf9f68, 0xc0000b84e0, 0x7fff5ab37f71, 0x1a, 0xc000572120) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 5255 [IO wait, 2 minutes]: internal/poll.runtime_pollWait(0x7eff551dfc58, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc000368498, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x2b, 0xc000368480, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc000368300, 0xc000368480, 0x4000000000000000, 0x1642, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc000368300, 0xaf5e60, 0xc0000b8588, 0xc000037d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e698, 0xaf5e60, 0xc0000b8588, 0x18, 0xc000037de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e698, 0xaf5e60, 0xc0000b8588, 0x7eff551cbc38, 0xc00000e698, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e698, 0xaf5e60, 0xc0000b8588, 0xc000111000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e698, 0xaf5e60, 0xc0000b8588, 0xc000111000, 0x1000, 0x1000, 0x668001, 0xc000037fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc00000e698, 0xaf9f68, 0xc0000b8588, 0x7fff5ab37f71, 0x1a, 0xc00007a300) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 6411 [chan receive]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc00000e818, 0xaf9f68, 0xc00000e820, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc00000e818, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc00000e818) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 6306 [IO wait]: internal/poll.runtime_pollWait(0x7eff551f6580, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0003ee198, 0x72, 0x200, 0x0, 0x400000) /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.spliceDrain(0x20d, 0xc0003ee180, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc000368980, 0xc0003ee180, 0x4000000000000000, 0x1fc8, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc000368980, 0xaf5e60, 0xc00000e760, 0xc0002d4598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b8598, 0xaf5e60, 0xc00000e760, 0x18, 0xc0002d45e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b8598, 0xaf5e60, 0xc00000e760, 0x7eff551cbc38, 0xc0000b8598, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b8598, 0xaf5e60, 0xc00000e760, 0xc0002bb000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b8598, 0xaf5e60, 0xc00000e760, 0xc0002bb000, 0x1000, 0x1000, 0x668001, 0xc0002d47a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc0000b8598, 0xaf9f68, 0xc00000e760, 0x7fff5ab37f71, 0x1a, 0xc000572d20) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 5924 [IO wait]: internal/poll.runtime_pollWait(0x7eff551f4880, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc000574b98, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0xf5, 0xc000574b80, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0004c1e00, 0xc000574b80, 0x4000000000000000, 0x18d, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0004c1e00, 0xaf5e60, 0xc00000e4b0, 0xc0002d7d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b82a0, 0xaf5e60, 0xc00000e4b0, 0x18, 0xc0002d7de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b82a0, 0xaf5e60, 0xc00000e4b0, 0x7eff551cbc38, 0xc0000b82a0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b82a0, 0xaf5e60, 0xc00000e4b0, 0xc000391000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b82a0, 0xaf5e60, 0xc00000e4b0, 0xc000391000, 0x1000, 0x1000, 0x668001, 0xc0002d7fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b82a0, 0xaf9f68, 0xc00000e4b0, 0x7fff5ab37f71, 0x1a, 0xc0002becc0) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 6215 [IO wait]: internal/poll.runtime_pollWait(0x7eff551cde90, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00023b318, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x1e5, 0xc00023b300, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc00023b400, 0xc00023b300, 0x4000000000000000, 0xf80, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc00023b400, 0xaf5e60, 0xc00000e6b8, 0xc0002d8d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b84e0, 0xaf5e60, 0xc00000e6b8, 0x18, 0xc0002d8de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b84e0, 0xaf5e60, 0xc00000e6b8, 0x7eff551cbc38, 0xc0000b84e0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b84e0, 0xaf5e60, 0xc00000e6b8, 0xc0005fc000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b84e0, 0xaf5e60, 0xc00000e6b8, 0xc0005fc000, 0x1000, 0x1000, 0x668001, 0xc0002d8fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc0000b84e0, 0xaf9f68, 0xc00000e6b8, 0x7fff5ab37f71, 0x1a, 0xc000572120) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 5371 [IO wait, 2 minutes]: internal/poll.runtime_pollWait(0x7eff551fb888, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0003ef498, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x86, 0xc0003ef480, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc000369700, 0xc0003ef480, 0x4000000000000000, 0xfd4, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc000369700, 0xaf5e60, 0xc00000e758, 0xc0002d6d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e750, 0xaf5e60, 0xc00000e758, 0x18, 0xc0002d6de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e750, 0xaf5e60, 0xc00000e758, 0x7eff551cbc38, 0xc00000e750, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e750, 0xaf5e60, 0xc00000e758, 0xc000671000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e750, 0xaf5e60, 0xc00000e758, 0xc000671000, 0x1000, 0x1000, 0x668001, 0xc0002d6fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc00000e750, 0xaf9f68, 0xc00000e758, 0x7fff5ab37f71, 0x1a, 0xc00007ad20) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 6290 [chan receive]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc00000e760, 0xaf9f68, 0xc0000b8598, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc00000e760, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc00000e760) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 6307 [chan receive]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc0000b85a0, 0xaf9f68, 0xc00000e770, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc0000b85a0, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc0000b85a0) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 5926 [IO wait]: internal/poll.runtime_pollWait(0x7eff551fc9c0, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc000574d18, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x122, 0xc000574d00, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0004c1e80, 0xc000574d00, 0x4000000000000000, 0x18d, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0004c1e80, 0xaf5e60, 0xc00000e4b8, 0xc000033d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b82a8, 0xaf5e60, 0xc00000e4b8, 0x18, 0xc000033de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b82a8, 0xaf5e60, 0xc00000e4b8, 0x7eff551cbc38, 0xc0000b82a8, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b82a8, 0xaf5e60, 0xc00000e4b8, 0xc000435000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b82a8, 0xaf5e60, 0xc00000e4b8, 0xc000435000, 0x1000, 0x1000, 0x668001, 0xc000033fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b82a8, 0xaf9f68, 0xc00000e4b8, 0x7fff5ab37f71, 0x1a, 0xc0002bed20) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 6346 [chan receive]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc0000b85f8, 0xaf9f68, 0xc00000e7b0, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc0000b85f8, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc0000b85f8) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 5774 [IO wait]: internal/poll.runtime_pollWait(0x7eff54fe4220, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc00053d398, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x163, 0xc00053d380, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0004c0c80, 0xc00053d380, 0x4000000000000000, 0x18ca, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0004c0c80, 0xaf5e60, 0xc00000e390, 0xc0002d7598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b81e8, 0xaf5e60, 0xc00000e390, 0x18, 0xc0002d75e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b81e8, 0xaf5e60, 0xc00000e390, 0x7eff551cbc38, 0xc0000b81e8, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b81e8, 0xaf5e60, 0xc00000e390, 0xc0003d7000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b81e8, 0xaf5e60, 0xc00000e390, 0xc0003d7000, 0x1000, 0x1000, 0x668001, 0xc0002d77a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b81e8, 0xaf9f68, 0xc00000e390, 0x7fff5ab37f71, 0x1a, 0xc0002be1e0) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 6295 [IO wait]: internal/poll.runtime_pollWait(0x7eff551e68c0, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc000368b18, 0x72, 0x200, 0x0, 0x400000) /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.spliceDrain(0x22f, 0xc000368b00, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc000368a00, 0xc000368b00, 0x4000000000000000, 0x17d4, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc000368a00, 0xaf5e60, 0xc00000e770, 0xc0002d4598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b85a0, 0xaf5e60, 0xc00000e770, 0x18, 0xc0002d45e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b85a0, 0xaf5e60, 0xc00000e770, 0x7eff551cbc38, 0xc0000b85a0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b85a0, 0xaf5e60, 0xc00000e770, 0xc000451000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b85a0, 0xaf5e60, 0xc00000e770, 0xc000451000, 0x1000, 0x1000, 0x668001, 0xc0002d47a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b85a0, 0xaf9f68, 0xc00000e770, 0x7fff5ab37f71, 0x1a, 0xc000445860) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 6055 [chan receive]: github.com/Ehco1996/ehco/internal/transporter.transport(0xaf9f68, 0xc0000b83d0, 0xaf9f68, 0xc00000e5c8, 0x7fff5ab37f71, 0x1a, 0x2, 0x0) /app/internal/transporter/buffer.go:79 +0x13f github.com/Ehco1996/ehco/internal/transporter.(*Ws).HandleTCPConn(0xc00000e370, 0xc0000b83d0, 0x0, 0x0) /app/internal/transporter/ws.go:36 +0x4a5 github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer.func1(0xc00005cff0, 0xc0000b83d0) /app/internal/relay/relay.go:106 +0x42 created by github.com/Ehco1996/ehco/internal/relay.(*Relay).RunLocalTCPServer /app/internal/relay/relay.go:105 +0xf8 goroutine 6058 [IO wait]: internal/poll.runtime_pollWait(0x7eff551fc368, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0000b3d18, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x6b, 0xc0000b3d00, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0000b3e80, 0xc0000b3d00, 0x4000000000000000, 0x4385, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0000b3e80, 0xaf5e60, 0xc0000b83d0, 0xc0002d2d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e5c8, 0xaf5e60, 0xc0000b83d0, 0x18, 0xc0002d2de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e5c8, 0xaf5e60, 0xc0000b83d0, 0x7eff551cbc38, 0xc00000e5c8, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e5c8, 0xaf5e60, 0xc0000b83d0, 0xc000314000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e5c8, 0xaf5e60, 0xc0000b83d0, 0xc000314000, 0x1000, 0x1000, 0x668001, 0xc0002d2fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func2(0xaf9f68, 0xc00000e5c8, 0xaf9f68, 0xc0000b83d0, 0x7fff5ab37f71, 0x1a, 0xc000343260) /app/internal/transporter/buffer.go:74 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:71 +0x11f goroutine 5928 [IO wait]: internal/poll.runtime_pollWait(0x7eff551fabd8, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0000b2018, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x170, 0xc0000b2000, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0004c1f00, 0xc0000b2000, 0x4000000000000000, 0x18d, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0004c1f00, 0xaf5e60, 0xc00000e4c8, 0xc0002d5d98, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b82b8, 0xaf5e60, 0xc00000e4c8, 0x18, 0xc0002d5de8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b82b8, 0xaf5e60, 0xc00000e4c8, 0x7eff551cbc38, 0xc0000b82b8, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b82b8, 0xaf5e60, 0xc00000e4c8, 0xc000279000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b82b8, 0xaf5e60, 0xc00000e4c8, 0xc000279000, 0x1000, 0x1000, 0x668001, 0xc0002d5fa0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b82b8, 0xaf9f68, 0xc00000e4c8, 0x7fff5ab37f71, 0x1a, 0xc0002bed80) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 6432 [IO wait]: internal/poll.runtime_pollWait(0x7eff551d5540, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0004b8618, 0x72, 0x0, 0x0, 0x400000) /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.spliceDrain(0x5b, 0xc0004b8600, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0003efc80, 0xc0004b8600, 0x4000000000000000, 0xd86e, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0003efc80, 0xaf5e60, 0xc00000e880, 0xc000037598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc00000e870, 0xaf5e60, 0xc00000e880, 0x18, 0xc0000375e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc00000e870, 0xaf5e60, 0xc00000e880, 0x7eff551cbc38, 0xc00000e870, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc00000e870, 0xaf5e60, 0xc00000e880, 0xc000471000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc00000e870, 0xaf5e60, 0xc00000e880, 0xc000471000, 0x1000, 0x1000, 0x668001, 0xc0000377a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc00000e870, 0xaf9f68, 0xc00000e880, 0x7fff5ab37f71, 0x1a, 0xc000573a40) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf goroutine 5788 [IO wait]: internal/poll.runtime_pollWait(0x7eff551dfd40, 0x72, 0x0) /usr/local/go/src/runtime/netpoll.go:222 +0x55 internal/poll.(*pollDesc).wait(0xc0004c0e18, 0x72, 0x100, 0x0, 0x400000) /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.spliceDrain(0x165, 0xc0004c0e00, 0x400000, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:96 +0x1a5 internal/poll.Splice(0xc0004c0d00, 0xc0004c0e00, 0x4000000000000000, 0x18a9, 0xc0001cab01, 0x0, 0x0, 0x0, 0x0) /usr/local/go/src/internal/poll/splice_linux.go:42 +0x131 net.splice(0xc0004c0d00, 0xaf5e60, 0xc00000e398, 0xc000034598, 0x40a63f, 0xc000010000, 0x9b2800) /usr/local/go/src/net/splice_linux.go:39 +0xab net.(*TCPConn).readFrom(0xc0000b81f0, 0xaf5e60, 0xc00000e398, 0x18, 0xc0000345e8, 0x40ba4a) /usr/local/go/src/net/tcpsock_posix.go:48 +0x46 net.(*TCPConn).ReadFrom(0xc0000b81f0, 0xaf5e60, 0xc00000e398, 0x7eff551cbc38, 0xc0000b81f0, 0x1) /usr/local/go/src/net/tcpsock.go:103 +0x4d io.copyBuffer(0xaf5e80, 0xc0000b81f0, 0xaf5e60, 0xc00000e398, 0xc000600000, 0x1000, 0x1000, 0xa2a7c0, 0x1000, 0xaf5e60) /usr/local/go/src/io/io.go:409 +0x357 io.CopyBuffer(0xaf5e80, 0xc0000b81f0, 0xaf5e60, 0xc00000e398, 0xc000600000, 0x1000, 0x1000, 0x668001, 0xc0000347a0, 0x92205b) /usr/local/go/src/io/io.go:396 +0x8c github.com/Ehco1996/ehco/internal/transporter.transport.func1(0xaf9f68, 0xc0000b81f0, 0xaf9f68, 0xc00000e398, 0x7fff5ab37f71, 0x1a, 0xc000087bc0) /app/internal/transporter/buffer.go:66 +0x17b created by github.com/Ehco1996/ehco/internal/transporter.transport /app/internal/transporter/buffer.go:63 +0xaf```
The text was updated successfully, but these errors were encountered:
可能是ws连接一直没被关闭,gorouetine泄露了
感谢提供日志
Sorry, something went wrong.
feat: add deadline when tun ws #55
7ffa205
@van7ish 刚尝试修复了一下 ws 的中转, 有空的话可以尝试一下 7ffa205
No branches or pull requests
中转机运行:
ehco -l 0.0.0.0:20000 -r ws://x.x.x.x:20000 -tt ws
大概半小时抛异常, 进程退出. 落地机没有这个问题.
直接运行ehco, 和使用docker运行都会复现, 下面是部分docker日志:
The text was updated successfully, but these errors were encountered: