Tumbleweed: eric5 crashing help

Hi All,

I have a new fresh install of Tumbleweed. I am trying to get eric5 running, but it repeatedly crashes. Currently crashes when I click on the “Project” –> “Open…” menu item.
The error messages when run from command line are:

~> eric5
Warning: translation file 'qt_en_US’could not be loaded.
Using default.
Warning: translation file 'qscintilla_en_US’could not be loaded.
Using default.
BackgroundService listening on: 36447
Fatal Python error: Cannot recover from stack overflow.

Current thread 0x00007ff5374d4700 (most recent call first):
File “/usr/lib/python3.6/site-packages/eric5/E5Gui/E5ErrorMessage.py”, line 99 in messageHandler
File “/usr/lib/python3.6/site-packages/eric5/E5Gui/E5ErrorMessage.py”, line 104 in messageHandler
<repeated many times>

Aborted (core dumped)
~>

I have tried in my native locale en_AU, also en_GB and en_US and all give the same errors.

Versions are: (all from the same openSUSE-Tumbleweed-Oss repository)
eric5…5.5.2-3.1
python3…3.6.1-3.1
python…2.7.13-2.5
python3-qt4…4.12-6.1
python3-qt5…5.8.2-3.2
python2-qt4…4.12-6.1
python2-qt5…5.8.2-3.2
python-qscintilla (python, python3, qt4, qt5, sip and all combos)…2.10-2.1
libqscintilla2-qt4/qt5-13…2.10-2.1
libQt5Core5…5.9.1-2.1
libqt4…4.8.7-7.2

In case it makes a difference this is a x86_64 machine running KDE4 with NVIDIA graphics drivers.

Many thanks for any suggestions

Mark

Before looking at your eric5 problems too closely,
Maybe try eric6?
The following is where you can find the Python3 version of eric6
https://software.opensuse.org/package/python3-eric6

If you have problems, it’s also probably highly advisable to also post your Desktop and the Qt version installed since eric is so highly dependendent on Qt.

TSU

Also,
When developing, I highly recommend adding the special repos for any Dev languages you’re using…

So, for TW Python 3

zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/python3/openSUSE_Tumbleweed/ TW_Python3

And the latest Qt packages are likely distributed as part of any special Desktop repos (particularly KDE)

You should add these repos before install installing apps, or if you add repos later then update your system with the following command so that your apps pick up the later packages/components

zypper up

TSU

Hi Tsu & thanks.

The Qt version is listed above (or I don’t understand which one to list) 4.8.7 and 5.9.1

I am running KDE - kdelibs4…4.14.34-1.1

I did previously try to install eric6 and broke my KDE desktop on Leap 43.2 in the process of trying to get that to run, which is why I now have a fresh install of Tumbleweed. I thought I would learn from that experience and just run with the core repositories for a while, which only have eric5. All the current packages all come from the Tumbleweed-Oss main repository, but don’t seem to be compatible somehow.

Cheers
Mark

Hi Tsu & thanks again,

I have added the Tumbleweed Python devel repository and updated eric5 & installed eric6 as suggested.

I am still getting an identical error with eric5 as I originally described. eric6_py3 is giving a very similar error but earlier in the startup: Line 114 in eric6 is identical to line 104 in eric5 E5ErrorMessage.py.


~> eric6_py3
Warning: translation file 'qt_en_AU'could not be loaded.
Using default.
Warning: translation file 'qscintilla_en_AU'could not be loaded.
Using default.
BackgroundService listening on: 34139
Fatal Python error: Cannot recover from stack overflow.

Current thread 0x00007fd47a736700 (most recent call first):
  File "<frozen importlib._bootstrap_external>", line 556 in spec_from_file_location
  File "<frozen importlib._bootstrap_external>", line 1231 in _get_spec
  File "<frozen importlib._bootstrap_external>", line 1273 in find_spec
  File "<frozen importlib._bootstrap_external>", line 1129 in _get_spec
  File "<frozen importlib._bootstrap_external>", line 1157 in find_spec
  File "<frozen importlib._bootstrap>", line 885 in _find_spec
  File "<frozen importlib._bootstrap>", line 946 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 961 in _find_and_load
  File "<frozen importlib._bootstrap>", line 205 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1009 in _handle_fromlist
  File "/usr/lib64/python3.6/email/feedparser.py", line 26 in <module>
  File "<frozen importlib._bootstrap>", line 205 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 678 in exec_module
  File "<frozen importlib._bootstrap>", line 655 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 950 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 961 in _find_and_load
  File "/usr/lib64/python3.6/email/parser.py", line 12 in <module>
  File "<frozen importlib._bootstrap>", line 205 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 678 in exec_module
  File "<frozen importlib._bootstrap>", line 655 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 950 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 961 in _find_and_load
  File "/usr/lib64/python3.6/http/client.py", line 71 in <module>
  File "<frozen importlib._bootstrap>", line 205 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 678 in exec_module
  File "<frozen importlib._bootstrap>", line 655 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 950 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 961 in _find_and_load
  File "/usr/lib64/python3.6/urllib/request.py", line 88 in <module>
  File "<frozen importlib._bootstrap>", line 205 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 678 in exec_module
  File "<frozen importlib._bootstrap>", line 655 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 950 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 961 in _find_and_load
  File "/usr/lib64/python3.6/xml/sax/saxutils.py", line 6 in <module>
  File "<frozen importlib._bootstrap>", line 205 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 678 in exec_module
  File "<frozen importlib._bootstrap>", line 655 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 950 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 961 in _find_and_load
  File "/usr/lib/python3.6/site-packages/eric6/eric6.py", line 147 in excepthook
  File "/usr/lib/python3.6/site-packages/eric6/E5Gui/E5ErrorMessage.py", line 114 in messageHandler
  File "/usr/lib/python3.6/site-packages/eric6/E5Gui/E5ErrorMessage.py", line 114 in messageHandler
< same line repeated many times>
  File "/usr/lib/python3.6/site-packages/eric6/E5Gui/E5ErrorMessage.py", line 114 in messageHandler
  ...
Aborted (core dumped)
~>

Eric versions now:
eric5-5.5.2-3.16.noarch
python3-eric6-17.08-1.10.noarch
eric5-api-5.5.2-3.16.noarch

I don’t think any of the main python, Qt or PyQT libraries updated.

Any more ideas what to try next?

Thanks,

mark

Recommend you submit a bug to the eric bugzilla.

FYI -
eric5 is no longer maintained by the eric team.
So, I doubt you should spend any more time on it.
https://bugs.mageia.org/show_bug.cgi?id=13549

This critical bug looks very much like what you’re experiencing, but current status is “closed.” Looks like they never were able to resolve it, and possibly were less motivated to look at it harder because their specified environment worked fine

https://die-offenbachs.homelinux.org/issues/issue206

When I get some time, I’ll try to install eric6 on a TW/KDE system and see if I can duplicate what you’re reporting.
Will probably also try on a LEAP 42.3.

TSU

OK,
Here is my early result installing eric6, a success.
But, I’ll admit I threw in the whole boat of bleeding edge everything, so I can’t say exactly what in my system solves the problems you’re looking at… I’ll try to be descriptive so that you can make your own decisions…

First,
A quick read informs that even if you are building Python3 apps, eric itself likely has Python2 code, so I added both Python2 and Python3 special repos.

I also looked up, and installed the bleeding edge repos for just about everything related to KDE… Qt, KDE-Extra and KDE-Frameworks,

So,
Here is my repo listing

Repository priorities are without effect. All enabled repositories share the same priority.

#  | Alias               | Name                        | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                                                      | Service
---+---------------------+-----------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------------------------------------+--------
 1 | TW_KDE_Factory      | TW_KDE_Factory              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/KDE:/Unstable:/Extra/KDE_Unstable_Frameworks_openSUSE_Factory/ |        
 2 | TW_KDE_Frameworks   | TW_KDE_Frameworks           | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/KDE:/Unstable:/Frameworks/openSUSE_Factory/                    |        
 3 | TW_KDE_Qt           | TW_KDE_Qt                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/KDE:/Unstable:/Qt/openSUSE_Tumbleweed/                         |        
 4 | TW_Python3          | TW_Python3                  | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/devel:/languages:/python3/openSUSE_Tumbleweed/                 |        
 5 | TW_python2          | TW_python2                  | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_Tumbleweed/                  |        
 6 | openSUSE-20170403-0 | openSUSE-20170403-0         | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/tumbleweed/repo/oss/                                                        |        
 7 | repo-debug          | openSUSE-Tumbleweed-Debug   | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/tumbleweed/repo/oss/                                                  |        
 8 | repo-non-oss        | openSUSE-Tumbleweed-Non-Oss | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/tumbleweed/repo/non-oss/                                                    |        
 9 | repo-source         | openSUSE-Tumbleweed-Source  | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/tumbleweed/repo/oss/                                                 |        
10 | repo-update         | openSUSE-Tumbleweed-Update  | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/tumbleweed/                                                          |        

For your benefit, to add the additional repos, the following are the commands to add the repos (You can copy into a script and run it)

zypper ar -f http://download.opensuse.org/repositories/KDE:/Unstable:/Extra/KDE_Unstable_Frameworks_openSUSE_Factory/ TW_KDE_Factory &&\
zypper ar -f http://download.opensuse.org/repositories/KDE:/Unstable:/Frameworks/openSUSE_Factory/ TW_KDE_Frameworks &&\
zypper ar -f http://download.opensuse.org/repositories/KDE:/Unstable:/Qt/openSUSE_Tumbleweed/ TW_KDE_Qt &&\
zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/python3/openSUSE_Tumbleweed/ TW_Python3 &&\
zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_Tumbleweed/ TW_python2 &&\
zypper --gpg-auto-import-keys ref

Now, you can search for eric6, and install the version you want, the following installs the python3 version

zypper in python3-eric6

Curiously, although the package contains a Desktop menu shortcut, I can’t find it in my KDE menu, so I just launched it from a console as follows

eric6_editor_py3

Depending on your taste for balancing bleeding edge and stability, you may want to make adjustments… I personally try to minimize instability in my Dev environments because of all the inherent instability of new code, if your approach is the same, maybe you’ll want to disable the auto-refresh of the new KDE repos after you’re sure eric6 is working without issues.

HTH,
TSU

Hi Tsu,

I think you are very likely correct that it is a repeat of this bug. The symptoms look very similar.

If I use the tip from that report of

~> export LC_ALL=C

then the warnings about translation files disappear. Unfortunately it does not change the crash behaviour.

I will follow your other suggestions and report back.
Thank you for your perseverance.
Mark

Hi Tsu,

Success!

Sorry for the long gap. Initially your suggestion didn’t seem to have worked. However, after a couple of weeks gap I came back and refreshed all the repos and now Eric6 is running. I can only assume one/some of the updates has fixed an incompatibility. However as 714 packages updated today, I don’t know which ones were the fix.

Thanks again for your hints and help. Please let me know if you would like me to do some tests to see if we can pin it down for future reference.

Mark