diodechain / diode_client

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

[v0.8.8] Timeout after multiple concurrent connection #82

Closed dominicletz closed 3 years ago

dominicletz commented 3 years ago

Happens when opening multiple browser windows (mobile + desktop) while browsing a public ddrive share. Seems to be reproducible after hitting refresh a couple of times.

https://drive-y3gwy6e0cxsghh3juato.diode.link/db9hw70xr2qqozyj

01/11/2021 10:42:45 ESC[34mINFOESC[0m Got proxy request from: 172.105.17.101:40177
01/11/2021 10:42:45 ESC[34mINFOESC[0m Got proxy request from: 172.105.17.101:55689
01/11/2021 10:42:45 ESC[33mWARNESC[0m Call portopen timeout after 50.000065621s, drop the call server=eu1.prenet.diode.io:41046 
01/11/2021 10:42:46 ESC[33mWARNESC[0m Call portopen timeout after 51.000101027s, drop the call server=eu1.prenet.diode.io:41046 
01/11/2021 10:42:46 ESC[34mINFOESC[0m Validating ticket based on non-checked block 1256750 1263583 server=us2.prenet.diode.io:41046 
01/11/2021 10:42:46 ESC[34mINFOESC[0m Validating ticket based on non-checked block 1256750 1263583 server=us2.prenet.diode.io:41046 
01/11/2021 10:42:47 ESC[33mWARNESC[0m Call portopen timeout after 51.000104242s, drop the call server=eu1.prenet.diode.io:41046 
01/11/2021 10:42:47 ESC[31mERRORESC[0m doConnectDevice() failed: remote timeout: 51s
01/11/2021 10:42:47 ESC[34mINFOESC[0m Got proxy request from: 95.90.244.2:51470
01/11/2021 10:42:48 ESC[33mWARNESC[0m Call portopen timeout after 51.000100109s, drop the call server=eu1.prenet.diode.io:41046 
01/11/2021 10:42:48 ESC[31mERRORESC[0m doConnectDevice() failed: remote timeout: 51s
01/11/2021 10:42:52 ESC[34mINFOESC[0m Got proxy request from: 116.202.227.138:45969
01/11/2021 10:42:52 ESC[34mINFOESC[0m Validating ticket based on non-checked block 1175919 1263583 server=us2.prenet.diode.io:41046 
01/11/2021 10:42:52 ESC[34mINFOESC[0m Validating ticket based on non-checked block 1175919 1263583 server=us2.prenet.diode.io:41046 
01/11/2021 10:42:52 ESC[34mINFOESC[0m Validating ticket based on non-checked block 1175919 1263583 server=us2.prenet.diode.io:41046 
01/11/2021 10:42:52 ESC[34mINFOESC[0m Validating ticket based on non-checked block 1175919 1263583 server=us2.prenet.diode.io:41046
sc0Vu commented 3 years ago

We didn't set timeout for e2e handshake In 0.8.8, I think there might be multiple unclosed connections in the gateway, and it might lead to memory leak or stuck issue.

Tried to connect with 5 and 10 connections, it works now (I think the file was deleted, because the response time was quite low.):

Screen Shot 2021-01-19 at 11 29 42 AM Screen Shot 2021-01-19 at 11 30 02 AM

Didn't test with large file yet.

dominicletz commented 3 years ago

Seems fixed with v0.8.8