I keep running into issues with the initial sync of the chain, it randomly fails, but I do not have any detectable hardware problems. I can restart the client, but eventually it hits a block that has a problem, and can go no further. Either it fills the debug.log with "invalid blocks" messages or the client errors with "database corruption"
I can get the client to ignore the bad blocks using invalidateblock, but doing a reconsiderblock immediately causes the client to error since it is not getting the block from the network and only using the bad one
How can I resolve this (without deleting the entire chain which I have tried multiple times now)? Is it possible to force the client to get the block again and ignore/delete the one on disk?