Skip to content

bug:waku canary web-socket not working #3546

@AYAHASSAN287

Description

@AYAHASSAN287

Canary reports SUCCESS (exit 0) over WSS even though ping stream fails with Stream Underlying Connection Closed!

Summary

When dialing public WSS sandbox nodes, the Canary prints a green SUCCESS and exits with code 0 even though the log shows:

  • Error dialing ... Stream Underlying Connection Closed!
  • Failed to ping the peer

It also claims “The node is reachable and supports all specified protocols” after a ping failure, which is misleading and can mask unstable connectivity.


Reproduction

  1. Fetch the script "web_sockets.sh from the interop tests repo (branch: waku_canary_scripts) directory "scripts" 2) paste in nwaku main directory
  2. Run the script from the nwaku repo root
    ./web_sockets.sh

Test addresses (WSS public sandbox) — set one of the following (or edit inside the script):

  • US-Central
    export PEER_ADDRESS="/dns4/node-01.gc-us-central1-a.waku.sandbox.status.im/tcp/8000/wss/p2p/16Uiu2HAmRv1iQ3NoMMcjbtRmKxPuYBbF9nLYz2SDv9MTN8WhGuUU"
  • Amsterdam
    export PEER_ADDRESS="/dns4/node-01.do-ams3.waku.sandbox.status.im/tcp/8000/wss/p2p/16Uiu2HAmNaeL4p3WEYzC9mgXBmBWSgWjPHRvatZTXnp8Jgv3iKsb"
  • Hong Kong
    export PEER_ADDRESS="/dns4/node-01.ac-cn-hongkong-c.waku.sandbox.status.im/tcp/8000/wss/p2p/16Uiu2HAmQYiojgZ8APsh9wqbWNyCstVhnp9gbeNrxSEQnLJchC92"

Expected:

  • If ping (or any required probe) fails or the underlying connection closes unexpectedly during checks, the Canary should:
    • Exit non-zero, or
    • At least avoid printing SUCCESS, and instead emit a degraded status (e.g., “Reachable but unstable: ping failed”).

Actual:

  • Final output claims success and returns exit code 0 despite:
    • Error dialing ... description="Stream Underlying Connection Closed!"
    • Failed to ping the peer

log evidence

  • DBG ... Dial successful ... peerId=16U*JchC92
  • DBG ... identify: decoded message ... agent_version=nwaku-v0.36.0 ... protocols=.../vac/waku/relay/2.0.0,...
  • DBG ... Error dialing ... description="Stream Underlying Connection Closed!"
  • ERR ... Failed to ping the peer ... err="Stream Underlying Connection Closed!"
  • INF ... The node is reachable and supports all specified protocols
  • Exit code: 0
  • SUCCESS: Connected to peer and protocol 'relay' is supported.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

Status

To Do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions