Dear Qt maintainers,

I've cloned this bug reported against anki to libqt5webengine5, as it
seems that this is the source of the bug.  I don't know enough about
Qt's internals to be able to track it down.  It seems as though this
is a known problem: https://bugreports.qt.io/browse/QTBUG-68547
It's possible that the bug is in PyQt5, but that would seem unlikely.
But either way, something somewhere is very broken, and I don't know
exactly where.

The original report for your ease of reference, followed by a more
detailed explanation:

-----

Package: anki
Version: 2.1.0+dfsg~rc2-2
Severity: grave
Justification: renders package unusable

Anki presents a dialog with the following error message at startup and
then hangs after the dialog is dismissed:

Error during startup:
Traceback (most recent call last):
  File "/usr/share/anki/aqt/main.py", line 50, in __init__
    self.setupUI()
  File "/usr/share/anki/aqt/main.py", line 75, in setupUI
    self.setupMainWindow()
  File "/usr/share/anki/aqt/main.py", line 585, in setupMainWindow
    tweb =3D self.toolbarWeb =3D aqt.webview.AnkiWebView()
  File "/usr/share/anki/aqt/webview.py", line 114, in __init__
    self.focusProxy().installEventFilter(self)
AttributeError: 'NoneType' object has no attribute 'installEventFilter'

Sending ^c after waiting for a minute or so of waiting produces the
error:

Exception ignored in: <module 'threading' from 
'/usr/lib/python3.6/threading.py'>
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 1294, in _shutdown
    t.join()
  File "/usr/lib/python3.6/threading.py", line 1056, in join
    self._wait_for_tstate_lock()
  File "/usr/lib/python3.6/threading.py", line 1072, in _wait_for_tstate_lock
    elif lock.acquire(block, timeout):
KeyboardInterrupt

-----

My analysis:

Anki runs (/usr/share/anki/aqt/webview.py, line 18):

QWebEngineView.__init__(self, parent=parent)

which seems to run fine, but something seems wrong, as
self.focusProxy() is Null after this.  A few lines later, it runs
(line 18):

QWebEnginePage.__init__(self)

which gives the error:

[0816/101823.790400:WARNING:stack_trace_posix.cc(699)] Failed to open file: 
/tmp/.gloFZVqc (deleted)
  Error: No such file or directory

And it's all downhill from there: a few lines later, it tries to call
self.focusProxy().installEventFilter(self), but as self.focusProxy()
is Null, it bombs out.

   Julian

Reply via email to