Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Plugins

Notices

Reply
 
Thread Tools Search this Thread
Old 09-16-2019, 10:15 PM   #1
tamarissa
Connoisseur
tamarissa began at the beginning.
 
Posts: 55
Karma: 10
Join Date: Aug 2018
Device: Kobo Aura H2O
Calibre crashes Kobo database every three weeks or so...

Calibre has been crashing the database on my Kobo regularly (about every 3 weeks or so) for about 4 months now. It's usually after hitting the 'eject device' button that I get an error message saying that it was not properly ejected, but once and a while I don't see anything wrong with the eject process. Then the next time I plug it in, I get a "cannot communicate with device" error message because the database is corrupted.

Then I have reset my Kobo, re-download all my books from the Kobo store, connect them back up the matching books in Calibre, then send the rest of my books to the device. Then I have to unplug it, plug it back in, send all the metadata again because none of the series or other info updates when it originally sends, then I have to update all the reading positions... etc. etc. This is a good 4-5 hour process and is extremely frustrating. Especially having to do it so frequently. I found an option to back up the database, but since there's no option to restore the database from that backup, it's basically a useless feature.

How do I stop Calibre from ejecting incorrectly when hitting the 'eject device' option?
Or alternatively, if that's not an option, how do I restore the database from the backup?


This is the current message I get when trying to update the metadata:
Code:
calibre, version 3.48.0
ERROR: Error: Error communicating with device

'list' object has no attribute 'set_debugging_title'

Traceback (most recent call last):
  File "site-packages/calibre/gui2/device.py", line 90, in run
  File "site-packages/calibre/gui2/device.py", line 543, in _sync_booklists
  File "site-packages/calibre/devices/kobo/driver.py", line 970, in sync_booklists
  File "site-packages/calibre/devices/kobo/driver.py", line 2387, in update_device_database_collections
AttributeError: 'list' object has no attribute 'set_debugging_title'
This is the current message I get when trying to refresh the book list:
Code:
calibre, version 3.48.0
ERROR: Error: Error communicating with device

CorruptError: database disk image is malformed

Traceback (most recent call last):
  File "site-packages/calibre/gui2/device.py", line 90, in run
  File "site-packages/calibre/gui2/device.py", line 513, in _books
  File "site-packages/calibre/devices/kobo/driver.py", line 1932, in books
  File "src/cursor.c", line 236, in resetcursor
CorruptError: CorruptError: database disk image is malformed
tamarissa is offline   Reply With Quote
Old 09-17-2019, 10:38 AM   #2
davidfor
Grand Sorcerer
davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.
 
Posts: 24,906
Karma: 47303748
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
Quote:
Originally Posted by tamarissa View Post
Calibre has been crashing the database on my Kobo regularly (about every 3 weeks or so) for about 4 months now. It's usually after hitting the 'eject device' button that I get an error message saying that it was not properly ejected, but once and a while I don't see anything wrong with the eject process. Then the next time I plug it in, I get a "cannot communicate with device" error message because the database is corrupted.
Are you running KSM on the device? There was a bug in one version of that which caused problem like you describe. The last version solved this.

Otherwise, you can try closing calibre and ejecting the device using the OS functions and seeing if that helps.

What OS is this happening with?
Quote:
Then I have reset my Kobo, re-download all my books from the Kobo store, connect them back up the matching books in Calibre, then send the rest of my books to the device. Then I have to unplug it, plug it back in, send all the metadata again because none of the series or other info updates when it originally sends, then I have to update all the reading positions... etc. etc. This is a good 4-5 hour process and is extremely frustrating. Especially having to do it so frequently. I found an option to back up the database, but since there's no option to restore the database from that backup, it's basically a useless feature.
The database backup is part of my Kobo Utilities plugin. I deliberately didn't write a restore function as if it was needed, you need to be sure of what you are doing. And hopefully, it would never actually be needed, so it would be a waste of time writing it.

The backup is a zip file containing the database plus a few other files. The restore is simply unzipping the file and copying the database to the device replacing the one that is there. Then eject the device and restart it.
Quote:
How do I stop Calibre from ejecting incorrectly when hitting the 'eject device' option?
Or alternatively, if that's not an option, how do I restore the database from the backup?


This is the current message I get when trying to update the metadata:
Code:
calibre, version 3.48.0
ERROR: Error: Error communicating with device

'list' object has no attribute 'set_debugging_title'

Traceback (most recent call last):
  File "site-packages/calibre/gui2/device.py", line 90, in run
  File "site-packages/calibre/gui2/device.py", line 543, in _sync_booklists
  File "site-packages/calibre/devices/kobo/driver.py", line 970, in sync_booklists
  File "site-packages/calibre/devices/kobo/driver.py", line 2387, in update_device_database_collections
AttributeError: 'list' object has no attribute 'set_debugging_title'
Is this happening after getting the error below?
Quote:
This is the current message I get when trying to refresh the book list:
Code:
calibre, version 3.48.0
ERROR: Error: Error communicating with device

CorruptError: database disk image is malformed

Traceback (most recent call last):
  File "site-packages/calibre/gui2/device.py", line 90, in run
  File "site-packages/calibre/gui2/device.py", line 513, in _books
  File "site-packages/calibre/devices/kobo/driver.py", line 1932, in books
  File "src/cursor.c", line 236, in resetcursor
CorruptError: CorruptError: database disk image is malformed
That is one of the possible errors with what you are reporting.
davidfor is offline   Reply With Quote
Advert
Old 09-18-2019, 07:00 PM   #3
tamarissa
Connoisseur
tamarissa began at the beginning.
 
Posts: 55
Karma: 10
Join Date: Aug 2018
Device: Kobo Aura H2O
Quote:
Are you running KSM on the device? There was a bug in one version of that which caused problem like you describe. The last version solved this.

Otherwise, you can try closing calibre and ejecting the device using the OS functions and seeing if that helps.

What OS is this happening with?
1 - I don't know what 'KSM' is. As far as I am aware, the only software on my device is the software produced by Kobo. It automatically updates, so whatever the current version of that is, I have it.

2 - As I usually only use the Kobo with Calibre, I've never tried ejecting from Finder; I will do that from now on and see if it ejects properly when Calibre can't.

3 - I assume you mean computer software here? Mac OS 10.13.6



Quote:
The backup is a zip file containing the database plus a few other files. The restore is simply unzipping the file and copying the database to the device replacing the one that is there. Then eject the device and restart it.
As the backup file is a .sqlite, not a .zip, I can't simply open it & copy/paste as directed. How do I open it? I tried an online viewer (see attachment), and none of the files were a database file. Since I couldn't extract them, it wasn't useful anyway.



As for the error messages, I get a different one every time I try to do something; doesn't seem to matter which order I do anything, I just get error messages.
Attached Thumbnails
Click image for larger version

Name:	Untitled.jpeg
Views:	119
Size:	444.6 KB
ID:	173549  
tamarissa is offline   Reply With Quote
Old 09-18-2019, 11:36 PM   #4
davidfor
Grand Sorcerer
davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.
 
Posts: 24,906
Karma: 47303748
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
Quote:
Originally Posted by tamarissa View Post
1 - I don't know what 'KSM' is. As far as I am aware, the only software on my device is the software produced by Kobo. It automatically updates, so whatever the current version of that is, I have it.

2 - As I usually only use the Kobo with Calibre, I've never tried ejecting from Finder; I will do that from now on and see if it ejects properly when Calibre can't.
There are occasional reports of issues when devices are ejected from within calibre. Calibre should be doing it correctly, but, sometimes it doesn't. it could be a sign that something else is accessing the device at the time In these cases, using the OS functions directly seem to work.

[/QUOTE]

3 - I assume you mean computer software here? Mac OS 10.13.6
[/QUOTE]
Yes. And it's useful to know in case someone has had similar problems and found a fix

[/QUOTE]

As the backup file is a .sqlite, not a .zip, I can't simply open it & copy/paste as directed. How do I open it? I tried an online viewer (see attachment), and none of the files were a database file. Since I couldn't extract them, it wasn't useful anyway.
[/QUOTE]
Sorry, I forgot the backup could be done without compressing the file. In this case, simply copy the file back to the ".kobo" directory on the device. You will need to rename it back to "KoboReader.sqlite".

[/QUOTE]
As for the error messages, I get a different one every time I try to do something; doesn't seem to matter which order I do anything, I just get error messages.[/QUOTE]

Are you getting lots of different messages, or is it a few different one coming up all the time?
davidfor is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
KSM 08, kobo database, and Calibre drawson1 Kobo Reader 4 01-30-2017 04:06 AM
Kobo Glo keeps getting corrupt database when using Calibre Josieb1 Devices 8 06-09-2016 04:59 AM
Glo Kobo glo and calibre 1.25.0 : kobo database version not suported ? gperrot Kobo Reader 2 07-13-2014 10:24 AM
Lots of Crashes: MySQL Database! emax Calibre 1 08-25-2011 06:51 AM
Calibre and Kobo database crowez Calibre 1 10-15-2010 08:24 PM


All times are GMT -4. The time now is 12:19 AM.


MobileRead.com is a privately owned, operated and funded community.