You're right "--fix-protocol" fixes cgminer too.
Funny thing, cause 2.9.3 was working fine the last 3 days.
I use p2pool, but apparently Bitminter and Eligius (which both use GBT) in my backup pools can trigger the bug since this morning even if they aren't used.
Posted a backtrace to #cgminer, hopefully it will help debug the problem.
If you mine in p2pool use another p2pool node as backup. There is few public nodes open for everyone.
None of those (AFAIK) support decentralized mining, though. Nor is it really practical as GBT's bandwidth use is absurd with p2pool's 10 second blocks.
There's no reason to prefer p2pool over Eligius or Bitminter anyway, so long as you're decentralized mining.
FFSake can you stop with the FUD - Eligius and Bitminter are not decentralized - learn English, not whatever warped, deluded, zealot language you use.
There is a perfectly simple reason to use p2pool and not go anywhere near ANY centralised GBT pool like Eligius or Bitminter and that is the 2 orders of magnitude larger amount of data GBT transfers across the internet to your miner compared to the old getwork or new stratum pool protocol.
Even a bitcoin dev has said that the GBT data design is not designed for a WAN (or even a LAN)
The RPC protocol was never designed to minimize data transfer. It's meant for controlling a bitcoind instance on the localhost, in which case the amount of data is of no essence (hence the choice of JSON, too).
... as per my Issue I raised on the bitcoin code (where you sneaked in your botnet support into bitcoind/GBT)
https://github.com/bitcoin/bitcoin/issues/1985I also do not understand why you supported botnets on Eligius and now added support of them into bitcoind that everyone now has in their bitcoind
Bitminter and Eligius ARE centralised - there is one place that controls all the work - the pool - just like every other non-p2pool pool does.
On Eligius GBT, the centralised pool decides what is valid work and what is not valid work.
On p2pool it is the p2peers that decide ... and if suddenly half the peers decide one type of work is valid and the other half decide a different type of work is valid, you will then get 2 p2pools running with 2 different sharechains
Be it half the miners or just one miner, the miner can keep mining no matter what it decides is valid - each sharechain is simply the list of p2pool miners that agree in it's contents ... and that is by definition decentralised.