Skip to content

Crashes in the program following timeout warnings #5

@AssaelDan

Description

@AssaelDan

Howdy,

I have been experiencing some crashes in the program following timeout warnings.
see log trace:

W: [Errno 110] Connection timed out (serial_proxy.py:117)
I: Client disconnected: 127.0.0.1:33122 (connection.py:24)
I: Client disconnected: 172.16.30.26:59458 (connection.py:24)
I: Serial /dev/serial2usb_8 disconnected (serial_proxy.py:85)
Traceback (most recent call last):
File "run.py", line 7, in
ser2tcp.main.main()
File "/ser2tcp/ser2tcp/main.py", line 108, in main
servers_manager.process()
File "/ser2tcp/ser2tcp/server_manager.py", line 26, in process
server.socket_event(read_sockets)
File "/ser2tcp/ser2tcp/serial_proxy.py", line 110, in socket_event
server.socket_event(read_sockets)
File "/ser2tcp/ser2tcp/server.py", line 90, in socket_event
self._client_connect()
File "/ser2tcp/ser2tcp/server.py", line 57, in _client_connect
log=self._log,
File "/ser2tcp/ser2tcp/connection_telnet.py", line 38, in init
self._socket.sendall(bytes((self.TELNET_IAC, self.TELNET_WILL, 0x01)))
BrokenPipeError: [Errno 32] Broken pipe
I: Client disconnected: 127.0.0.1:39178 (connection.py:24)
Docker start script trigger
The AUTOMATION_IP env value is '10.10.1.207' - so when a connection from this ip exist only this ip can write to the serial
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_1 ; telent_port=2031] (main.py:65)
I: Serial: /dev/serial2usb_1 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2031 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_2 ; telent_port=2032] (main.py:65)
I: Serial: /dev/serial2usb_2 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2032 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_3 ; telent_port=2033] (main.py:65)
I: Serial: /dev/serial2usb_3 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2033 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_4 ; telent_port=2034] (main.py:65)
I: Serial: /dev/serial2usb_4 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2034 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_5 ; telent_port=2035] (main.py:65)
I: Serial: /dev/serial2usb_5 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2035 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_6 ; telent_port=2036] (main.py:65)
I: Serial: /dev/serial2usb_6 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2036 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_7 ; telent_port=2037] (main.py:65)
I: Serial: /dev/serial2usb_7 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2037 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_8 ; telent_port=2038] (main.py:65)
I: Serial: /dev/serial2usb_8 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2038 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_9 ; telent_port=2039] (main.py:65)
I: Serial: /dev/serial2usb_9 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2039 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_10 ; telent_port=2040] (main.py:65)
I: Serial: /dev/serial2usb_10 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2040 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_11 ; telent_port=2041] (main.py:65)
I: Serial: /dev/serial2usb_11 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2041 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_12 ; telent_port=2042] (main.py:65)
I: Serial: /dev/serial2usb_12 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2042 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_14 ; telent_port=2044] (main.py:65)
I: Serial: /dev/serial2usb_14 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2044 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_15 ; telent_port=2045] (main.py:65)
I: Serial: /dev/serial2usb_15 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2045 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_16 ; telent_port=2046] (main.py:65)
I: Serial: /dev/serial2usb_16 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2046 TELNET (server.py:35)
I: Adding new telnet-serial server [serial_port=/dev/serial2usb_17 ; telent_port=2047] (main.py:65)
I: Serial: /dev/serial2usb_17 115200 (serial_proxy.py:37)
I: Server: 0.0.0.0 2047 TELNET (server.py:35)

Possible race condition between socket timeout (serial_proxy.py:117) and client connect ("/ser2tcp/ser2tcp/server.py", line 57, in _client_connect) both triggered by socket_event.

I am also trying to work out a fix to this, but I am not as experienced with python.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions