-
-
Notifications
You must be signed in to change notification settings - Fork 107
Closed
Labels
A-contractsArea: Contract runtime, SDK, and executionArea: Contract runtime, SDK, and executionA-networkingArea: Networking, ring protocol, peer discoveryArea: Networking, ring protocol, peer discoveryE-mediumExperience needed to fix/implement: Medium / intermediateExperience needed to fix/implement: Medium / intermediateP-highHigh priorityHigh priorityT-bugType: Something is brokenType: Something is broken
Description
Observed behavior
- River UI /
riverctlpublishing a room forwards the PUT (01KA2Q6FYY…/01KA2R1W…) to peerv6MWKgqHiBMNcGtGand then times out (/tmp/freenet.log:13218-13324,15545-15764). - The remote node (Nova gateway at 5.9.111.215:31337) actually stores the contract and emits
SuccessfulPut, but when it tries to send the ack back it attempts to connect tov6MWKgqKCpsc5rkGat127.0.0.1:36078and fails withTransportError("failed while establishing connection, reason: max connection attempts reached")(seejournalctl -u freenet-gateway --since "2025-11-14 21:10" --until "21:20" | grep 01KA2R1W285XGJG4M0CNWPNB81). - Because the ack never reaches the publisher, River UI stays stuck on "Subscribing to room…" and
riverctl room createreportsTimeout waiting for PUT response, even though the remote peer has the contract. - The invite-accept tab later performs a GET (
01KA2Q6VEN…) that also times out because the gateway cannot see the contract locally (/tmp/freenet.log:13280-13448).
Expected
- The publishing node should persist the contract locally and respond with
PutResponseeven if downstream peers fail to deliverSuccessfulPut. - GET/SUBSCRIBE issued via the same node should be served from the local cache when possible; they should not stall forever waiting on the same remote peer that already timed out.
Steps to reproduce
- Run
freenet localon technic.locut.us (gateway WebSocket atws://127.0.0.1:7509). cd ~/code/freenet/river/main && cargo run --bin riverctl -- room create --name "cli-test" --nickname "owner".- Observe the CLI error
Timeout waiting for PUT response after 10 seconds; tail/tmp/freenet.logfor the PUT/GET transaction IDs above. - On Nova (
ssh nova.locut.us) runsudo journalctl -u freenet-gateway --since "2025-11-14 21:10" --until "2025-11-14 21:20" | grep 01KA2R1W285XGJG4M0CNWPNB81to confirm the remote peer stored the contract and then attempted to connect back to127.0.0.1:36078.
Impact
- River UI invite accept flows hang forever on a single-node setup talking to a remote peer.
riverctl room createcannot complete, preventing automated tests/deployments.
Logs available upon request (/tmp/freenet.log, Nova journalctl excerpts`).
Metadata
Metadata
Assignees
Labels
A-contractsArea: Contract runtime, SDK, and executionArea: Contract runtime, SDK, and executionA-networkingArea: Networking, ring protocol, peer discoveryArea: Networking, ring protocol, peer discoveryE-mediumExperience needed to fix/implement: Medium / intermediateExperience needed to fix/implement: Medium / intermediateP-highHigh priorityHigh priorityT-bugType: Something is brokenType: Something is broken
Type
Projects
Status
Done