Skip to content

Fix Stratum V1 failover when a connected pool stops replying - #1965

Open
johnny9 wants to merge 1 commit into
bitaxeorg:masterfrom
johnny9:fix/sv1-inactivity-timeout
Open

johnny9 wants to merge 1 commit into
bitaxeorg:masterfrom
johnny9:fix/sv1-inactivity-timeout

Conversation

@johnny9

@johnny9 johnny9 commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

Fixes #1964.

A connected but silent pool leaves the receive loop retrying zero-byte timeouts forever. Add a three-minute deadline for receiving a complete line and clear partial data on timeout, allowing the existing retry and fallback logic to run. Short gaps remain valid.

Validation: 105 C unit tests passed; four new cases failed before the fix. Python coverage is pushed, with 138 unit tests passing. All nine fallback cases and 37 mining phases passed on Gamma-02 with this firmware. The 15-second silence retained the same connection; sustained silence reached stable fallback mining in 732 seconds and recovered primary after replies resumed. All original settings and fresh shares were restored without a restart.

Python regression: johnny9/mining-qa-testcode@a5bec34

@github-actions

Copy link
Copy Markdown

Test Results

  2 files  ±0    2 suites  ±0   3s ⏱️ -1s
181 tests +5  181 ✅ +5  0 💤 ±0  0 ❌ ±0 
183 runs  +5  183 ✅ +5  0 💤 ±0  0 ❌ ±0 

Results for commit 8cdade8. ± Comparison against base commit 326291d.

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.

SV1 does not fail over when the primary pool stays connected but stops replying

1 participant