I have seen referred in a couple of locations (bitcd and bitcoinj) that fully verifying clients should match the satoshi bitcoind client implementation, including its bugs, presumably to prevent splitting the blockchain.
I guess the bugs that need replicating are in the block acceptance rules, however I failed to find any specific references to the issues in question. The main Bitcoin Protocol Specification doesn't seem to mention any.
Can someone please explain (or link to a document that explains) these bugs?
Edit: The references that triggered my curiosity are the following (my emphasis):
From bitcd :
It currently properly downloads, validates, and serves the block chain using the exact rules (including bugs) for block acceptance as the reference implementation (bitcoind).
To be safe, bitcoinj must match the behavior of Satoshis code exactly, including all the bugs. Any deviation at all can be potentially used to split the consensus.