Well, if we want to entertain the idea of faulty hardware having some bearing on the overall results, we need to identify recent release's. I follow a number of the Antminer threads and see a significant number of miners struggling to keep the S2's up and running. Also see a significant number of S2 miners posting screen shots with concerns over large numbers of Hardware Errors and Rejects. Some one will do a little math and say...Mheee...that's not too bad. My point though is that is 1TH/s equipment and those rejects and errors accumulated in 2-3hrs exceed my accepts for a given time period. AND knock-off miners with slightly less advertised total hash speed from Bit-Mine seem to have a slightly higher error rate/hour as well. Just seems too me like these units are a bit off, maybe they are putting out some bad vibe static.......
If the problem is related to the difficulty going above the limits of a 32-bit variable, it may not have anything to do with *recent* hardware releases. It could be OLD hardware. It would likely be firmware or software in the controller for the hardware. (See edit for more info).
This would explain why these accounts were not noted the last time I did a pass. I was looking for active withholding previously. Accounts with significantly low block submissions vs shares submitted. Last night's pass was specifically targetting shares vs blocks over the last 6 weeks, eliminating the chance of past luck making up for recent shortfalls.
EDIT/CLARIFICATION: The hardware itself has no reason to actually know the result of its hashing outside of diff>=1 (or >=1024 in some newer hardware I believe). It's probably not in the software since *most* ASICs do not use custom software, they use cgminer or bfgminer. So the point in the middle that handles communication between the hardware and the software is the most likely culprit.
There have been many issues with chips though the years. Both ASICs and regular processors.
The Intel FDIV bug to the huge errata lists on some RISC processors tend to be more impressive then ASICs, but that is because they are more in the public eye. Do you think that the get it out as fast as you can hardware that we are using is *really* that well tested....
-Dave
Still love this error list from the old days (the 5th one down is my favorite) you could blow your hardware with bad code:
The Amstrad Plus ASIC improved a lot of the old CPC's capability. Yet this was a bit flawed.
Despite removing some tasks from the CPU (Z80), ASIC registers are mapped onto memory from #4000 to #7FFF range prior to other type of memory (RAM or ROM).That means this memory range is not accessible when ASIC registers are paged.
PPI emulation is not correct as the original 8255 does not need validation.On ASIC emulation , this validation is needed so some programs written for "old CPCs" will not be able to get keyboard state.
Z80 IM2 mode is bugged.In this mode , the Z80 I register gives the high word for vector table.ASIC gives the low word from IVR and the devices that generate interrupt (raster and DMAs channels).ASIC generates sometimes a bad values and the raster interrupt routine is called instead of DMA0 routine.The reasons of this bug are not known.
There is a conflict between programmable interrupts and some CRTC settings (line screen split).That will cause the RAM refresh to stop and the memory content will be quickly corrupted causing machine crash.
Reducing Horizontal BLanking could cause another internal conflict when using DMA lists.In the worst case , this conflict can cause irreversible damage to the ASIC.
Original CPC colors emulation is not correct.