Skip to content

[Bug]: Run occasionally does not start when flwr run is used in simulator #7953

Description

@Meorge

Describe the bug

Sometimes, when attempting to run my Flower app with flwr run . --stream, I only receive the output that the run has been started "successfully" and that I am viewing the logstream for the run, but the run does not appear to actually start.

(.venv) ➜  quickstart-pytorch flwr run . --stream
⚠️ Warning: `options.` fields in the SuperLink connection configuration are deprecated. Use `--federation-config` with `flwr run` instead. Alternatively, permanently set your simulation configuration via `flwr federation simulation-config`.
🎊 Successfully started run 3507105105334875182
INFO :      Starting logstream for run_id `3507105105334875182`

In another terminal, running flwr list, I see that the most recent job says it is "pending", with 0s elapsed.

The ~/.flwr/local-superlink/superlink.log file shows no evidence of issues being encountered, at least that I can recognize:

INFO flwr 2026-08-20 08:20:50,036 | control_servicer.py:647 | ControlServicer.ListFederations
INFO flwr 2026-08-20 08:20:50,043 | control_servicer.py:168 | ControlServicer.StartRun
INFO flwr 2026-08-20 08:20:50,047 | control_servicer.py:280 | Created simulation run 3507105105334875182
INFO flwr 2026-08-20 08:20:50,047 | control_servicer.py:287 | ControlServicer.StreamLogs
INFO flwr 2026-08-20 08:21:50,558 | control_servicer.py:287 | ControlServicer.StreamLogs
INFO flwr 2026-08-20 08:22:47,549 | control_servicer.py:647 | ControlServicer.ListFederations
INFO flwr 2026-08-20 08:22:47,551 | control_servicer.py:337 | ControlServicer.ListRuns
INFO flwr 2026-08-20 08:22:51,068 | control_servicer.py:287 | ControlServicer.StreamLogs
INFO flwr 2026-08-20 08:23:01,375 | control_servicer.py:647 | ControlServicer.ListFederations
INFO flwr 2026-08-20 08:23:01,377 | control_servicer.py:337 | ControlServicer.ListRuns
INFO flwr 2026-08-20 08:23:51,578 | control_servicer.py:287 | ControlServicer.StreamLogs
INFO flwr 2026-08-20 08:24:46,409 | control_servicer.py:647 | ControlServicer.ListFederations
INFO flwr 2026-08-20 08:24:46,411 | control_servicer.py:337 | ControlServicer.ListRuns
INFO flwr 2026-08-20 08:24:52,088 | control_servicer.py:287 | ControlServicer.StreamLogs
INFO flwr 2026-08-20 08:25:52,597 | control_servicer.py:287 | ControlServicer.StreamLogs
INFO flwr 2026-08-20 08:26:53,104 | control_servicer.py:287 | ControlServicer.StreamLogs
INFO flwr 2026-08-20 08:27:53,613 | control_servicer.py:287 | ControlServicer.StreamLogs
INFO flwr 2026-08-20 08:28:54,123 | control_servicer.py:287 | ControlServicer.StreamLogs

(all of the INFO lines appear to just be me checking info about the progress of the runs)


If I kill the local SuperLink with

pkill -f 'flower-superlink.*--control-api-address 127.0.0.1:39093'

as specified in the docs then try to start the run again, I get a little more output:

(.venv) ➜  quickstart-pytorch-poisoning flwr run . --stream
Starting local SuperLink on 127.0.0.1:39093...
⚠️ Warning: `options.` fields in the SuperLink connection configuration are deprecated. Use `--federation-config` with `flwr run` instead.Alternatively, permanently set your simulation configuration via `flwr federation simulation-config`.
🎊 Successfully started run 16574174298967925360
INFO :      Starting logstream for run_id `16574174298967925360`
INFO :      Starting Flower Simulation
Successfully installed quickstart-pytorch to /Users/malcolmanderson/.flwr/apps/flwrlabs.quickstart-pytorch.1.1.6.164830cc.
(.venv) ➜  quickstart-pytorch-poisoning 

In this case, it seems to silently fail (flwr list states its status is "finished:failed") but superlink.log has no output describing how/why it failed.

Steps/Code to Reproduce

The behavior appears to occur with a fresh install of the @flwrlabs/quickstart-pytorch app.

I have a print statement as the first line of the app's main() function, which I have seen display when execution is successful. When it hangs like this, the print does not display, which leads me to believe it is an issue that occurs somewhere on Flower's/SuperLink's end, not on my project's end.

Expected Results

The app begins running, and I can see progress in the terminal.

Actual Results

The terminal output ends at

INFO :      Starting logstream for run_id `...`

and flwr list shows the run as being stuck on "pending".

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions