Some time ago (and several system updates later, including updates to Calibre) Calibre starting failing to load (crashing?) after the splash screen.
I start Calibre -> The splash screen appears and shows the usual loading. -> The splash screen disappears. -> Calibre does not load. There are no errors. No tray icon. Just nothing.
I'm on Arch Linux with Deepin DE (system is up to date including Calibre).
I tried running Calibre in debug mode (calibre-debug) to no avail. After some hunting I found this command
Code:
calibre-debug -c "from calibre.gui2.main import main; import os, sys; os.fork() != 0 and sys.exit(0); os.setsid(); main()"
from
https://bugs.launchpad.net/calibre/+...00/comments/26 (Main thread here:
https://bugs.launchpad.net/calibre/+bug/1360200 )
That got Calibre to run. Splash screen appeared followed by Calibre loading. I will be honest and say that I have no idea what that command actually does. I used it as a Hail Mary as I couldn't find anything else and nothing else I tried was working.
However, since running it, Calibre seems to have blitzed my custom columns, preferences, etc. Like Calibre has reset to default but my library is still there. Maybe that command runs Calibre in a 'default mode'?
Here's the terminal output when running Caibre with that command:
Code:
Turning on automatic hidpi scaling
devicePixelRatio: 1.0
logicalDpi: 96.0 x 96.0
physicalDpi: 93.9653179191 x 94.0740740741
Using calibre Qt style: True
[rose@visas-marr ~]$ [0.00] Starting up...
[0.00] Showing splash screen...
[0.12] splash screen shown
[0.12] Initializing db...
[0.17] db initialized
[0.17] Constructing main UI...
DEBUG: 0.0 KoboUtilites::action.py - loading translations
DEBUG: 0.0 KoboUtilites::dialogs.py - loading translations
DEBUG: 0.0 KoboUtilites::action.py - loading translations
DBusExport: Failed to connect to DBUS session bus, with error: To make asynchronous calls, receive signals or export objects, D-Bus connections must be attached to a main loop by passing mainloop=... to the constructor or calling dbus.set_default_main_loop(...)
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Failed to create system tray icon, your desktop environment probably does not support the StatusNotifier spec https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
error returned by libusb_claim_interface() = -6LIBMTP PANIC: Unable to initialize device
Error while trying to open MTPDevice(busnum=1, devnum=2, vendor_id=1256, product_id=26720, bcd=1024, serial=u'94cdb40e', manufacturer=u'SAMSUNG', product=u'SAMSUNG_Android') (Driver: <calibre.devices.mtp.driver.MTP_DEVICE object at 0x7f04f55dcad0>)
Traceback (most recent call last):
File "/usr/lib/calibre/calibre/gui2/device.py", line 295, in detect_device
dev.open(cd, self.current_library_uuid)
File "/usr/lib/calibre/calibre/devices/mtp/driver.py", line 126, in open
BASE.open(self, device, library_uuid)
File "/usr/lib/calibre/calibre/devices/mtp/base.py", line 26, in synchronizer
return func(self, *args, **kwargs)
File "/usr/lib/calibre/calibre/devices/mtp/unix/driver.py", line 220, in open
connected_device, as_unicode(e)))
OpenFailed: Failed to open MTPDevice(busnum=1, devnum=2, vendor_id=1256, product_id=26720, bcd=1024, serial=u'94cdb40e', manufacturer=u'SAMSUNG', product=u'SAMSUNG_Android'): Error: Unable to open MTP device with busnum=1 and devnum=2, tried 1 such devices
Looking for desktop notifier support from: org.freedesktop.Notifications
org.freedesktop.Notifications found in 0.0 seconds
DEBUG: 0.8 No Kobo Touch, Glo or Mini appears to be connected
DEBUG: 0.8 rebuild_menus - self.supports_ratings=None, self.supports_tiles=None
DEBUG: 0.8 KoboUtilities:set_toolbar_button_tooltip - start: text='None'
DEBUG: 0.8 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders
Driver: KoboTouchExtended'
DEBUG: 0.0 HttpHelper::__init__: proxy=None
[1.08] main UI initialized...
[1.08] Hiding splash screen
[1.22] splash screen hidden
[1.22] Started up in 1.22 seconds with 79 books
Unable to open device <calibre.devices.android.driver.ANDROID object at 0x7f04f55d3910>
Traceback (most recent call last):
File "/usr/lib/calibre/calibre/gui2/device.py", line 198, in do_connect
dev.open(detected_device, self.current_library_uuid)
File "/usr/lib/calibre/calibre/devices/usbms/device.py", line 826, in open
self.open_linux()
File "/usr/lib/calibre/calibre/devices/usbms/device.py", line 572, in open_linux
%self.__class__.__name__)
DeviceError: Unable to detect the ANDROID disc drive. Either the device has already been ejected, or your kernel is exporting a deprecated version of SYSFS.
Connect to device failed, retrying in 5 seconds...
Continuing on, I search these forums and found this thread which have me the idea of turning the splash screen off.
https://www.mobileread.com/forums/sh...t=crash+splash
I used the above command to start Calibre then when into the Preferences and disabled the splash. Then I tried to start Calibre like normal (i.e. how I used to before it stopped working). It still will not load, however now it comes up with an "ERROR:Startup error" box with the following:
Code:
calibre, version 3.34.0
ERROR: Startup error: There was an error during calibre startup. Parts of calibre may not function. Click Show details to learn more.
Traceback (most recent call last):
File "/usr/lib/calibre/calibre/gui2/main.py", line 289, in initialize_db_stage2
self.start_gui(db)
File "/usr/lib/calibre/calibre/gui2/main.py", line 233, in start_gui
main.initialize(self.library_path, db, self.listener, self.actions)
File "/usr/lib/calibre/calibre/gui2/ui.py", line 271, in initialize
self.system_tray_icon = factory(app_id='com.calibre-ebook.gui').create_system_tray_icon(parent=self, title='calibre')
File "/usr/lib/calibre/calibre/gui2/dbus_export/widgets.py", line 227, in create_system_tray_icon
self.register_status_notifier(ans)
File "/usr/lib/calibre/calibre/gui2/dbus_export/widgets.py", line 221, in register_status_notifier
self.bus.call_blocking(*args, timeout=1)
File "/usr/lib/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
I have tried uninstalling and reinstalling and double checked the dependencies.
Clearly, something that was updated has caused issues but I have no idea what and I am out of ideas for fixing this myself. Help much appreciated and thanks in advance!