[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#906256: Bug#905379: anki: hangs after "'NoneType' object has no attribute 'installEventFilter'"



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