Quote:
Originally Posted by SirBeardAlot
I removed all books from Calibre once again, and ended up with empty directories and books that weren't removed. It seems that this corrupted book causes alot of damage, not to the actual database but to the filesystem or something.
|
For Kobo devices, calibre works with the database on the device. This means that if a book is not imported by the device and added to the database, calibre does not know that it exists. It will not show it in the list of books on the device. If you send a book to the device, calibre will remember that it was send, but, if calibre looks for books again before you eject (such as after restarting calibre) it will not find these books.
When you delete a book from a Kobo device using calibre, it deletes the book from the database and the file system.
With the above, it means that if the device has not successfully imported the books into the database, calibre cannot remove it. If you look, the book files will be on the device.
Quote:
Not sure if Calibre is causing this. Becuase the books were working before i added the "corrupted book". And i can use the same database once i remove the left over directories.
|
When you eject a Kobo device, it looks for changes with books. It looks for any book that are on the device and not in the database. Or, have changed. It will then process these books and add them to the database. If importing one book fails, it will not import any further books. If you connect the device to the PC and eject, it will repeat the above. If the problem book is still there, it will probably fail the import again. And because of the order the device uses, it will probably be the first book tried and the failure will be immediate.
In most cases where there is a problem, the device keeps running. But, some books will not be there. In this case, the problem book is causing more problems. I suspect that when the book is imported, it is causing a process to hang, or appear to hang. The device has a process watcher (called sickel) that will reboot the device if it appears that any process has hung.
The only times I have seen this happen during the import is for a big book which also has a very big table of contents. And probably will only happen for kepubs. The import puts the ToC into the database. If that takes to long, sickel can see the process as hung and reboot the device. And this could result in a corrupt database as the reboot is done without guaranteeing any cleanup has been done.