Chris to release bugfixes for mining servers
Posted: Sat May 14, 2022 12:12 pm
Chris is going to release some bugfixes to the mining servers, which may cause some brief downtime, with additional downtime if the releases fail and a revert is required.
This, and the other releases recently, have been focused on edge cases. In this particular release:
This, and the other releases recently, have been focused on edge cases. In this particular release:
- Bans due to a large number of rejected shares were previously tracked by username, which could have caused the real customer to be banned if someone else submitted rejected shares with his username. Now, bans will be handled per IP address.
- Undefined behavior used to occur when a customer connected, and then attempted to authorize with the "a=" password argument to an algorithm that uses a different share submission protocol. Now, workers that attempt to do that will be disconnected.
- The ability to mine at different difficulties on RandomX has been restored. Because of the way the ethash algorithms work, it will never be possible for different difficulties to be used.
- Refactoring simplified the code in some areas to reduce the likliehood of bugs.
- A case where workers who have not submitted any shares would encounter an exception while checking for the "hashrate doesn't match worker hardware" error.
- Prevented an edge case where customers who authenticate twice or subscribe twice could end up with bad nonces and other mining information.
- Prevented an edge case where a worker could submit a job that was not assigned to it.
- Removed the "difficulty" work refresh setting, which was rarely used and which we determined could cause issues with share credited. The documentation has yet to be updated with this change.
- Resolved a bug where work assigned to "idle" workers could be removed from memory, causing stale shares.
- Resolved a memory leak that caused data about disconnected workers to remain in memory.
- Bans are now handled proportionally, rather than by an absolute number of submitted shares. Once a number of rejected shares has been hit, a check is performed to see what proportion of those shares have been rejected.