Control: tags + moreinfo

Hi Hartmut,

On Mon, Jul 10, 2017 at 06:18:31PM +0200, Hartmut Buhrmester wrote:
> Package: calibre
> Version: 2.75.1+dfsg-1
> 
> 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.
>

Would you please confirm if this issue also affects calibre from
stretch-backports (3.31.0+dfsg-1~bpo9+1) or alternatively from sid
(3.39.1+dfsg-1).

> 
> 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:
> 
> > Jun 29 22:52:30 debian kernel: [ 1529.008213] traps: ebook-viewer[1350] 
> > trap invalid opcode ip:a84cae95 sp:bfa65160 error:0
> > Jun 29 23:08:31 debian kernel: [ 2490.015276] traps: ebook-viewer[1407] 
> > trap invalid opcode ip:abf0e9a9 sp:bfaa6890 error:0
> > Jun 29 23:09:58 debian kernel: [ 2577.010756] traps: ebook-viewer[1440] 
> > trap invalid opcode ip:a8e34989 sp:bfeac550 error:0
> > Jun 29 23:28:20 debian kernel: [ 3679.067235] traps: ebook-viewer[1454] 
> > trap invalid opcode ip:aac0e9a9 sp:bf9d16d0 error:0
>

I was not able to reproduce this ebook-viewer failure with 3.39.1+dfsg-1.

> 
> 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
>

Thank you for the backtraces and high-quality bug report! :-D Based on
a quick scan of the backtrace I wonder if this might have been a
libqt5webkit5 or a jquery bug (from the ancient unmaintained bundled
copy of jquery 1.x).  If it's the latter, it's an upstream issue.  I
thought about unbundling it, and switching to Debian's libjs-jquery
3.x, but someone would have had to check if Calibre used obsolete
methods no longer supported in jquery 3.x...  Sadly I didn't have the
time/knowledge necessary to check this in time for Buster/Debian 10.


Cheers,
Nicholas

Attachment: signature.asc
Description: PGP signature

Reply via email to