Having read this thread, I looked at my data and could also see the message Pages: error in the window "Book details" with all the data and the comments of the book.
As I have been editing quite a few books lately, I went back through all the books and noticed the following:
all the new books I added, had the error. Some of the books that were already in the database had the error, and some didn't.
I am running it on windows 11 with all the latest updates (updated last on 11th feb 2026). And I only use windows defender as antivirus. I did not change anything to shortcuts, or to pinning things on the taskbar, or environment variables. I am using the desktop calibre version, not the portable one.
On running calibre-debug.exe directly in c:\program files\calibre2, without any options, I got this message:
Spoiler:
calibre_plugins.fictiondb.__init__:54: SyntaxWarning: "\." is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\."? A raw string is also an option.
Failed to initialize plugin: 'C:\\Users\\XYZ\\AppData\\Roaming\\calibre\\plugin s\\FictionDB.zip'
Traceback (most recent call last):
File "calibre\customize\ui.py", line 854, in initialize_plugins
File "calibre\customize\ui.py", line 88, in load_plugin
File "calibre\customize\zipplugin.py", line 320, in load
File "importlib\__init__.py", line 88, in import_module
File "<frozen importlib._bootstrap>", line 1398, in _gcd_import
File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
File "<frozen importlib._bootstrap>", line 1342, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 938, in _load_unlocked
File "calibre\customize\zipplugin.py", line 219, in exec_module
File "calibre_plugins.fictiondb.__init__", line 11, in <module>
ImportError: cannot import name 'quote' from 'urllib' (C:\Program Files\Calibre2\app\bin\python-lib.bypy.frozen\urllib\__init__.pyc)
Module readline not available.
Welcome to the interactive calibre shell!
Use exit to quit
>>>
However, looking into the list of plugins in calibre under preferences-plugins, the fictionDB plugin is NOT installed in Calibre. I had a look in the folder of the plugins under appdata\roaming\calibre\plugins and found there was an old fictiondb.zip file (from 2023) present. I deleted it and now calibre-debug does not give any errors.
However, on restarting Calibre with "restart in debug mode", I got another syntax warning for the plugin job spy:
ApplicationPaletteChange event ignored
Using calibre Qt style: True
ApplicationPaletteChange event received
calibre_plugins.job_spy.ui:550: SyntaxWarning: "\J" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\J"? A raw string is also an option.
calibre_plugins.job_spy.ui:2245: SyntaxWarning: "\J" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\J"? A raw string is also an option.
calibre_plugins.job_spy.ui:11864: SyntaxWarning: "\c" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\c"? A raw string is also an option.
calibre_plugins.job_spy.config:148: SyntaxWarning: "\s" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\s"? A raw string is also an option.
calibre_plugins.job_spy.config:149: SyntaxWarning: "\[" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\["? A raw string is also an option.
calibre_plugins.job_spy.config:154: SyntaxWarning: "\[" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\["? A raw string is also an option.
calibre_plugins.job_spy.config:156: SyntaxWarning: "\[" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\["? A raw string is also an option.
calibre_plugins.job_spy.config:158: SyntaxWarning: "\[" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\["? A raw string is also an option.
calibre_plugins.job_spy.config:171: SyntaxWarning: "\*" is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\*"? A raw string is also an option.
calibre Debug log
calibre 9.4 embedded-python: True
Windows-11-10.0.26200-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '11', '10.0.26200')
Python 3.14.2
Windows: ('11', '10.0.26200', 'SP0', 'Multiprocessor Free')
Interface language: None
EXE path: C:\Program Files\Calibre2\calibre-debug.exe
Successfully initialized third party plugins: Gather KFX-ZIP (from KFX Input) (2, 29, 0) && DeDRM (10, 0, 9) && Package KFX (from KFX Input) (2, 29, 0) && Action Chains (1, 20, 10) && Barnes & Noble (1, 5, 8) && Comments Cleaner (1, 18, 2) && Diaps Editing Toolbag (0, 5, 0) && Editor Chains (1, 1, 9) && EpubCheck (0, 2, 6) && Find Duplicates (1, 10, 10) && Goodreads (1, 8, 4) && Job Spy (1, 0, 239) && KFX metadata reader (from KFX Input) (2, 29, 0) && From KFX (2, 29, 0) && KFX Input (2, 29, 0) && Set KFX metadata (from KFX Output) (2, 18, 0) && KFX Output (2, 18, 0) && LanguageTool (0, 1, 3) && Modify ePub (1, 8, 9) && Quality Check (1, 14, 7) && Reformat plugin (2, 4, 0) && ScrambleEbook (0, 6, 0)
calibre 9.4 embedded-python: True
Windows-11-10.0.26200-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '11', '10.0.26200')
Python 3.14.2
Windows: ('11', '10.0.26200', 'SP0', 'Multiprocessor Free')
Interface language: None
EXE path: C:\Program Files\Calibre2\calibre-debug.exe
Successfully initialized third party plugins: Gather KFX-ZIP (from KFX Input) (2, 29, 0) && DeDRM (10, 0, 9) && Package KFX (from KFX Input) (2, 29, 0) && Action Chains (1, 20, 10) && Barnes & Noble (1, 5, 8) && Comments Cleaner (1, 18, 2) && Diaps Editing Toolbag (0, 5, 0) && Editor Chains (1, 1, 9) && EpubCheck (0, 2, 6) && Find Duplicates (1, 10, 10) && Goodreads (1, 8, 4) && Job Spy (1, 0, 239) && KFX metadata reader (from KFX Input) (2, 29, 0) && From KFX (2, 29, 0) && KFX Input (2, 29, 0) && Set KFX metadata (from KFX Output) (2, 18, 0) && KFX Output (2, 18, 0) && LanguageTool (0, 1, 3) && Modify ePub (1, 8, 9) && Quality Check (1, 14, 7) && Reformat plugin (2, 4, 0) && ScrambleEbook (0, 6, 0)
QPA platform: windows
devicePixelRatio: 1.5
logicalDpi: 96.0 x 96.0
physicalDpi: 92.89142857142856 x 93.78461538461538
[0.00] Starting up...
[0.00] Showing splash screen...
[1.15] splash screen shown
[1.15] Initializing db...
[2.11] db initialized
[2.11] Constructing main UI...
qt.webengine.QWebEngineView OK
[4.55] GUI main window shown
Job Spy has begun initialization...
Calibre, and hence Job Spy, was gracefully shut down last time? True
Last time daemon started: never
Last time daemon failed: never
Total daemon starts inception_to_date: 0
Total daemon failures inception-to-date: 0
JS: ===>>> change_gui_alternating_row_colors()
Job Spy has finished initialization...
[4.76] main UI initialized...
[4.76] Hiding splash screen
[4.76] splash screen hidden
[4.76] Started up in 4.76 seconds with 48942 books
Action chains: _get_plugins_resources(): start
Editor chains: _get_plugins_resources(): start
Editor Chains: _get_plugins_resources(): finished
EditorChains::actions/editor_actions.py - exception when loading translations
Editor Chains: actions that does not run headless: ['Mark Cursor Tag', 'Insert Before Cursor Tag', 'Insert After Cursor Tag', 'Editor Actions']
calling method (on_modules_update) of obj (Tag Actions)
Editor Chains: Tag Actions: running on_modules_update()
calling method (on_modules_update) of obj (Style Actions)
Editor Chains: Style Actions: running on_modules_update()
Editor chains: _call_plugins_on_modules_update(): start
Editor Chains: _call_plugins_on_modules_update(): finished
Action Chains: _get_plugins_resources(): finished
Action chains: formulas: running on_templates_update()
Action chains: _call_plugins_on_modules_update(): start
Action Chains: _call_plugins_on_modules_update(): finished
[26.79] Shutdown starting...
[26.88] Shutdown message shown...
[26.88] Grid view shutdown
[26.88] Bookshelf view shutdown
[26.89] Actions shutdown
[27.09] Various services shutdown
[27.09] Metadata backup shutdown
[27.66] Current database closed
[27.66] Windows hidden
[27.68] Waiting for overseers, mdns, and live to shutdown
[27.68] Waiting for device manager to shutdown
[27.68] Shutdown complete in 0.88, quitting...
Removing the job spy plugin solved this problem, but I am not sure what these syntax warnings relate to.
I then rebooted in safe mode, but that gave the same results.
Using the "Re-count the pages in this book" option from the popup menu in the book details panel, does work, and gives the number of pages. But not for all the books I tried.
So I still wonder why I get the pages error.