-
Notifications
You must be signed in to change notification settings - Fork 540
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zergpool invalid job_id, various algos #193
Comments
Some data collected with 2 PCs. Rejects at startup on PC 2. PC 1: [2019-07-02 02:50:53] yespowerr16 block 423820, network diff 0.007 PC 2: [2019-07-02 02:51:25] Stratum difficulty set to 0.3 |
Analysis of the stratum code looks like it never received the messagew for new block 423821. That it didn't is evidence the message was never received. It is interesting to note the timing. The data also show the scenario described in the OP did not occur because PC 1 received the |
Another session showing that block 424023 was never received. [2019-07-02 09:34:41] Starting Stratum on stratum+tcp://yespowerr16.mine.zergpool.com:6534 |
Hi, Was checking problem, is that for CPU algos only? Otherwise I also did some change for yespowerr16 to have more bandwidth. |
It seems to be only for CPU algos, I have seen it on yespower and argon2d, where most users I also noticed latency is quite high maybe that's a factor. That could be a geographical issue, I'm in NA. Edit: just ran a quick test, got a stale job right off the start... [2019-07-03 08:45:48] Starting Stratum on stratum+tcp://yespowerr16.mine.zergpool.com:6534 |
I've looked at ways to make the miner more aggressive looking for a new job but nothing will help At this point I think I have taken it as far as I can. I have found noting in the miner that causes The problem defined as I see it:
Observations: Job notice is not late and there is no timing issue, the notice for the job is never received Running 2 miners side by side show one failed to receive a job notice while the other received it. The pool appears to be sending the job notices but is either failing to send to all miners or Possibly unrelated observations: Zergpool has unusually high latency from my location, around 140 ms. Sometimes there is a long delay before receiving the first job at startup. This delay may |
Weird, stratum implementation does not differ much as for any other algo. Usually such problems related to certain port getting spammed having too low start diff. Though, in this case 1 is quite good starting diff for yespowerr16. Nevertheless, I have changed network route for yespowerR16, tell me if any difference, then we could blame one of DDoS service providers |
Just ran a test, first share was rejected. The next job took 2 minutes and the job_id jumped by 4 It seems to be only the yescrypt and yespower algos. Other CPU algos argon2d*, m7m |
lyra2z330 also has the stale share problem. |
Around 30 minutes ago (15:00 NY time) lyra2v3 started spitting out invalid job id rejects, 42 so far, The good news is it definitely proves it's not an issue with cpuminer-opt. The bad news is the problem is spreading to other algos. |
About 40 minutes later it has cleared up on lyra2v3. It clearly looks like a targetted attack There's no need to keep this issue open any longer. |
Yes, I have just completed fight back on another DDoS, so I can confirm your observation |
There seems to be a problem with rejected shares due to invalid job id mining various
algos. I have seen it on yespower, yescrypt and argon2d algos, but only at zergpool.
The pattern seems to be a series of rejects until a new job is received. A race condition
is suspected. One race that is guaranteed to lose is if a new job crosses paths with a share
submission from the old job.
miner submit share ------------------>
<------------------ pool send new job
<------------------ pool rejects share invalid job id
miner receives rejection
The race condition may be exacerbated by hight latency, around 140 ms for me at this pool.
This issue is opened to study the problem and determine if the miner is slow to detect new
work, the pool may be sending invalid jobs, or latency is the root cause.
The text was updated successfully, but these errors were encountered: