[Eric] Using PyQt snapshots, eric crashes when launched from the
kde start menu
Darren Dale
dsdale24 at gmail.com
Sat Apr 11 21:21:03 BST 2009
On Sat, Apr 11, 2009 at 3:41 PM, Darren Dale <dsdale24 at gmail.com> wrote:
> 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.
>
I tried commenting out the line setting sys.excepthook in eric4.py, and then
I ran into trouble with ubuntu jaunty's python-apport, which further
obfuscated the problem. I uninstalled python-apport and now I see:
RuntimeError: maximum recursion depth
exceeded
RuntimeError: maximum recursion depth
exceeded
Traceback (most recent call
last):
File "/home/darren/Projects/eric4/Project/ProjectFormsBrowser.py", line
1070, in handlePreferencesChanged
ProjectBaseBrowser.handlePreferencesChanged(self)
File "/home/darren/Projects/eric4/UI/Browser.py", line 286, in
handlePreferencesChanged
self.model().preferencesChanged()
File
"/home/darren/Projects/eric4/Project/ProjectBrowserSortFilterProxyModel.py",
line 69, in preferencesChanged
BrowserSortFilterProxyModel.preferencesChanged(self)
File "/home/darren/Projects/eric4/UI/BrowserSortFilterProxyModel.py", line
107, in preferencesChanged
hideNonPublic = Preferences.getUI("BrowsersHideNonPublic")
RuntimeError: maximum recursion depth exceeded
Traceback (most recent call last):
File "/home/darren/Projects/eric4/Project/ProjectResourcesBrowser.py",
line 777, in handlePreferencesChanged
ProjectBaseBrowser.handlePreferencesChanged(self)
File "/home/darren/Projects/eric4/UI/Browser.py", line 286, in
handlePreferencesChanged
self.model().preferencesChanged()
File
"/home/darren/Projects/eric4/Project/ProjectBrowserSortFilterProxyModel.py",
line 69, in preferencesChanged
BrowserSortFilterProxyModel.preferencesChanged(self)
File "/home/darren/Projects/eric4/UI/BrowserSortFilterProxyModel.py", line
107, in preferencesChanged
hideNonPublic = Preferences.getUI("BrowsersHideNonPublic")
RuntimeError: maximum recursion depth exceeded
Traceback (most recent call last):
File "/home/darren/Projects/eric4/Project/ProjectTranslationsBrowser.py",
line 1070, in handlePreferencesChanged
ProjectBaseBrowser.handlePreferencesChanged(self)
File "/home/darren/Projects/eric4/UI/Browser.py", line 286, in
handlePreferencesChanged
self.model().preferencesChanged()
File
"/home/darren/Projects/eric4/Project/ProjectBrowserSortFilterProxyModel.py",
line 69, in preferencesChanged
BrowserSortFilterProxyModel.preferencesChanged(self)
File "/home/darren/Projects/eric4/UI/BrowserSortFilterProxyModel.py", line
107, in preferencesChanged
hideNonPublic = Preferences.getUI("BrowsersHideNonPublic")
RuntimeError: maximum recursion depth exceeded
Traceback (most recent call last):
File "./Plugins/ViewManagerPlugins/Tabview/Tabview.py", line 971, in
preferencesChanged
ViewManager.preferencesChanged(self)
File "/home/darren/Projects/eric4/ViewManager/ViewManager.py", line 4622,
in preferencesChanged
self.__enableSpellingActions()
File "/home/darren/Projects/eric4/ViewManager/ViewManager.py", line 2848,
in __enableSpellingActions
spellingAvailable = SpellChecker.isAvailable()
File "/home/darren/Projects/eric4/QScintilla/SpellChecker.py", line 78, in
isAvailable
return len(enchant.list_languages()) > 0
File "/usr/lib/python2.6/dist-packages/enchant/__init__.py", line 418, in
list_languages
for (tag,prov) in self.list_dicts():
File "/usr/lib/python2.6/dist-packages/enchant/__init__.py", line 397, in
list_dicts
return [ (r[0],ProviderDesc(*r[1])) for r in self.__list_dicts_result]
File "/usr/lib/python2.6/dist-packages/enchant/__init__.py", line 406, in
__list_dicts_callback
name = name.decode("utf-8")
Darren
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.riverbankcomputing.com/pipermail/eric/attachments/20090411/b751809a/attachment.html
More information about the Eric
mailing list