Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1031373: eric: Eric7 hangs during startup

36 views
Skip to first unread message

MichaelR

unread,
Feb 15, 2023, 6:10:05 PM2/15/23
to
Package: eric
Version: 23.2+ds1-1
Severity: important
X-Debbugs-Cc: micha...@runbox.com

Eric7 hangs during statup after upgrading from eric6 (and an upgrade
from Devuan Chimaera to Daedalus (Bullseye -> Bookworm). The main window
and splash screen are visible. The main window status bar says "Looking
for Documentation...". The eric7_errorlog is included below. It seems
to be looking for some QT5 doc files. I installed qt5-doc but it was no
help and pyqt5-doc does not exist.

I have purged ~/.eric7/ and ~/.config/Eric7/ and renamed the
corresponding Eric6 dirs to try a clean start but it has no effect. I
have also tried copying the contents of the eric6 dirs to the eric7
dirs - also with no effect.

This all happened initially with 23.1.1+ds1-1 but continues with
23.2+ds1-1.

## begin eric7_errorlog ##

--------------------------------------------------------------------------------
<class 'AttributeError'>:
'NoneType' object has no attribute 'split'
--------------------------------------------------------------------------------
File "/usr/lib/python3/dist-packages/eric7/QtHelpInterface/HelpDocsInstaller.py", line 167, in run
changes |= self.__installQtDoc(doc, version, engine)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/eric7/QtHelpInterface/HelpDocsInstaller.py", line 195, in __installQtDoc
lst = info.split("|")
^^^^^^^^^^

--------------------------------------------------------------------------------
Version Numbers:
Python 3.11.1, 64-Bit
Qt 6.4.2
PyQt6 6.4.1
PyQt6-Charts 6.4.0
PyQt6-WebEngine 6.4.0
PyQt6-QScintilla 2.13.3
sip 6.7.6
WebEngine 102.0.5005.177
(Security) 108.0.5359.94
eric7 23.2 (rev. 9e14817925e5)

Platform: linux
3.11.1 (main, Dec 31 2022, 10:23:59) [GCC 12.2.0]

Desktop: XFCE

Session Type: X11
--------------------------------------------------------------------------------
Plugins Version Numbers:
PluginAbout 23.2
PluginCodeStyleChecker 23.2
PluginEricapi 23.2
PluginEricdoc 23.2
PluginSyntaxChecker 23.2
PluginTranslator 23.2
PluginVcsGit 23.2
PluginVcsMercurial 23.2
PluginVcsPySvn 23.2
PluginVcsSubversion 23.2
PluginVmListspace 23.2
PluginVmTabview 23.2
PluginWizardDotDesktop 23.2
PluginWizardEricMessageBox 23.2
PluginWizardEricPlugin 23.2
PluginWizardPyRegExp 23.2
PluginWizardQColorDialog 23.2
PluginWizardQFileDialog 23.2
PluginWizardQFontDialog 23.2
PluginWizardQInputDialog 23.2
PluginWizardQMessageBox 23.2
PluginWizardQRegularExpression 23.2
PluginWizardSetup 23.2
--------------------------------------------------------------------------------
Distribution Info:
/etc/os-release
PRETTY_NAME="Devuan GNU/Linux 5 (daedalus/ceres)"
NAME="Devuan GNU/Linux"
VERSION_ID="5"
VERSION="5 (daedalus/ceres)"
VERSION_CODENAME="daedalus ceres"
ID=devuan
ID_LIKE=debian
HOME_URL="https://www.devuan.org/"
SUPPORT_URL="https://devuan.org/os/community"
BUG_REPORT_URL="https://bugs.devuan.org/"

## end eric7_errorlog ##


-- System Information:
Debian Release: bookworm/sid
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-3-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled

Versions of packages eric depends on:
ii black 22.12.0-1
ii libjs-jquery 3.6.1+dfsg+~3.5.14-1
ii libjs-jquery-hotkeys 0~20130707+git2d51e3a9+dfsg-2.1
ii libjs-jquery-isonscreen 1.2.0-1.1
ii libjs-jquery-tablesorter 1:2.31.3+dfsg1-3
ii libjs-jquery-ui 1.13.2+dfsg-1
ii python3 3.11.1-3
ii python3-asttokens 2.2.1-1
ii python3-chardet 5.1.0+dfsg-2
ii python3-coverage 6.5.0+dfsg1-2+b1
ii python3-distutils 3.10.8-1
ii python3-editorconfig 0.12.3-1
ii python3-isort 5.6.4-1
ii python3-jedi 0.18.2-1
ii python3-parso 0.8.3-1
ii python3-pygments 2.14.0+dfsg-1
ii python3-pyqt6 6.4.1-1
ii python3-pyqt6.qsci 2.13.3+dfsg-3
ii python3-pyqt6.qtcharts 6.4.0+dfsg-2
ii python3-pyqt6.qthelp 6.4.1-1
ii python3-pyqt6.qtserialport 6.4.1-1
ii python3-pyqt6.qtsvg 6.4.1-1
ii python3-pyqt6.qtwebengine 6.4.0-1
ii python3-send2trash 1.8.1~b0-2
ii python3-trove-classifiers 2022.12.22-2

Versions of packages eric recommends:
ii eric-api-files 23.2+ds1-1
ii python3-rope 1.7.0-1

Versions of packages eric suggests:
pn pyqt5-doc <none>
pn pyqt6-dev-tools <none>
pn python3-doc <none>
pn qt5-doc-html <none>
pn qtbase5-doc-html <none>
pn ruby <none>

-- no debconf information

Gudjon I. Gudjonsson

unread,
Feb 16, 2023, 7:10:04 AM2/16/23
to
Hi Michael

Sorry, I am unable to reproduce your bug.
I tried to move my documentation but without success.

PyQt6 is version 6.4.2 on my system but 6.4.1 on yours. Can you please
try to upgrade it? It migrated to testing on the 13th.

Otherwise if
python3 -v -v /usr/lib/python3/dist-packages/eric7/eric7_ide.py
might give more info.

Regards
Gudjon

MichaelR

unread,
Feb 16, 2023, 11:50:04 AM2/16/23
to
I upgraded pyqt6* to 6.4.2 but it didn't help. Running python with
-v-v tells more about what's going on in python but not in eric.

I added some debugging code between lines 193 & 194 of
/usr/lib/python3/dist-packages/eric7/QtHelpInterface/HelpDocsInstaller.py

info = engine.customValue(versionKey, "")
if info is None:
logging.error(f'versionKey={versionKey} not found')
info = ""
else:
logging.error(f'versionKey={versionKey} found')
lst = info.split("|")

The odd thing is that the first item in the qt5Docs list is always "not
found", no matter what the first item is. So the first call to
engine.customValue() is always returning None while subsequent calls
don't.

Run #1:
ERROR:root:versionKey=qt_version_5@@activeqt not found
ERROR:root:versionKey=qt_version_5@@qdoc found
ERROR:root:versionKey=qt_version_5@@qmake found
ERROR:root:versionKey=qt_version_5@@qt3d found
ERROR:root:versionKey=qt_version_5@@qt3drenderer found
ERROR:root:versionKey=qt_version_5@@qtandroidextras found
<snip>

I removed activeqt from the qt5Docs list and reran:

ERROR:root:versionKey=qt_version_5@@qdoc not found
ERROR:root:versionKey=qt_version_5@@qmake found
ERROR:root:versionKey=qt_version_5@@qt3d found
ERROR:root:versionKey=qt_version_5@@qt3drenderer found
ERROR:root:versionKey=qt_version_5@@qtandroidextras found
<snip>

I do have qdoc.qch, qmake.qch, qt3d.qch (and many others) in
/usr/share/qt5/doc/ but I don't have activeqt.qch, qt3drenderer.qch or
qtandroidextras.qch. Whatever engine.customValue() is finding seems
to have nothing to do with the existence of the files.

Also, the QT docsfor QHelpEngineCore::customValue() say "Returns the
value assigned to the key. If the requested key does not exist, the
specified defaultValue is returned." Since the first call here is
always returning None it seems that either the default value ("") isn't
always returned for a not found or the key is found but has a value
of None?

One of the things I haven't yet figured out is where is QHelpEngineCore
looking for these values?

I have all dependencies installed, have no broken packages, and I
had no errors during the dist-upgrade that installed eric7 yet it seems
like something is missing.

MichaelR

unread,
Feb 16, 2023, 12:40:04 PM2/16/23
to
Something I omitted previously that turns out to be pretty important is
that there were many messages logged like this:

QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:

I dug into HelpViewerWidget.py and saw that it was ultimately trying to
use a sqlite database and realized those messages were connected to
this process, not just part of some other thread.

I so happens that I did not have libqt6sql6-sqlite installed. Once
that's done Eric7 starts as it should and imports the Eric6 config.

I guess there is a missing dependency in the eric package, or somewhere
in that chain.

Gudjon I. Gudjonsson

unread,
Feb 16, 2023, 1:00:04 PM2/16/23
to
Hi Michael

Great, thanks. I can reproduce that.
I will add a dependency.

Regards
Gudjon
signature.asc
0 new messages