At some point in time, my local Geth node reported this tx http://testnet.etherscan.io/tx/0xa5b96f92520f18113061a3d7982709e1656988a74ce76760792f90e7ec92fb18 with the call
eth.getBlock(1256437) in the block 1256437.
The same tx with the same hash appeared also on the next block 1256438 with the call
eth.getBlock(1256438) at a later point in time.
eth.getBlock(1256437) reports empty transaction list.
How can this happen? What is the edge case I'm not catching? Can we assume that the transaction data (from, to, gas, value, data, etc.) apart from the block number remains same between the "block hop" or is it possible for them to change also?
AFAIK, pending transactions/blocks are not the reason because I'm always calling
N <= eth.blockNumber to make sure we are dealing with mined blocks only. Please correct if my assumption is wrong and
eth.blockNumber returns the pending block number too.
Also, this is a fully synced node this happened with.