cdhowie / Bitcoin-mining-proxy

Multi-pool, multi-worker proxy for Bitcoin miners, supporting long polling and pool failover
GNU Affero General Public License v3.0
126 stars 70 forks source link

hashkill and DiabloMiner stops submitting shares #25

Closed kripz closed 13 years ago

kripz commented 13 years ago

90% shares arent being submitted?

Linux: [24/06/11 8:49:58 PM] DEBUG: Attempt 77 found on Cypress (#3) [24/06/11 8:50:02 PM] DEBUG: Attempt 78 found on Cypress (#2) [24/06/11 8:50:07 PM] DEBUG: Attempt 79 found on Cypress (#2) [24/06/11 8:50:12 PM] DEBUG: Attempt 80 found on Cypress (#3) [24/06/11 8:50:13 PM] DEBUG: Attempt 81 found on Cypress (#2) [24/06/11 8:50:14 PM] DEBUG: Attempt 82 found on Cypress (#3) [24/06/11 8:50:15 PM] DEBUG: Attempt 83 found on Cypress (#2) [24/06/11 8:50:18 PM] DEBUG: Attempt 84 found on Cypress (#3) [24/06/11 8:50:21 PM] DEBUG: Attempt 85 found on Cypress (#1) [24/06/11 8:50:23 PM] DEBUG: Attempt 86 found on Cypress (#2) [24/06/11 8:50:33 PM] DEBUG: Attempt 87 found on Cypress (#2)

Windows machine: [24/06/11 8:56:17 PM] DEBUG: Attempt 3 found on Cayman (#2) [24/06/11 8:56:18 PM] DEBUG: Attempt 4 found on Cayman (#2) [24/06/11 8:56:20 PM] DEBUG: Attempt 5 found on Cayman (#2) [24/06/11 8:56:26 PM] DEBUG: Forcing getwork update due to nonce saturation [24/06/11 8:56:31 PM] DEBUG: Forcing getwork update due to nonce saturation [24/06/11 8:56:32 PM] DEBUG: Attempt 6 found on Cayman (#2) [24/06/11 8:56:32 PM] DEBUG: Attempt 7 found on Cayman (#2) [24/06/11 8:56:34 PM] DEBUG: Attempt 8 found on Cayman (#2) [24/06/11 8:56:38 PM] DEBUG: Attempt 9 found on Cayman (#2) mhash 364.5/362.8 | a/r/hwe: 0/1/0 | ghash: 30.1 | fps: 30.4

Nothing is being submitted?

Phoenix works 100%.

[26/06/2011 20:44:55] Server gave new work; passing to WorkQueue [26/06/2011 20:44:58] Result 00000000b278dc5f... accepted [26/06/2011 20:45:06] Result 0000000040786380... rejected [26/06/2011 20:45:06] Result 00000000554f353d... accepted [26/06/2011 20:45:08] Result 000000002c8473cf... accepted [26/06/2011 20:45:08] Server gave new work; passing to WorkQueue [26/06/2011 20:45:11] Result 00000000d9981a03... accepted [26/06/2011 20:45:12] Result 00000000e022cef0... rejected [26/06/2011 20:45:26] Result 000000001c40b050... accepted [26/06/2011 20:45:32] Warning: work queue empty, miner is idle [26/06/2011 20:45:33] Server gave new work; passing to WorkQueue [26/06/2011 20:45:35] Server gave new work; passing to WorkQueue [26/06/2011 20:45:47] Server gave new work; passing to WorkQueue [26/06/2011 20:46:00] Server gave new work; passing to WorkQueue [26/06/2011 20:46:06] Result 00000000516f1f92... accepted [26/06/2011 20:46:13] Server gave new work; passing to WorkQueue [26/06/2011 20:46:25] Server gave new work; passing to WorkQueue [26/06/2011 20:46:38] Server gave new work; passing to WorkQueue [26/06/2011 20:46:41] Result 000000006bb4311a... accepted [26/06/2011 20:46:45] Result 00000000c2c76ecf... accepted [337.08 Mhash/sec] [1540 Accepted] [76 Rejected] [RPC (+LP)]

From the creator of DiabloMiner: "The proxy probably does not correctly support things DiabloMiner does, such as time incrementing and returning multiple nonces for the same getwork over short periods. It looks like the sendwork thread is being choked by the proxy.

So, clearly, its a proxy bug."

edgeman16 commented 13 years ago

I have the same problem with DiabloMiner, the problem started after the author updated the getwork code with this commit: https://github.com/Diablo-D3/DiabloMiner/commit/5a3a3728476111d321d280e9b349d03b3003a095 I've been using the DiabloMiner version from before this commit, and it runs fine with the proxy.

wyze commented 13 years ago

I will switch one of my miners over to DiabloMiner and start to debug.

cdhowie commented 13 years ago

Time incrementing is not yet supported; multiple submissions per getwork ("multiple nonces for the same getwork over short periods") are fully supported.

cdhowie commented 13 years ago

This issue might have been fixed by the latest commit (30e06ac). Please pull and test. (Don't forget to run the database migration script.)

edgeman16 commented 13 years ago

It appears to be fixed, I am using the latest DiabloMiner without issues.

cdhowie commented 13 years ago

Excellent.

edgeman16 commented 13 years ago

I may have spoke too soon, I am getting a large percentage of rejected shares after upgrading to the latest DiabloMiner... http://eligius.st/~artefact2/3/1MFaYCcxgE3trzDcYKdeeMJoMCmA1RDe2M?autorefresh=1 Usually the number is less than 10%

kripz commented 13 years ago

Just had the newest commits running for about 8 hours now. Again the proxy stopped accepting shares for some reason. Stopped for an hour and never recovered?

[1/07/11 5:46:12 PM] DEBUG: Forcing getwork update due to nonce saturation [1/07/11 5:46:14 PM] DEBUG: Forcing getwork update due to nonce saturation [1/07/11 5:46:37 PM] DEBUG: Forcing getwork update due to nonce saturation [1/07/11 5:46:38 PM] DEBUG: Forcing getwork update due to nonce saturation [1/07/11 5:47:01 PM] DEBUG: Forcing getwork update due to nonce saturation [1/07/11 5:47:03 PM] DEBUG: Forcing getwork update due to nonce saturation [1/07/11 5:47:12 PM] DEBUG: Attempt 2738 found on Cypress (#1) [1/07/11 5:47:19 PM] DEBUG: Attempt 2739 found on Cypress (#1) [1/07/11 5:47:26 PM] DEBUG: Forcing getwork update due to nonce saturation [1/07/11 5:47:27 PM] DEBUG: Forcing getwork update due to nonce saturation [1/07/11 5:47:32 PM] DEBUG: Attempt 2740 found on Cypress (#1) [1/07/11 5:47:48 PM] DEBUG: Attempt 2741 found on Cypress (#1) [1/07/11 5:47:50 PM] DEBUG: Forcing getwork update due to nonce saturation [1/07/11 5:47:51 PM] DEBUG: Attempt 2742 found on Cypress (#1) [1/07/11 5:47:52 PM] DEBUG: Forcing getwork update due to nonce saturation [1/07/11 5:48:03 PM] DEBUG: Attempt 2743 found on Cypress (#1) [1/07/11 5:48:07 PM] DEBUG: Attempt 2744 found on Cypress (#1)

Currently testing on phoenix, will report back.

kripz commented 13 years ago

Phoenix 100% rock solid

[170.99 Mhash/sec] [2922 Accepted] [72 Rejected] [RPC (+LP)]

leoninelion commented 13 years ago

Same problem with DiabloMiner (example with deepbit, accountinfo x'd out):

ERROR: Cannot connect to Bitcoin: Bitcoin returned error message: Deepbit.lib.InfoException: Wrong data: checkWork: this nonce already completedpostWork user:xxxxxxxxxxxx worker: xxxxxxxxx ip: xxxxxxxxxxxxx data=000000011825819f70e8f600b57202ce1b32ee68b24a7ca1e9ee214c000000f500000000caea3326f343501479ef88131a0ac9639e5ef8d86cf0a7cc43b20c0ed4b59e7d4e0edc611a0c2a12cc040463000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000 [7/2/11 3:55:53 AM] ERROR: Cannot connect to Bitcoin: Bitcoin returned error message: No enabled pools responded to the work request. [ ... repeated several times ... ] mhash 1234.2/1251.0 | accept: 40 | reject: 8 | hw error: 0^C

No further units are accepted after that error at the top.

cdhowie commented 13 years ago

@edgeman16: Please pull latest. It's possible that the share submissions did succeed, but the request timed out in the proxy code before the pool was able to report success, so the proxy tried to submit the share again and this resulted in a failed (duplicate) submission. The timeout for submissions has been raised to 30 seconds.

edgeman16 commented 13 years ago

Latest DiabloMiner is still getting a bit more rejects than I would like. Currently at 11% and climbing. This is latest DiabloMiner (downloaded today), latest proxy (pulled today and even has the human-time code), running against Eligius. The latest DiabloMiner seems to hash slower than the older one I was using as well, so I think I will just switch back to the older version and keep using that. That works well with the proxy/pool. And gets me about 8Mhash/s more. Thanks for the improvements and thanks for the great proxy :)