Author

Topic: Bitcoin se me muere al hacer un getblock de los bloques 1 al 59571 (Read 898 times)

legendary
Activity: 1974
Merit: 1029
O sea, obtengo error entre los bloques 1 y 59571 inclusive (el 0 funciona, pero ese es especial).

Ocurre que mi blk00000.dat contiene el bloque 0 y a continuación un montón de preciosos ceritos hasta llegar a los 16 Mb, entonces a partir de ahí empieza a haber datos de nuevo. Si busco el siguiente bloque, está un poquito más abajo y, magia, resulta ser el 59573.

Así que el 0 no tiene nada de especial, simplemente funciona porque está en el archivo. El 59572 chuta pero sólo parcialmente:

Code:
$ bitcoind getblock $(bitcoind getblockhash 59572)
{
    "hash" : "4d9862b15cdc472aa7c0837287b01cd58f230dc18360f81d36ba1e47cbf7300b",
    "confirmations" : 0,
    "size" : 215,
    "height" : 59572,
    "version" : 0,
[...]

Los valores de hash, confirmations y version son incorrectos.
legendary
Activity: 1974
Merit: 1029
Code:
$ bitcoind getblockhash 3
0000000082b5015589a3fdf2d4baff403e6f0be035a5d9742c1cae6295464449
$ bitcoind getblock 0000000082b5015589a3fdf2d4baff403e6f0be035a5d9742c1cae6295464449
error: no response from server

En el debug.log:

Code:
2013-04-01 10:29:34 ThreadRPCServer method=getblock
2013-04-01 10:29:35 ERROR: CheckProofOfWork() : nBits below minimum work
2013-04-01 10:29:35 ERROR: CBlock::ReadFromDisk() : errors in block header

Y en el log del sistema se ve un pete del proceso:

Code:
[12:35:48] kernel: [616350.252104] bitcoin-rpchand[21782]: segfault at 10 ip 00000000005393a3 sp 00007f217a401e70 error 4 in bitcoind[400000+3cd000]

He ido tanteando para ver hasta dónde me fallaba, y parece ser hasta el bloque 59571:

Code:
$ bitcoind getblock $(bitcoind getblockhash 59573) |tail -n 3
    "previousblockhash" : "00000000046739c1ea3612322e1769f07783ebb22fb62498b7fd2ff249a52f29",
    "nextblockhash" : "000000000b1baf979c8f59816e3d8f4873b6224fa217309234cea37c61023d0d"
}
$ bitcoind getblock $(bitcoind getblockhash 59572) |tail -n 3
    "previousblockhash" : "0000000002e0bebdedd492c730357e2ccaa9ae813d65746db80e1a1e803b4aa7",
    "nextblockhash" : "000000000bbb0dde89c4ccd3d5faced4cedb506bd8a74a74db09558e7df55959"
}
$ bitcoind getblock $(bitcoind getblockhash 59571) |tail -n 3
error: no response from server

O sea, obtengo error entre los bloques 1 y 59571 inclusive (el 0 funciona, pero ese es especial). ¿A alguien se le ocurre alguna pista? Esto es con bitcoin 0.8.0. Mi directorio .bitcoin es uno que estaba creado desde antes de la 0.8 a partir del bootstrap.dat y al actualizar pasó por toda esta operación del reindexado.
Jump to: