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

Too many open files #76

Open dominicletz opened 3 years ago

dominicletz commented 3 years ago

On macos a long running diode client eventually shows too many open files errors. In my case ulimit descriptor count is set to 256, but active connections are very low (below 5)

ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
ERROR Failed to connect local: dial tcp [::1]:8080: socket: too many open files server=eu2.prenet.diode.io:41046
% ulimit -a
-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             8192
-c: core file size (blocks)         0
-v: address space (kbytes)          unlimited
-l: locked-in-memory size (kbytes)  unlimited
-u: processes                       1392
-n: file descriptors                256

% uname -a
Darwin 1447.local 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64 x86_64
sc0Vu commented 3 years ago

@dominicletz did you close connection properly? There is no timeout in remote/client connection, the connection will hang till remote/client disconnect.

And I tried with client_debug, the connections(socks) were all closed.