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

Detlev Offenbach detlev at die-offenbachs.de
Sat Apr 11 17:51:52 BST 2009


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.


Detlev
-- 
Detlev Offenbach
detlev at die-offenbachs.de


More information about the Eric mailing list