go-ipfs version: 0.4.12-rc1-8ec1ce9e
Repo version: 6
System version: arm/linux
Golang version: go1.9
Bug
I played around a bit with launching/killing ipfs, because it was using a lot of ressources, and it kept rebooting.
The actual bug is that when I want to actiate it now, with ipfs deamon I obtain the following:
Initializing daemon...
Adjusting current ulimit to 2048...
Successfully raised file descriptor limit to 2048.
Error: leveldb: manifest corrupted (field 'comparer'): missing [file=MANIFEST-000224]
From what I know there is an easy way to fix this, however I do not know the location of the said database.
Thanks for your help!
Please always try to shutdown IPFS gracefully to prevent corruption.
LevelDB files by default should be stored in ~/.ipfs/datastore.
Please always try to shutdown IPFS gracefully to prevent corruption.
Note: IPFS should recover from a crash. This is a bug.
Just in case it helps, the repair from python worked perfectly well!
how to recover the file?
$cd ~/.ipfs/datastore
$ python
…
>>> import leveldb
>>> leveldb.RepairDB("./")
Make sure you have leveldb installed first
leveldb.RepairDB("~/.ipfs/datastore")
Traceback (most recent call last):
File "
leveldb.LevelDBError: IO error: ~/.ipfs/datastore: No such file or directory
Try that:
$cd ~/.ipfs/datastore
$ python
…
>>> import leveldb
>>> leveldb.RepairDB("./")
it works!thank you very mush!
Welcome!
Most helpful comment
Make sure you have leveldb installed first