Other relevant packages:
calibre-bin 2.75.1+dfsg-1
python2.7 2.7.13-2
libqt5webkit5 5.7.1+dfsg-1
python-pyqt5.qtwebkit 5.7+dfsg-5
For debugging I also installed (for i386):
calibre-bin-dbgsym 2.75.1+dfsg-1
python2.7-dbg 2.7.13-2
libqt5webkit5-dbg 5.7.1+dfsg-1
python-pyqt5.qtwebkit-dbg 5.7+dfsg-5
Kernel: Linux debian 4.9.0-3-686-pae #1 SMP Debian 4.9.30-2+deb9u2
(2017-06-26) i686 GNU/Linux
The ebook-viewer from the package calibre crashes with an "illegal
instruction", while reading ebooks of type *.epub. This happens, for
example, with the ebooks from Project Gutenberg at
https://www.gutenberg.org/wiki/Main_Page .
The crash does not happen immediately; the application starts normally
and I can open an ebook of type *.epub. I can also browse through the
pages. But when I start reading and stay at two subsequent page for some
time, then the ebook-viewer may suddenly quit with an illegal instruction.
It seems, that the ebook-viewer regularly recalculates the current
reading position and safes it to a file. The next time it will reopen
the file at the same position. But sometimes it seems to crash at this
point.
The ebook-viewer may also crash, when the application window is closed.
This crash may get unnoticed during normal usage. But in the debugger, I
still get the message: "Program terminated with signal SIGILL, Illegal
instruction."
I suspect, that the cause is again the recalculation of the reading
position, to save it to a file.
When the ebook-viewer is started in a terminal, I get the error "Illegal
instruction".
hb1@debian:~$ ebook-viewer
Illegal instruction
hb1@debian:~$
The logfiles /var/log/messages, /var/log/syslog und /var/log/kern.log
contain these messages:
I created two backtraces with gdb, using the packages
calibre-bin-dbgsym, python2.7-dbg, libqt5webkit5-dbg, and
python-pyqt5.qtwebkit-dbg.
Since /usr/bin/ebook-viewer is not a binary file, but a Python script, I
used the approach:
- start ebook-viewer in a terminal
- get the process id of /usr/bin/python2.7 /usr/bin/ebook-viewer
- start gdb
- attach gdb to the process id
- let the application continue
- load an ebook in the ebook-viewer
- read the ebook, until it crashes
- get a backtrace
Regards,
Hartmut Buhrmester