diodechain / diode_client

Diode client written in GO that runs the Blockquick™ algorithm and a socks server to transmit data through diodechain.
https://diode.io/download
Other
65 stars 23 forks source link

fatal error: runtime: out of memory #75

Closed sc0Vu closed 3 years ago

sc0Vu commented 3 years ago
12/14/2020 03:46:58 INFO Got proxy request from: ......
12/14/2020 03:46:58 INFO Resolving BNS: berlin-zehlendorf server=us1.prenet.diode.io:41046 
fatal error: runtime: out of memory

runtime stack:
runtime.throw(0xe9eb15, 0x16)
    /path/to/go/1.15.6/src/runtime/panic.go:1116 +0x72
runtime.sysMap(0xc004000000, 0x8a4000000, 0x16d3798)
    /path/to/go/1.15.6/src/runtime/mem_linux.go:169 +0xc6
runtime.(*mheap).sysAlloc(0x16b3c00, 0x8a1400000, 0x46ce37, 0x16b3c08)
    /path/to/go/1.15.6/src/runtime/malloc.go:727 +0x1e5
runtime.(*mheap).grow(0x16b3c00, 0x450964, 0x0)
    /path/to/go/1.15.6/src/runtime/mheap.go:1344 +0x85
runtime.(*mheap).allocSpan(0x16b3c00, 0x450964, 0x7ffd8fe50100, 0x16d37a8, 0x279381007b7a51)
    /path/to/go/1.15.6/src/runtime/mheap.go:1160 +0x6b6
runtime.(*mheap).alloc.func1()
    /path/to/go/1.15.6/src/runtime/mheap.go:907 +0x65
runtime.(*mheap).alloc(0x16b3c00, 0x450964, 0x101, 0x169c6a0)
    /path/to/go/1.15.6/src/runtime/mheap.go:901 +0x85
runtime.largeAlloc(0x8a12c7870, 0x4b0101, 0x0)
    /path/to/go/1.15.6/src/runtime/malloc.go:1177 +0x92
runtime.mallocgc.func1()
    /path/to/go/1.15.6/src/runtime/malloc.go:1071 +0x46
runtime.systemstack(0x4ad2f4)
    /path/to/go/1.15.6/src/runtime/asm_amd64.s:370 +0x66
runtime.mstart()
    /path/to/go/1.15.6/src/runtime/proc.go:1116

goroutine 2907 [running]:
runtime.systemstack_switch()
    /path/to/go/1.15.6/src/runtime/asm_amd64.s:330 fp=0xc0001c1420 sp=0xc0001c1418 pc=0x4ad420
runtime.mallocgc(0x8a12c7870, 0xd9a4a0, 0x1, 0x1)
    /path/to/go/1.15.6/src/runtime/malloc.go:1070 +0x938 fp=0xc0001c14c0 sp=0xc0001c1420 pc=0x44ee58
runtime.makeslice(0xd9a4a0, 0x6e756c6c, 0x6e756c6c, 0x27686111aff14247)
    /path/to/go/1.15.6/src/runtime/slice.go:98 +0x6c fp=0xc0001c14f0 sp=0xc0001c14c0 pc=0x49004c
github.com/diodechain/diode_go_client/rpc.(*RPCClient).ResolveBNS(0xc0001009a0, 0xc00065e9f3, 0x11, 0x0, 0x0, 0x0, 0x0, 0x4f)
    /path/to/diode/rpc/client.go:867 +0x1c5 fp=0xc0001c15f0 sp=0xc0001c14f0 pc=0xa031e5
github.com/diodechain/diode_go_client/rpc.(*Server).checkAccess(0xc000297110, 0xc00065e9f3, 0x11, 0x38, 0x8, 0x40, 0x4, 0x8)
    /path/to/diode/rpc/socks.go:335 +0xa70 fp=0xc0001c17c8 sp=0xc0001c15f0 pc=0xa0c570
github.com/diodechain/diode_go_client/rpc.(*Server).doConnectDevice(0xc000297110, 0xc00065e9f3, 0x11, 0xbd6, 0x20, 0xc00065e9f0, 0x2, 0x1, 0xd6c560, 0x4, ...)
    /path/to/diode/rpc/socks.go:411 +0x5d fp=0xc0001c18f0 sp=0xc0001c17c8 pc=0xa0c77d
github.com/diodechain/diode_go_client/rpc.(*Server).connectDeviceAndLoop(0xc000297110, 0xc00065e9f3, 0x11, 0xbd6, 0x20, 0xc00065e9f0, 0x2, 0x0, 0xc0001c1b50, 0x0, ...)
    /path/to/diode/rpc/socks.go:478 +0xbe fp=0xc0001c1ab8 sp=0xc0001c18f0 pc=0xa0d23e
github.com/diodechain/diode_go_client/rpc.(*ProxyServer).pipeProxy(0xc0001340c0, 0xf855e0, 0xc0000bc540, 0xc0000a8c00)
    /path/to/diode/rpc/proxy.go:194 +0x2dc fp=0xc0001c1b98 sp=0xc0001c1ab8 pc=0xa0877c
github.com/diodechain/diode_go_client/rpc.(*ProxyServer).pipeProxy-fm(0xf855e0, 0xc0000bc540, 0xc0000a8c00)
    /path/to/diode/rpc/proxy.go:168 +0x48 fp=0xc0001c1bc8 sp=0xc0001c1b98 pc=0xa1c8a8
net/http.HandlerFunc.ServeHTTP(0xc00034e830, 0xf855e0, 0xc0000bc540, 0xc0000a8c00)
    /path/to/go/1.15.6/src/net/http/server.go:2042 +0x44 fp=0xc0001c1bf0 sp=0xc0001c1bc8 pc=0x805a44
net/http.serverHandler.ServeHTTP(0xc0000bc1c0, 0xf855e0, 0xc0000bc540, 0xc0000a8c00)
    /path/to/go/1.15.6/src/net/http/server.go:2843 +0xa3 fp=0xc0001c1c20 sp=0xc0001c1bf0 pc=0x809043
net/http.(*conn).serve(0xc0002f4820, 0xf87260, 0xc00024f580)
    /path/to/go/1.15.6/src/net/http/server.go:1925 +0x8ad fp=0xc0001c1fc8 sp=0xc0001c1c20 pc=0x80484d
runtime.goexit()
    /path/to/go/1.15.6/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc0001c1fd0 sp=0xc0001c1fc8 pc=0x4af201
created by net/http.(*Server).Serve
    /path/to/go/1.15.6/src/net/http/server.go:2969 +0x36c

goroutine 1 [chan receive]:
github.com/diodechain/diode_go_client/rpc.(*DataPool).WaitClients(...)
    /path/to/diode/rpc/datapool.go:146
main.(*Diode).Wait(0x169b900)
    /path/to/diode/cmd/diode/app.go:490 +0x5c
main.gatewayHandler(0x0, 0x0)
    /path/to/diode/cmd/diode/gateway.go:99 +0xbbd
github.com/diodechain/diode_go_client/command.(*Command).Execute(0x162e1c0, 0x0, 0x0)
    /path/to/diode/command/command.go:139 +0x2cf
main.RunDiode(...)
    /path/to/diode/cmd/diode/diode.go:27
main.main()
    /path/to/diode/cmd/diode/diode.go:33 +0x3e

goroutine 10 [chan receive]:
github.com/kierdavis/ansi.init.0.func1()
    /home/runner/go/pkg/mod/github.com/kierdavis/ansi@v0.0.0-20180105022324-90d93b0fcae2/ansi.go:16 +0x73
created by github.com/kierdavis/ansi.init.0
    /home/runner/go/pkg/mod/github.com/kierdavis/ansi@v0.0.0-20180105022324-90d93b0fcae2/ansi.go:10 +0x35

goroutine 11 [select]:
github.com/diodechain/go-cache.(*janitor).Run(0xc00034e070, 0xc00034ae00)
    /home/runner/go/pkg/mod/github.com/diodechain/go-cache@v2.1.0+incompatible/cache.go:1079 +0xda
created by github.com/diodechain/go-cache.runJanitor
    /home/runner/go/pkg/mod/github.com/diodechain/go-cache@v2.1.0+incompatible/cache.go:1099 +0xa9

goroutine 2877 [select]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).waitResponse(0xc0001009a0, 0x2ab, 0xe957ca, 0x9, 0x2, 0x0, 0xc0006ab020, 0xc0006ab080, 0xc00065e990, 0x26, ...)
    /path/to/diode/rpc/client.go:175 +0x119
github.com/diodechain/diode_go_client/rpc.(*RPCClient).CallContext(0xc0001009a0, 0xe957ca, 0x9, 0x0, 0xc00034e100, 0x1, 0x1, 0x14, 0x0, 0x0, ...)
    /path/to/diode/rpc/client.go:270 +0x2e8
github.com/diodechain/diode_go_client/rpc.(*RPCClient).GetObject(0xc0001009a0, 0x8bceba5c25e106c2, 0xb7a5d759a2da04a9, 0x502d0ef9, 0x14, 0x1, 0x1)
    /path/to/diode/rpc/client.go:494 +0xfa
github.com/diodechain/diode_go_client/rpc.(*Server).checkAccess(0xc000297110, 0xc0003219a3, 0xf, 0x1, 0x23960aa94, 0x169bb00, 0xc000100dd8, 0x100dc0)
    /path/to/diode/rpc/socks.go:382 +0x510
github.com/diodechain/diode_go_client/rpc.(*Server).doConnectDevice(0xc000297110, 0xc0003219a3, 0xf, 0xbd6, 0x20, 0xc0003219a0, 0x2, 0x0, 0x0, 0xf77ee0, ...)
    /path/to/diode/rpc/socks.go:411 +0x5d
github.com/diodechain/diode_go_client/rpc.(*Server).doConnectDevice(0xc000297110, 0xc0003219a3, 0xf, 0xbd6, 0x20, 0xc0003219a0, 0x2, 0x1, 0xd6c560, 0x4, ...)
    /path/to/diode/rpc/socks.go:462 +0x9ed
github.com/diodechain/diode_go_client/rpc.(*Server).connectDeviceAndLoop(0xc000297110, 0xc0003219a3, 0xf, 0xbd6, 0x20, 0xc0003219a0, 0x2, 0x0, 0xc0000e7b50, 0x0, ...)
    /path/to/diode/rpc/socks.go:478 +0xbe
github.com/diodechain/diode_go_client/rpc.(*ProxyServer).pipeProxy(0xc0001340c0, 0xf855e0, 0xc0000bc000, 0xc0000a8200)
    /path/to/diode/rpc/proxy.go:194 +0x2dc
net/http.HandlerFunc.ServeHTTP(0xc00034e830, 0xf855e0, 0xc0000bc000, 0xc0000a8200)
    /path/to/go/1.15.6/src/net/http/server.go:2042 +0x44
net/http.serverHandler.ServeHTTP(0xc0000bc1c0, 0xf855e0, 0xc0000bc000, 0xc0000a8200)
    /path/to/go/1.15.6/src/net/http/server.go:2843 +0xa3
net/http.(*conn).serve(0xc0002f45a0, 0xf87260, 0xc00024e340)
    /path/to/go/1.15.6/src/net/http/server.go:1925 +0x8ad
created by net/http.(*Server).Serve
    /path/to/go/1.15.6/src/net/http/server.go:2969 +0x36c

goroutine 35 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d3430, 0x72, 0xf78d60)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000326c18, 0x72, 0xf78d00, 0x1645048, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000326c00, 0xc000374000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc000326c00, 0xc000374000, 0x4000, 0x4000, 0xdf4ec0, 0xc0000b7cd0, 0x4448be)
    /path/to/go/1.15.6/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000010968, 0xc000374000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/net.go:182 +0x8e
github.com/diodechain/openssl.(*readBio).ReadFromOnce(0xc00032f590, 0xf77420, 0xc000010968, 0x0, 0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/bio.go:246 +0x136
github.com/diodechain/openssl.(*Conn).fillInputBuffer(0xc000065a90, 0x0, 0xc000415e00)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:203 +0x73
github.com/diodechain/openssl.(*Conn).getErrorHandler.func4(0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:246 +0x71
github.com/diodechain/openssl.(*Conn).handleError(...)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:283
github.com/diodechain/openssl.(*Conn).Read(0xc000065a90, 0xc0003efe18, 0x2, 0x2, 0xf, 0x2, 0x1)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:469 +0x183
github.com/diodechain/diode_go_client/rpc.(*SSL).readMessage(0xc0002f5b80, 0x227, 0xc000169680, 0x225, 0x225, 0x1, 0x0)
    /path/to/diode/rpc/ssl.go:261 +0x8c
github.com/diodechain/diode_go_client/rpc.(*RPCClient).recvMessage(0xc0001009a0)
    /path/to/diode/rpc/bridge.go:283 +0x36
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc0001009a0, 0xc00034e950)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 36 [chan receive]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).sendMessage(0xc0001009a0)
    /path/to/diode/rpc/bridge.go:324 +0x95
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc0001009a0, 0xc00034e960)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 37 [select]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).watchLatestBlock(0xc0001009a0)
    /path/to/diode/rpc/bridge.go:362 +0x14a
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc0001009a0, 0xc00034e970)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 643 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d3178, 0x72, 0x0)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000174718, 0x72, 0x0, 0x0, 0xe94710)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc000174700, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:394 +0x1fc
net.(*netFD).accept(0xc000174700, 0xc000236fc0, 0x44f1f8, 0x169c6a0)
    /path/to/go/1.15.6/src/net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc0004bb560, 0xc0001f6e10, 0x44f1f8, 0x30)
    /path/to/go/1.15.6/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc0004bb560, 0xe2b460, 0xc000236fc0, 0xd93420, 0x1624970)
    /path/to/go/1.15.6/src/net/tcpsock.go:261 +0x65
net/http.(*Server).Serve(0xc0000bc0e0, 0xf85320, 0xc0004bb560, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/http/server.go:2937 +0x266
github.com/diodechain/diode_go_client/rpc.(*ProxyServer).serveListener(0xc0001340c0, 0xc0000bc0e0, 0xf85320, 0xc0004bb560)
    /path/to/diode/rpc/proxy.go:299 +0x45
created by github.com/diodechain/diode_go_client/rpc.(*ProxyServer).Start
    /path/to/diode/rpc/proxy.go:334 +0xfb6

goroutine 646 [chan receive]:
main.(*Diode).Wait.func1(0x169b900)
    /path/to/diode/cmd/diode/app.go:484 +0xa9
created by main.(*Diode).Wait
    /path/to/diode/cmd/diode/app.go:480 +0x3f

goroutine 645 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d3090, 0x72, 0x0)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000174a18, 0x72, 0x0, 0x0, 0xe94710)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc000174a00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:394 +0x1fc
net.(*netFD).accept(0xc000174a00, 0x37e11d600, 0xc0001f8e10, 0x44e890)
    /path/to/go/1.15.6/src/net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc0002c4120, 0x0, 0x0, 0xc0001f8de8)
    /path/to/go/1.15.6/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc0002c4120, 0xc0001f8e10, 0x512226, 0x5fd6e032, 0x4832ee)
    /path/to/go/1.15.6/src/net/tcpsock.go:261 +0x65
crypto/tls.(*listener).Accept(0xc0002c4140, 0xc0001f8e60, 0x18, 0xc00037dc80, 0x80950c)
    /path/to/go/1.15.6/src/crypto/tls/tls.go:67 +0x37
net/http.(*Server).Serve(0xc0000bc1c0, 0xf850e0, 0xc0002c4140, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/http/server.go:2937 +0x266
github.com/diodechain/diode_go_client/rpc.(*ProxyServer).serveListener(0xc0001340c0, 0xc0000bc1c0, 0xf850e0, 0xc0002c4140)
    /path/to/diode/rpc/proxy.go:299 +0x45
created by github.com/diodechain/diode_go_client/rpc.(*ProxyServer).Start
    /path/to/diode/rpc/proxy.go:395 +0x665

goroutine 492 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d36e8, 0x72, 0xf78d60)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000326918, 0x72, 0xf78d00, 0x1645048, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000326900, 0xc0003fa000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc000326900, 0xc0003fa000, 0x4000, 0x4000, 0xdf4ec0, 0xc0000b1cd0, 0x4448be)
    /path/to/go/1.15.6/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000010998, 0xc0003fa000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/net.go:182 +0x8e
github.com/diodechain/openssl.(*readBio).ReadFromOnce(0xc00032f860, 0xf77420, 0xc000010998, 0x0, 0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/bio.go:246 +0x136
github.com/diodechain/openssl.(*Conn).fillInputBuffer(0xc00045fae0, 0x0, 0xc000356ae0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:203 +0x73
github.com/diodechain/openssl.(*Conn).getErrorHandler.func4(0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:246 +0x71
github.com/diodechain/openssl.(*Conn).handleError(...)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:283
github.com/diodechain/openssl.(*Conn).Read(0xc00045fae0, 0xc000633a7a, 0x2, 0x2, 0x6, 0x2, 0x1)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:469 +0x183
github.com/diodechain/diode_go_client/rpc.(*SSL).readMessage(0xc0002f4320, 0x1b, 0xc000647900, 0x19, 0x19, 0x1, 0x0)
    /path/to/diode/rpc/ssl.go:261 +0x8c
github.com/diodechain/diode_go_client/rpc.(*RPCClient).recvMessage(0xc000100160)
    /path/to/diode/rpc/bridge.go:283 +0x36
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100160, 0xc00034eb60)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 523 [select]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).watchLatestBlock(0xc0001002c0)
    /path/to/diode/rpc/bridge.go:362 +0x14a
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc0001002c0, 0xc00034ed80)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 493 [chan receive]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).sendMessage(0xc000100160)
    /path/to/diode/rpc/bridge.go:324 +0x95
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100160, 0xc00034eb70)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 468 [chan receive]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).sendMessage(0xc000100000)
    /path/to/diode/rpc/bridge.go:324 +0x95
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100000, 0xc00034e690)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 467 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d38b8, 0x72, 0xf78d60)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000326718, 0x72, 0xf78d00, 0x1645048, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000326700, 0xc0003f6000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc000326700, 0xc0003f6000, 0x4000, 0x4000, 0xdf4ec0, 0xc0000b3cd0, 0x4448be)
    /path/to/go/1.15.6/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000010990, 0xc0003f6000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/net.go:182 +0x8e
github.com/diodechain/openssl.(*readBio).ReadFromOnce(0xc00032f7a0, 0xf77420, 0xc000010990, 0x0, 0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/bio.go:246 +0x136
github.com/diodechain/openssl.(*Conn).fillInputBuffer(0xc00045fa90, 0x0, 0xc0004d6ca0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:203 +0x73
github.com/diodechain/openssl.(*Conn).getErrorHandler.func4(0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:246 +0x71
github.com/diodechain/openssl.(*Conn).handleError(...)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:283
github.com/diodechain/openssl.(*Conn).Read(0xc00045fa90, 0xc0004c524a, 0x2, 0x2, 0x6, 0x2, 0x1)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:469 +0x183
github.com/diodechain/diode_go_client/rpc.(*SSL).readMessage(0xc0002f40a0, 0x1b, 0xc0004e4620, 0x19, 0x19, 0x1, 0x0)
    /path/to/diode/rpc/ssl.go:261 +0x8c
github.com/diodechain/diode_go_client/rpc.(*RPCClient).recvMessage(0xc000100000)
    /path/to/diode/rpc/bridge.go:283 +0x36
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100000, 0xc00034e680)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 494 [select]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).watchLatestBlock(0xc000100160)
    /path/to/diode/rpc/bridge.go:362 +0x14a
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100160, 0xc00034eb80)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 522 [chan receive]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).sendMessage(0xc0001002c0)
    /path/to/diode/rpc/bridge.go:324 +0x95
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc0001002c0, 0xc00034ed70)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 469 [select]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).watchLatestBlock(0xc000100000)
    /path/to/diode/rpc/bridge.go:362 +0x14a
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100000, 0xc00034e6a0)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 521 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d3600, 0x72, 0xf78d60)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000326a18, 0x72, 0xf78d00, 0x1645048, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000326a00, 0xc000400000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc000326a00, 0xc000400000, 0x4000, 0x4000, 0xdf4ec0, 0xc00036bcd0, 0x4448be)
    /path/to/go/1.15.6/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0000109a0, 0xc000400000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/net.go:182 +0x8e
github.com/diodechain/openssl.(*readBio).ReadFromOnce(0xc00032f920, 0xf77420, 0xc0000109a0, 0x0, 0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/bio.go:246 +0x136
github.com/diodechain/openssl.(*Conn).fillInputBuffer(0xc00045fb30, 0x0, 0xc000414040)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:203 +0x73
github.com/diodechain/openssl.(*Conn).getErrorHandler.func4(0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:246 +0x71
github.com/diodechain/openssl.(*Conn).handleError(...)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:283
github.com/diodechain/openssl.(*Conn).Read(0xc00045fb30, 0xc0003ef6e6, 0x2, 0x2, 0x8, 0x2, 0x1)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:469 +0x183
github.com/diodechain/diode_go_client/rpc.(*SSL).readMessage(0xc0002f4460, 0x3f, 0xc000196140, 0x3d, 0x3d, 0x1, 0x0)
    /path/to/diode/rpc/ssl.go:261 +0x8c
github.com/diodechain/diode_go_client/rpc.(*RPCClient).recvMessage(0xc0001002c0)
    /path/to/diode/rpc/bridge.go:283 +0x36
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc0001002c0, 0xc00034ed60)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 642 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d3260, 0x72, 0x0)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000174698, 0x72, 0x800, 0x800, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).ReadFrom(0xc000174680, 0xc0000f6800, 0x800, 0x800, 0x0, 0x0, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:215 +0x1c5
net.(*netFD).readFrom(0xc000174680, 0xc0000f6800, 0x800, 0x800, 0x0, 0x0, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/fd_posix.go:61 +0x5b
net.(*UDPConn).readFrom(0xc000010110, 0xc0000f6800, 0x800, 0x800, 0x0, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/udpsock_posix.go:47 +0x5c
net.(*UDPConn).ReadFrom(0xc000010110, 0xc0000f6800, 0x800, 0x800, 0x0, 0xc0004d1770, 0x8de565, 0xc00032f5c8, 0x10000000044b33f)
    /path/to/go/1.15.6/src/net/udpsock.go:118 +0x5d
github.com/diodechain/diode_go_client/rpc.(*Server).handleUDP(0xc000297110, 0xc0000f6800, 0x800, 0x800)
    /path/to/diode/rpc/socks.go:754 +0x73
github.com/diodechain/diode_go_client/rpc.(*Server).Start.func2(0xc000297110)
    /path/to/diode/rpc/socks.go:746 +0x6e
created by github.com/diodechain/diode_go_client/rpc.(*Server).Start
    /path/to/diode/rpc/socks.go:743 +0x1d4

goroutine 641 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d3348, 0x72, 0x0)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000174618, 0x72, 0x0, 0x0, 0xe94710)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc000174600, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:394 +0x1fc
net.(*netFD).accept(0xc000174600, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc0004bb540, 0x44b33f, 0xc000012000, 0xdb5c20)
    /path/to/go/1.15.6/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc0004bb540, 0x0, 0xc0004d1f70, 0xc0004d1f88, 0xa12a85)
    /path/to/go/1.15.6/src/net/tcpsock.go:261 +0x65
github.com/diodechain/diode_go_client/rpc.(*Server).Start.func1(0xf85320, 0xc0004bb540, 0xc000297110)
    /path/to/diode/rpc/socks.go:713 +0x49
created by github.com/diodechain/diode_go_client/rpc.(*Server).Start
    /path/to/diode/rpc/socks.go:711 +0x153

goroutine 644 [select]:
github.com/caddyserver/certmagic.(*Cache).maintainAssets(0xc0001fe070, 0x0)
    /home/runner/go/pkg/mod/github.com/caddyserver/certmagic@v0.12.0/maintain.go:70 +0x1e5
created by github.com/caddyserver/certmagic.NewCache
    /home/runner/go/pkg/mod/github.com/caddyserver/certmagic@v0.12.0/cache.go:121 +0x172

goroutine 147 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d37d0, 0x72, 0xf78d60)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000326818, 0x72, 0xf78d00, 0x1645048, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000326800, 0xc0003f0000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc000326800, 0xc0003f0000, 0x4000, 0x4000, 0xdf4ec0, 0xc00036fcd0, 0x4448be)
    /path/to/go/1.15.6/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000010988, 0xc0003f0000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/net.go:182 +0x8e
github.com/diodechain/openssl.(*readBio).ReadFromOnce(0xc00032f6e0, 0xf77420, 0xc000010988, 0x0, 0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/bio.go:246 +0x136
github.com/diodechain/openssl.(*Conn).fillInputBuffer(0xc00045fa40, 0x0, 0xc00063c080)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:203 +0x73
github.com/diodechain/openssl.(*Conn).getErrorHandler.func4(0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:246 +0x71
github.com/diodechain/openssl.(*Conn).handleError(...)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:283
github.com/diodechain/openssl.(*Conn).Read(0xc00045fa40, 0xc00063205a, 0x2, 0x2, 0x6, 0x2, 0x1)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:469 +0x183
github.com/diodechain/diode_go_client/rpc.(*SSL).readMessage(0xc0002f5c20, 0x1a, 0xc000646000, 0x18, 0x18, 0x1, 0x0)
    /path/to/diode/rpc/ssl.go:261 +0x8c
github.com/diodechain/diode_go_client/rpc.(*RPCClient).recvMessage(0xc000100b00)
    /path/to/diode/rpc/bridge.go:283 +0x36
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100b00, 0xc00034f8a0)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 148 [chan receive]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).sendMessage(0xc000100b00)
    /path/to/diode/rpc/bridge.go:324 +0x95
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100b00, 0xc00034f8b0)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 149 [select]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).watchLatestBlock(0xc000100b00)
    /path/to/diode/rpc/bridge.go:362 +0x14a
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100b00, 0xc00034f8c0)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 2878 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d2fa8, 0x72, 0xf78d60)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc0004be518, 0x72, 0xf78d00, 0x1645048, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0004be500, 0xc000014000, 0x205, 0x205, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc0004be500, 0xc000014000, 0x205, 0x205, 0x203000, 0x0, 0x44e890)
    /path/to/go/1.15.6/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000010400, 0xc000014000, 0x205, 0x205, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/net.go:182 +0x8e
crypto/tls.(*atLeastReader).Read(0xc00000ece0, 0xc000014000, 0x205, 0x205, 0x0, 0x7f5470053a00, 0xc000498a58)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:779 +0x62
bytes.(*Buffer).ReadFrom(0xc00007e600, 0xf769e0, 0xc00000ece0, 0x44c5a5, 0xdb5920, 0xe67580)
    /path/to/go/1.15.6/src/bytes/buffer.go:204 +0xb1
crypto/tls.(*Conn).readFromUntil(0xc00007e380, 0xf77420, 0xc000010400, 0x5, 0xc000010400, 0x203000)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:801 +0xf3
crypto/tls.(*Conn).readRecordOrCCS(0xc00007e380, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:608 +0x115
crypto/tls.(*Conn).readRecord(...)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:576
crypto/tls.(*Conn).Read(0xc00007e380, 0xc00075eee1, 0x1, 0x1, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:1252 +0x15f
net/http.(*connReader).backgroundRead(0xc00075eed0)
    /path/to/go/1.15.6/src/net/http/server.go:690 +0x58
created by net/http.(*connReader).startBackgroundRead
    /path/to/go/1.15.6/src/net/http/server.go:686 +0xd5

goroutine 648 [syscall]:
os/signal.signal_recv(0xc00027dad0)
    /path/to/go/1.15.6/src/runtime/sigqueue.go:147 +0x9d
os/signal.loop()
    /path/to/go/1.15.6/src/os/signal/signal_unix.go:23 +0x25
created by os/signal.Notify.func1.1
    /path/to/go/1.15.6/src/os/signal/signal.go:150 +0x45

goroutine 650 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d3518, 0x72, 0xf78d60)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000326b18, 0x72, 0xf78d00, 0x1645048, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000326b00, 0xc000404000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc000326b00, 0xc000404000, 0x4000, 0x4000, 0xdf4ec0, 0xc000371cd0, 0x4448be)
    /path/to/go/1.15.6/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0000109a8, 0xc000404000, 0x4000, 0x4000, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/net.go:182 +0x8e
github.com/diodechain/openssl.(*readBio).ReadFromOnce(0xc00032f9e0, 0xf77420, 0xc0000109a8, 0x0, 0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/bio.go:246 +0x136
github.com/diodechain/openssl.(*Conn).fillInputBuffer(0xc00045fb80, 0x0, 0xc00000e300)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:203 +0x73
github.com/diodechain/openssl.(*Conn).getErrorHandler.func4(0x0, 0x0)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:246 +0x71
github.com/diodechain/openssl.(*Conn).handleError(...)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:283
github.com/diodechain/openssl.(*Conn).Read(0xc00045fb80, 0xc00034799a, 0x2, 0x2, 0x6, 0x2, 0x1)
    /home/runner/go/pkg/mod/github.com/diodechain/openssl@v1.0.14/conn.go:469 +0x183
github.com/diodechain/diode_go_client/rpc.(*SSL).readMessage(0xc0002f4960, 0x1b, 0xc0003edd20, 0x19, 0x19, 0x1, 0x0)
    /path/to/diode/rpc/ssl.go:261 +0x8c
github.com/diodechain/diode_go_client/rpc.(*RPCClient).recvMessage(0xc000100c60)
    /path/to/diode/rpc/bridge.go:283 +0x36
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100c60, 0xc00034fea0)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 651 [chan receive]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).sendMessage(0xc000100c60)
    /path/to/diode/rpc/bridge.go:324 +0x95
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100c60, 0xc00034feb0)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 652 [select]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).watchLatestBlock(0xc000100c60)
    /path/to/diode/rpc/bridge.go:362 +0x14a
github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker.func1(0xc000100c60, 0xc00034fec0)
    /path/to/diode/rpc/bridge.go:35 +0x57
created by github.com/diodechain/diode_go_client/rpc.(*RPCClient).addWorker
    /path/to/diode/rpc/bridge.go:33 +0x69

goroutine 2914 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d2ec0, 0x72, 0xf78d60)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc0004bf798, 0x72, 0xf78d00, 0x1645048, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0004bf780, 0xc000126480, 0x205, 0x205, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc0004bf780, 0xc000126480, 0x205, 0x205, 0x203000, 0x0, 0xa)
    /path/to/go/1.15.6/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0000106b0, 0xc000126480, 0x205, 0x205, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/net.go:182 +0x8e
crypto/tls.(*atLeastReader).Read(0xc0004143c0, 0xc000126480, 0x205, 0x205, 0xc000690660, 0xc0001f5b08, 0xc0001f5a58)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:779 +0x62
bytes.(*Buffer).ReadFrom(0xc00007e980, 0xf769e0, 0xc0004143c0, 0x44c5a5, 0xdb5920, 0xe67580)
    /path/to/go/1.15.6/src/bytes/buffer.go:204 +0xb1
crypto/tls.(*Conn).readFromUntil(0xc00007e700, 0xf77420, 0xc0000106b0, 0x5, 0xc0000106b0, 0x44c205)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:801 +0xf3
crypto/tls.(*Conn).readRecordOrCCS(0xc00007e700, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:608 +0x115
crypto/tls.(*Conn).readRecord(...)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:576
crypto/tls.(*Conn).Read(0xc00007e700, 0xc00062a551, 0x1, 0x1, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:1252 +0x15f
net/http.(*connReader).backgroundRead(0xc00062a540)
    /path/to/go/1.15.6/src/net/http/server.go:690 +0x58
created by net/http.(*connReader).startBackgroundRead
    /path/to/go/1.15.6/src/net/http/server.go:686 +0xd5

goroutine 2913 [IO wait]:
internal/poll.runtime_pollWait(0x7f54704d2dd8, 0x72, 0xf78d60)
    /path/to/go/1.15.6/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc0004bf818, 0x72, 0xf78d00, 0x1645048, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
    /path/to/go/1.15.6/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0004bf800, 0xc000126240, 0x205, 0x205, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc0004bf800, 0xc000126240, 0x205, 0x205, 0x203000, 0x0, 0x44e890)
    /path/to/go/1.15.6/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc0000106b8, 0xc000126240, 0x205, 0x205, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/net/net.go:182 +0x8e
crypto/tls.(*atLeastReader).Read(0xc000414280, 0xc000126240, 0x205, 0x205, 0x0, 0x0, 0xc0001f3a58)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:779 +0x62
bytes.(*Buffer).ReadFrom(0xc00007ed00, 0xf769e0, 0xc000414280, 0x44c5a5, 0xdb5920, 0xe67580)
    /path/to/go/1.15.6/src/bytes/buffer.go:204 +0xb1
crypto/tls.(*Conn).readFromUntil(0xc00007ea80, 0xf77420, 0xc0000106b8, 0x5, 0xc0000106b8, 0x203000)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:801 +0xf3
crypto/tls.(*Conn).readRecordOrCCS(0xc00007ea80, 0x0, 0x0, 0x6d20000000)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:608 +0x115
crypto/tls.(*Conn).readRecord(...)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:576
crypto/tls.(*Conn).Read(0xc00007ea80, 0xc00062a491, 0x1, 0x1, 0x0, 0x0, 0x0)
    /path/to/go/1.15.6/src/crypto/tls/conn.go:1252 +0x15f
net/http.(*connReader).backgroundRead(0xc00062a480)
    /path/to/go/1.15.6/src/net/http/server.go:690 +0x58
created by net/http.(*connReader).startBackgroundRead
    /path/to/go/1.15.6/src/net/http/server.go:686 +0xd5

goroutine 2908 [select]:
github.com/diodechain/diode_go_client/rpc.(*RPCClient).waitResponse(0xc0001009a0, 0x2b0, 0xe98f94, 0xf, 0x2, 0x0, 0xc0006ab8c0, 0xc0006ab980, 0xc0006ab920, 0x53, ...)
    /path/to/diode/rpc/client.go:175 +0x119
github.com/diodechain/diode_go_client/rpc.(*RPCClient).CallContext(0xc0001009a0, 0xe98f94, 0xf, 0x0, 0xc00062adb0, 0x3, 0x3, 0x20, 0x5452d6528d220000, 0x262a81230aef1189, ...)
    /path/to/diode/rpc/client.go:270 +0x2e8
github.com/diodechain/diode_go_client/rpc.(*RPCClient).GetAccountValue(0xc0001009a0, 0x115dd0, 0x720b84cda5fa60af, 0x27686111aff14247, 0xc8239c24a6d61261, 0xc000396040, 0x20, 0x20, 0x20, 0x20, ...)
    /path/to/diode/rpc/client.go:763 +0x1fe
github.com/diodechain/diode_go_client/rpc.(*RPCClient).GetAccountValueRaw(0xc0001009a0, 0x115dd0, 0x720b84cda5fa60af, 0x27686111aff14247, 0xa6d61261, 0xc000396040, 0x20, 0x20, 0x898d00, 0x0, ...)
    /path/to/diode/rpc/client.go:789 +0xa8
github.com/diodechain/diode_go_client/rpc.(*RPCClient).ResolveBNS(0xc0001009a0, 0xc00049eca3, 0x9, 0x0, 0x0, 0x0, 0x0, 0x4f)
    /path/to/diode/rpc/client.go:850 +0x3e5
github.com/diodechain/diode_go_client/rpc.(*Server).checkAccess(0xc000297110, 0xc00049eca3, 0x9, 0x38, 0x8, 0x40, 0x4, 0x8)
    /path/to/diode/rpc/socks.go:335 +0xa70
github.com/diodechain/diode_go_client/rpc.(*Server).doConnectDevice(0xc000297110, 0xc00049eca3, 0x9, 0xbd6, 0x20, 0xc00049eca0, 0x2, 0x1, 0xd6c560, 0x4, ...)
    /path/to/diode/rpc/socks.go:411 +0x5d
github.com/diodechain/diode_go_client/rpc.(*Server).connectDeviceAndLoop(0xc000297110, 0xc00049eca3, 0x9, 0xbd6, 0x20, 0xc00049eca0, 0x2, 0x0, 0xc0000e3b50, 0x0, ...)
    /path/to/diode/rpc/socks.go:478 +0xbe
github.com/diodechain/diode_go_client/rpc.(*ProxyServer).pipeProxy(0xc0001340c0, 0xf855e0, 0xc0000bc460, 0xc0000a8b00)
    /path/to/diode/rpc/proxy.go:194 +0x2dc
net/http.HandlerFunc.ServeHTTP(0xc00034e830, 0xf855e0, 0xc0000bc460, 0xc0000a8b00)
    /path/to/go/1.15.6/src/net/http/server.go:2042 +0x44
net/http.serverHandler.ServeHTTP(0xc0000bc1c0, 0xf855e0, 0xc0000bc460, 0xc0000a8b00)
    /path/to/go/1.15.6/src/net/http/server.go:2843 +0xa3
net/http.(*conn).serve(0xc0002f4aa0, 0xf87260, 0xc00024f4c0)
    /path/to/go/1.15.6/src/net/http/server.go:1925 +0x8ad
created by net/http.(*Server).Serve
    /path/to/go/1.15.6/src/net/http/server.go:2969 +0x36c

Need to patch:

sc0Vu commented 3 years ago

Tried these commits b7defe9 58bba47 on gateway, and got the same error (out of memory).

sc0Vu commented 3 years ago

The bug was gone in this commit: https://github.com/diodechain/diode_go_client/commit/ffb3a028b3fb3cd6e990f63e92da640085f22145

Return timer earlier is quite helpful.