Skip to content

Fix JD mode bridge dying on bad share submits - #283

Open
ANAMASGARD wants to merge 1 commit into
dmnd-pool:masterfrom
ANAMASGARD:fix-jd-channel-closed
Open

Fix JD mode bridge dying on bad share submits#283
ANAMASGARD wants to merge 1 commit into
dmnd-pool:masterfrom
ANAMASGARD:fix-jd-channel-closed

Conversation

@ANAMASGARD

Copy link
Copy Markdown

Summary

Fixes #127

In JD mode, a single bad share submit could kill the bridge channel for every connected miner. Shares still validated locally, but upstream forwarding failed with a misleading Closed(..) error that looked like a receive-task crash.

This change keeps the bridge running for recoverable per-share errors (invalid job ID, translation failure, etc.) and only shuts down on real fatal failures (dead upstream/submit channels, poisoned mutex).

Also improves error messages so Closed(..) is no longer reported as "Failed to start receive downstream task".

Test plan

  • cargo test — 89 passed
  • bridge_survives_repeated_invalid_job_submits
  • fatal_upstream_submit_channel_closes_bridge_downstream_handler
  • forward_submit_share_returns_bridge_channel_closed_when_receiver_dropped

The bridge downstream handler previously exited on any submit-share
failure, closing tx_sv1_bridge for all miners. Treat per-share errors
as recoverable, only tear down on fatal channel failures, and improve
error messages so Closed(..) is no longer misreported as a receive-task failure.
Fixes dmnd-pool#127

Signed-off-by: Gaurav Chaudhary <chaudharygaurav2004@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Channel Closed Error in jd mode

1 participant