So, my Monero daemon decided this morning it was time to redownload the entire blockchain, from scratch. I have no idea why. The data.mdb file is still more than 16GB big, so I suppose the chain is still there.

I've found these messages on the log:

2016-Aug-08 10:55:22.364677 The DB has no hard fork info, reparsing from start 2016-Aug-08 10:55:22.364857 Blockchain not loaded, generating genesis block. 2016-Aug-08 10:55:22.414494 Loading precomputed blocks: 830001 2016-Aug-08 10:55:22.501316 Blockchain initialized. last block: 0, d1496.h10.m55.s22 time ago, current difficulty: 1 2016-Aug-08 10:55:22.999997 WARNING: no two valid MoneroPulse DNS checkpoint records were received

I don't know why didn't it load the chain.

Perhaps some info that might be related, even though I don't see how. A couple days ago I formatted and reinstalled my / partition. The /home partition (which contains monero executable) and the disk which contains the blockchain data were not formatted. And, after formatting, I did manage to start up the daemon and not have the chain downloaded from start. It was just this morning that it decided to rebuild it.

Is there anyway I can avoid rebuilding the database? It would take hours if not more than a full day, and the data is certainly here judging by the file size. Every time I restart the daemon it catches back from a very old block, where it had stopped since last shutdown.

Thank you for any help.

EDIT: So, now things got worse. Came back to my computer and saw it had crashed. Black screen, not responding. Then I remembered the same thing had happened last time when it entered in stand by (I'm assuming that's what happened) while running Monero. And now the daemon won't even start. There's this error message on startup:

2016-Aug-08 13:48:06.571033 ERROR /DISTRIBUTION-BUILD/src/daemon/daemon.cpp:146 Uncaught exception! Attempt to get block size from height 0 failed -- block size not in db

EDIT2: So, nothing to do with stand by actually. I went to the settings and my system was not configured to suspend automatically, all that happens is that the screen should turn off after 10 minutes. For some reason that I ignore it sometimes just won't turn back on, so I had to forcibly shut down the computer. It seems the daemon can't handle a sudden crash very well when synchronizing at least, and that's what's causing my problems.

Is there anyway I can "fix" the file? It probably still has the data, judging by its size. It's 23Gb now. But the daemon can't see it....