Skip to content

Server hangs endlessly (0.00 Mbits/sec) on sudden client disconnect – Works in 3.14, broken in 3.16+ #1986

@Vili-B

Description

@Vili-B

iperf3 Version(s)

Working: 3.14

Intermittent: 3.15

Broken: 3.16 and newer

Operating System / Architecture

Server: Alma Linux 10
Client: Android

Defect Description

I am encountering a regression in how iperf3 handles sudden client disconnections (specifically with mobile devices losing signal).

When a client device (mobile) abruptly loses connection during a test (e.g., 4G/5G drops or is toggled off), the server instance should detect the loss, report "Connection reset by peer," and return to the listening state.

In versions 3.16 and newer, the server fails to detect the disconnect. Instead of resetting, it hangs indefinitely, printing 0.00 Mbits/sec lines until manually killed.

Regression / Bisect Info

I have tested multiple versions to isolate the behavior:

v3.14: Works reliably. The server detects the drop immediately, prints iperf3: error - unable to read from stream socket: Connection reset by peer, and waits for a new client.

v3.15: Unreliable. It works sometimes, but occasionally exhibits the hanging behavior.

v3.16+ (up to current): consistently broken. The server never resets and hangs on 0.00 Mbits/sec until the process is killed.

Steps to Reproduce

Start an iperf3 server: iperf3 -s

Connect a client (a mobile device over 4G or 5G): iperf3 -c <server_ip> -t 100

Midway through the test, simulate a signal loss on the client (e.g., disable 4G/5G data or toggle airplane mode).

Observe Server Output:

Expected (v3.14): Server errors out with "Connection reset" and restarts the listener.

Actual (v3.16+): Server continues running, printing 0.00 Mbits/sec indefinitely.

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