Skip to content

tox-bootstrapd goes into an infinite loop ย #2332

Open
@emdee-is

Description

I'm seeing from LOG=TRACE that tox-bootstrapd goes into an infinite loop if you give it a tcp_port packet of less than the expected number 128 of bytes.

If you compile and run other/bootstrap_daemon/src/tox-bootstrapd.c
and change in bootstrap_node_info.py

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

to

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

and run it against the BS daemon, it fills the TRACE logs with:

TCP_server.c:1055(do_incoming) handling incoming TCP connection 0
TCP_common.c:203(read_TCP_packet) recv buffer has 82 bytes, but requested 128 bytes
TCP_server.c:375(read_connection_handshake) connection handshake is not ready yet

I'm guessing that the cause is network.c#524 where the MSG_NOSIGNAL makes it loop forever, even after the clent has died. So you also get lots of tcp sockets left dangling in CLOSE_WAIT.

Metadata

Assignees

No one assigned

    Labels

    P1High prioritybugBug fix for the user, not a fix to a build scriptnetworkNetworksecuritySecurity

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions