<div class="gmail_quote">On Sat, Apr 11, 2009 at 3:41 PM, Darren Dale <span dir="ltr"><<a href="mailto:dsdale24@gmail.com">dsdale24@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5"><div class="gmail_quote">On Sat, Apr 11, 2009 at 12:51 PM, Detlev Offenbach <span dir="ltr"><<a href="mailto:detlev@die-offenbachs.de" target="_blank">detlev@die-offenbachs.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div>On Samstag, 11. April 2009, Darren Dale wrote:<br>
> On Sat, Apr 11, 2009 at 10:00 AM, Detlev Offenbach<br>
> <<a href="mailto:detlev@die-offenbachs.de" target="_blank">detlev@die-offenbachs.de</a><br>
><br>
> > wrote:<br>
> ><br>
> > On Samstag, 11. April 2009, Darren Dale wrote:<br>
> > > On Sat, Apr 11, 2009 at 9:40 AM, Detlev Offenbach<br>
> > ><br>
> > > <<a href="mailto:detlev@die-offenbachs.de" target="_blank">detlev@die-offenbachs.de</a>>wrote:<br>
> > > > On Samstag, 11. April 2009, Darren Dale wrote:<br>
> > > > > Hello,<br>
> > > > ><br>
> > > > > I have been trying to keep up with the sip/pyqt/qscintilla<br>
> > > > > snapshots (installed on up-to-date kubuntu jaunty prerelease).<br>
> > > > > There have been<br>
> ><br>
> > a<br>
> ><br>
> > > > few<br>
> > > ><br>
> > > > > issues trying to run eric in this environment, but it looks like<br>
> > > > > they<br>
> > > ><br>
> > > > have<br>
> > > ><br>
> > > > > been mostly addressed in subsequent snapshots from riverbank.<br>
> > > > ><br>
> > > > > There is one issue I am seeing this morning with the latest<br>
> > > > > snapshots<br>
> > > ><br>
> > > > that<br>
> > > ><br>
> > > > > I am not sure how to investigate. If I start eric from the command<br>
> > > ><br>
> > > > prompt,<br>
> > > ><br>
> > > > > it launches successfully. If I make an entry in the kde start menu<br>
> ><br>
> > and<br>
> ><br>
> > > > > launch eric from there, it crashes. I can choose "Run in terminal"<br>
> > > > > as an option for the menu entry, and the output is simply "Warning:<br>
> > > > > Program '/usr/local/bin/eric4' crashed." I thought I could get more<br>
> > > > > information about the crash if I edited the menu command to be<br>
> > > > > "eric4 --debug", but when I do so, eric doesnt crash! I get this<br>
> > > > > debugging output during startup:<br>
> > > > ><br>
> > > > > DEBUG:root:Importing packages...<br>
> > > > > DEBUG:root:Generating Main Window...<br>
> > > > > DEBUG:root:Initializing Plugin Manager...<br>
> > > > > DEBUG:root:Config Dir: None; exists: False<br>
> > > > > DEBUG:root:Config Dir: None; exists: False<br>
> > > > > DEBUG:root:Generating Main User Interface...<br>
> > > > > DEBUG:root:Setting up connections...<br>
> > > > > DEBUG:root:Initializing Tools...<br>
> > > > > DEBUG:root:Registering Objects...<br>
> > > > > DEBUG:root:Initializing Actions...<br>
> > > > > DEBUG:root:Initializing Menus...<br>
> > > > > DEBUG:root:Initializing Toolbars...<br>
> > > > > DEBUG:root:Initializing Statusbar...<br>
> > > > > DEBUG:root:Activating Plugins...<br>
> > > > > DEBUG:root:Restoring Toolbarmanager...<br>
> > > > > DEBUG:root:Config Dir: None; exists: False<br>
> > > > > DEBUG:root:Config Dir: None; exists: False<br>
> > > > > DEBUG:root:Config Dir: None; exists: False<br>
> > > > > DEBUG:root:Config Dir: None; exists: False<br>
> > > > ><br>
> > > > > Can anyone suggest a next step?<br>
> > > > ><br>
> > > > > Thanks,<br>
> > > > > Darren<br>
> > > ><br>
> > > > You could try compile sip/pyqt/qscintilla with debugging symbols and<br>
> > > > start eric4 in a debugger like kdbg. If it crashes, you will see in<br>
> ><br>
> > which<br>
> ><br>
> > > > file it fails.<br>
> > > > <<a href="mailto:detlev@die-offenbachs.de" target="_blank">detlev@die-offenbachs.de</a>><br>
> > ><br>
> > > I dont think it is possible to start eric4 with kdbg or gdb, because<br>
> ><br>
> > eric4<br>
> ><br>
> > > is not an executable file.<br>
> ><br>
> > You can. Just load python as the program to debug and give it eric4.py as<br>
> > the<br>
> > command line. I did it this way, when PyQt4 was it's infancy.<br>
> ><br>
> > > I just noticed a different error though. I started eric4 with --debug,<br>
> > > tried to configure some preferences, and eric4 crashed with:<br>
> > ><br>
> > > Original exception was:<br>
> > > Traceback (most recent call last):<br>
> > > File<br>
> > > "/usr/lib/python2.6/dist-packages/eric4/Project/ProjectBrowserModel.py"<br>
> > >, line 272, in data<br>
> > > return BrowserModel.data(self, index,<br>
> > > role)<br>
> > > File "/usr/lib/python2.6/dist-packages/eric4/UI/BrowserModel.py",<br>
> > > line 77, in data<br>
> > > if role ==<br>
> > > Qt.DisplayRole:<br>
> > ><br>
> > > RuntimeError: maximum recursion depth exceeded in<br>
> > > cmp<br>
> > > Error in<br>
> > > sys.excepthook:<br>
> > ><br>
> > > Traceback (most recent call<br>
> > > last):<br>
> > > File "/usr/lib/python2.6/dist-packages/eric4/eric4.py", line 111, in<br>
> > > excepthook<br>
> > > logFile = os.path.join(unicode(Utilities.getConfigDir()),<br>
> > > "eric4_error.log")<br>
> > > File "/usr/lib/python2.6/dist-packages/eric4/Utilities/__init__.py",<br>
> ><br>
> > line<br>
> ><br>
> > > 978, in getConfigDir<br>
> > > (configDir, (configDir is not None) and<br>
> > > os.path.exists(configDir)))<br>
> > > File "/usr/lib/python2.6/logging/__init__.py", line 1459, in<br>
> > > debug<br>
> > > root.debug(*((msg,)+args),<br>
> > > **kwargs)<br>
> > > File "/usr/lib/python2.6/logging/__init__.py", line 1017, in<br>
> > > debug<br>
> > > if<br>
> > > self.isEnabledFor(DEBUG):<br>
> > ><br>
> > > RuntimeError: maximum recursion depth exceeded<br>
> > ><br>
> > > Darren<br>
> ><br>
> > Just delete the first line of Utilities.getConfigDir(), which is the<br>
> > logging<br>
> > line.<br>
><br>
> Thanks Detlev. I'm running the svn checkout, updated just now, on a system<br>
> with no ~.eric4/ or .config/Eric4/, and that change brings me to a<br>
> different error:<br>
><br>
> Original exception was:<br>
> Traceback (most recent call last):<br>
> File "/home/darren/Projects/eric4/UI/BrowserModel.py", line 113, in<br>
> headerData<br>
> if orientation == Qt.Horizontal and role == Qt.DisplayRole:<br>
> RuntimeError: maximum recursion depth exceeded in cmp<br>
> Error in sys.excepthook:<br>
> Traceback (most recent call last):<br>
> File "./eric4.py", line 111, in excepthook<br>
> logFile = os.path.join(unicode(Utilities.getConfigDir()),<br>
> "eric4_error.log")<br>
> File "/home/darren/Projects/eric4/Utilities/__init__.py", line 980, in<br>
> getConfigDir<br>
> if sys.platform == "win32":<br>
> RuntimeError: maximum recursion depth exceeded in cmp<br>
><br>
> Darren<br>
<br>
</div></div>cmp is a Python function. It seems it is invoked by '=='. I have no idea why<br>
it should go into an infinite loop.<br><br></blockquote><div> </div></div></div></div>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.<font color="#888888"><br>
</font></blockquote></div><br>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: <br>
<br>RuntimeError: maximum recursion depth exceeded <br>RuntimeError: maximum recursion depth exceeded <br>
Traceback (most recent call last): <br> File "/home/darren/Projects/eric4/Project/ProjectFormsBrowser.py", line 1070, in handlePreferencesChanged <br>
ProjectBaseBrowser.handlePreferencesChanged(self) <br> File "/home/darren/Projects/eric4/UI/Browser.py", line 286, in handlePreferencesChanged<br>
self.model().preferencesChanged()<br> File "/home/darren/Projects/eric4/Project/ProjectBrowserSortFilterProxyModel.py", line 69, in preferencesChanged<br> BrowserSortFilterProxyModel.preferencesChanged(self)<br>
File "/home/darren/Projects/eric4/UI/BrowserSortFilterProxyModel.py", line 107, in preferencesChanged<br> hideNonPublic = Preferences.getUI("BrowsersHideNonPublic")<br>RuntimeError: maximum recursion depth exceeded<br>
Traceback (most recent call last):<br> File "/home/darren/Projects/eric4/Project/ProjectResourcesBrowser.py", line 777, in handlePreferencesChanged<br> ProjectBaseBrowser.handlePreferencesChanged(self)<br> File "/home/darren/Projects/eric4/UI/Browser.py", line 286, in handlePreferencesChanged<br>
self.model().preferencesChanged()<br> File "/home/darren/Projects/eric4/Project/ProjectBrowserSortFilterProxyModel.py", line 69, in preferencesChanged<br> BrowserSortFilterProxyModel.preferencesChanged(self)<br>
File "/home/darren/Projects/eric4/UI/BrowserSortFilterProxyModel.py", line 107, in preferencesChanged<br> hideNonPublic = Preferences.getUI("BrowsersHideNonPublic")<br>RuntimeError: maximum recursion depth exceeded<br>
Traceback (most recent call last):<br> File "/home/darren/Projects/eric4/Project/ProjectTranslationsBrowser.py", line 1070, in handlePreferencesChanged<br> ProjectBaseBrowser.handlePreferencesChanged(self)<br>
File "/home/darren/Projects/eric4/UI/Browser.py", line 286, in handlePreferencesChanged<br> self.model().preferencesChanged()<br> File "/home/darren/Projects/eric4/Project/ProjectBrowserSortFilterProxyModel.py", line 69, in preferencesChanged<br>
BrowserSortFilterProxyModel.preferencesChanged(self)<br> File "/home/darren/Projects/eric4/UI/BrowserSortFilterProxyModel.py", line 107, in preferencesChanged<br> hideNonPublic = Preferences.getUI("BrowsersHideNonPublic")<br>
RuntimeError: maximum recursion depth exceeded<br>Traceback (most recent call last):<br> File "./Plugins/ViewManagerPlugins/Tabview/Tabview.py", line 971, in preferencesChanged<br> ViewManager.preferencesChanged(self)<br>
File "/home/darren/Projects/eric4/ViewManager/ViewManager.py", line 4622, in preferencesChanged<br> self.__enableSpellingActions()<br> File "/home/darren/Projects/eric4/ViewManager/ViewManager.py", line 2848, in __enableSpellingActions<br>
spellingAvailable = SpellChecker.isAvailable()<br> File "/home/darren/Projects/eric4/QScintilla/SpellChecker.py", line 78, in isAvailable<br> return len(enchant.list_languages()) > 0<br> File "/usr/lib/python2.6/dist-packages/enchant/__init__.py", line 418, in list_languages<br>
for (tag,prov) in self.list_dicts():<br> File "/usr/lib/python2.6/dist-packages/enchant/__init__.py", line 397, in list_dicts<br> return [ (r[0],ProviderDesc(*r[1])) for r in self.__list_dicts_result]<br>
File "/usr/lib/python2.6/dist-packages/enchant/__init__.py", line 406, in __list_dicts_callback<br> name = name.decode("utf-8")<br><br>Darren<br>