[Eric] Using PyQt snapshots, eric crashes when launched from the kde start menu

Darren Dale dsdale24 at gmail.com
Sat Apr 11 20:41:20 BST 2009


On Sat, Apr 11, 2009 at 12:51 PM, Detlev Offenbach <detlev at die-offenbachs.de
> wrote:

> On Samstag, 11. April 2009, Darren Dale wrote:
> > On Sat, Apr 11, 2009 at 10:00 AM, Detlev Offenbach
> > <detlev at die-offenbachs.de
> >
> > > wrote:
> > >
> > > On Samstag, 11. April 2009, Darren Dale wrote:
> > > > On Sat, Apr 11, 2009 at 9:40 AM, Detlev Offenbach
> > > >
> > > > <detlev at die-offenbachs.de>wrote:
> > > > > On Samstag, 11. April 2009, Darren Dale wrote:
> > > > > > Hello,
> > > > > >
> > > > > > I have been trying to keep up with the sip/pyqt/qscintilla
> > > > > > snapshots (installed on up-to-date kubuntu jaunty prerelease).
> > > > > > There have been
> > >
> > > a
> > >
> > > > > few
> > > > >
> > > > > > issues trying to run eric in this environment, but it looks like
> > > > > > they
> > > > >
> > > > > have
> > > > >
> > > > > > been mostly addressed in subsequent snapshots from riverbank.
> > > > > >
> > > > > > There is one issue I am seeing this morning with the latest
> > > > > > snapshots
> > > > >
> > > > > that
> > > > >
> > > > > > I am not sure how to investigate. If I start eric from the
> command
> > > > >
> > > > > prompt,
> > > > >
> > > > > > it launches successfully. If I make an entry in the kde start
> menu
> > >
> > > and
> > >
> > > > > > launch eric from there, it crashes. I can choose "Run in
> terminal"
> > > > > > as an option for the menu entry, and the output is simply
> "Warning:
> > > > > > Program '/usr/local/bin/eric4' crashed." I thought I could get
> more
> > > > > > information about the crash if I edited the menu command to be
> > > > > > "eric4 --debug", but when I do so, eric doesnt crash! I get this
> > > > > > debugging output during startup:
> > > > > >
> > > > > > DEBUG:root:Importing packages...
> > > > > > DEBUG:root:Generating Main Window...
> > > > > > DEBUG:root:Initializing Plugin Manager...
> > > > > > DEBUG:root:Config Dir: None; exists: False
> > > > > > DEBUG:root:Config Dir: None; exists: False
> > > > > > DEBUG:root:Generating Main User Interface...
> > > > > > DEBUG:root:Setting up connections...
> > > > > > DEBUG:root:Initializing Tools...
> > > > > > DEBUG:root:Registering Objects...
> > > > > > DEBUG:root:Initializing Actions...
> > > > > > DEBUG:root:Initializing Menus...
> > > > > > DEBUG:root:Initializing Toolbars...
> > > > > > DEBUG:root:Initializing Statusbar...
> > > > > > DEBUG:root:Activating Plugins...
> > > > > > DEBUG:root:Restoring Toolbarmanager...
> > > > > > DEBUG:root:Config Dir: None; exists: False
> > > > > > DEBUG:root:Config Dir: None; exists: False
> > > > > > DEBUG:root:Config Dir: None; exists: False
> > > > > > DEBUG:root:Config Dir: None; exists: False
> > > > > >
> > > > > > Can anyone suggest a next step?
> > > > > >
> > > > > > Thanks,
> > > > > > Darren
> > > > >
> > > > > You could try compile sip/pyqt/qscintilla with debugging symbols
> and
> > > > > start eric4 in a debugger like kdbg. If it crashes, you will see in
> > >
> > > which
> > >
> > > > > file it fails.
> > > > >  <detlev at die-offenbachs.de>
> > > >
> > > > I dont think it is possible to start eric4 with kdbg or gdb, because
> > >
> > > eric4
> > >
> > > > is not an executable file.
> > >
> > > You can. Just load python as the program to debug and give it eric4.py
> as
> > > the
> > > command line. I did it this way, when PyQt4 was it's infancy.
> > >
> > > > I just noticed a different error though. I started eric4 with
> --debug,
> > > > tried to configure some preferences, and eric4 crashed with:
> > > >
> > > >  Original exception was:
> > > > Traceback (most recent call last):
> > > >   File
> > > >
> "/usr/lib/python2.6/dist-packages/eric4/Project/ProjectBrowserModel.py"
> > > >, line 272, in data
> > > >     return BrowserModel.data(self, index,
> > > > role)
> > > >   File "/usr/lib/python2.6/dist-packages/eric4/UI/BrowserModel.py",
> > > > line 77, in data
> > > >     if role ==
> > > > Qt.DisplayRole:
> > > >
> > > > RuntimeError: maximum recursion depth exceeded in
> > > > cmp
> > > > Error in
> > > > sys.excepthook:
> > > >
> > > > Traceback (most recent call
> > > > last):
> > > >   File "/usr/lib/python2.6/dist-packages/eric4/eric4.py", line 111,
> in
> > > > excepthook
> > > >     logFile = os.path.join(unicode(Utilities.getConfigDir()),
> > > > "eric4_error.log")
> > > >   File
> "/usr/lib/python2.6/dist-packages/eric4/Utilities/__init__.py",
> > >
> > > line
> > >
> > > > 978, in getConfigDir
> > > >     (configDir, (configDir is not None) and
> > > > os.path.exists(configDir)))
> > > >   File "/usr/lib/python2.6/logging/__init__.py", line 1459, in
> > > > debug
> > > >     root.debug(*((msg,)+args),
> > > > **kwargs)
> > > >   File "/usr/lib/python2.6/logging/__init__.py", line 1017, in
> > > > debug
> > > >     if
> > > > self.isEnabledFor(DEBUG):
> > > >
> > > > RuntimeError: maximum recursion depth exceeded
> > > >
> > > > Darren
> > >
> > > Just delete the first line of Utilities.getConfigDir(), which is the
> > > logging
> > > line.
> >
> > Thanks Detlev. I'm running the svn checkout, updated just now, on a
> system
> > with no ~.eric4/ or .config/Eric4/, and that change brings me to a
> > different error:
> >
> > Original exception was:
> > Traceback (most recent call last):
> >   File "/home/darren/Projects/eric4/UI/BrowserModel.py", line 113, in
> > headerData
> >     if orientation == Qt.Horizontal and role == Qt.DisplayRole:
> > RuntimeError: maximum recursion depth exceeded in cmp
> > Error in sys.excepthook:
> > Traceback (most recent call last):
> >   File "./eric4.py", line 111, in excepthook
> >     logFile = os.path.join(unicode(Utilities.getConfigDir()),
> > "eric4_error.log")
> >   File "/home/darren/Projects/eric4/Utilities/__init__.py", line 980, in
> > getConfigDir
> >     if sys.platform == "win32":
> > RuntimeError: maximum recursion depth exceeded in cmp
> >
> > Darren
>
> cmp is a Python function. It seems it is invoked by '=='. I have no idea
> why
> it should go into an infinite loop.
>
>
I don't think cmp or == is causing python to go into an infinite loop. I
think I'm seeing a problem in eric4.py's excepthook, and everytime it is
encountered and tries to raise an exception, it recurses into excepthook
again.

Darren
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.riverbankcomputing.com/pipermail/eric/attachments/20090411/4054f536/attachment-0001.html


More information about the Eric mailing list