Errors on missing blocks in db
GuutBoy opened this issue · comments
I am occasionally getting errors like this:
ERRO Unable to compute inscription's Satoshi: block #471462 not in database (traversing 0x1346d30ca577a07ba338c70727af6b2f1b8f3488ca38fb148c62dc0d00447339 / 826984 in progress)
The program seems to continue, so I am wondering how to interpret this. What does this mean? Is ordhook able to recover from this error?
And what may cause this block not to be in the database?
In the release notes of 2.0.0 where is a mention of the flag --check-blocks-integrity
that sounds like it might repair this sort of thing. But I can find any documentation on how to use it. I tried
ordhook scan blocks --check-blocks-integrity --interval 767430:767753 --config-path=Ordhook.toml
or
ordhook db repair --check-blocks-integrity --config-path=Ordhook.toml
and a number of other combinations. But it all fails.
@smcclellan I increased ulimit
and I dont think I have seen this since. However, it's not really clear to me why the ulimit setting should cause this error. I would suggest improving the error message to make this clear. Also, it is not really clear if ordhook
recovers from this error or if this is causing ordhook
to give incomplete data. If the latter, maybe the consider if the ordhook
should abort on this error, rather than just keep running like nothing happened.
hi @GuutBoy , could you share your experience of how do you address this issue, and what is your ulimit to make it work, I keep getting the same err as you do
thanks
I think the docs somewhere says to set it at least at 4096.
I think the docs somewhere says to set it at least at 4096.
I already increase ulimit to 4096, but still has same issue,
how do you make it work?
Setting ulimit n with more than 4096 fix the issue