Py 2.7.2, wxPython 2.9.2.1 and Boa

Help
2011-09-03
2013-05-01
  • I see quit a few crashes with Boa on the above configuration under Windows 7.

    Unfortunately don't get any traceback and haven't been able to see any pattern to it, except that the crash is whenever I am wanting to close Boa.

    Anyone sees this too, anyone has any tips/patches on how to resolve this?

    Werner

     
  • Barton Cline
    Barton Cline
    2011-09-03

    I've got the above configuration running on Fedora.
    Boa 0.6.2 always segfaults on Linux.
    I've got a version of Boa that:
    a) Gets the splash screen up in 2.9 (usually the crash that you are seeing)
    b) Closes all of the editor tabs so that the segfault no longer occurs.
    c) Increments the Version to reflect the CVS version.
    d) Eliminates MOST GTK warnings.

    I've got patches, but they are SVN udiff files. I hope that CVS knows how to apply them.

     
  • Barton Cline
    Barton Cline
    2011-09-03

    Indeed, on Windows, if Editor tabs are closed (Shell and Explorer may stay open) Boa will exit normally.

    Related to this is Windows 7 Fault Tolerant Heap. I believe that Boa suffered abnomal termination under python 2.6 on Windows 7, but the FTH finally hid this from me. I've been meaning to look into this, but…

    I will work on getting Boa to shut down normally as I have done for Linux, but may have to figure out the FTH issues first.

     
  • Barton Cline
    Barton Cline
    2011-09-04

    This works, but probably want a version check before calling:

    Index: Editor.py
    ===================================================================
    --- Editor.py   (revision 48)
    +++ Editor.py   (working copy)
    @@ -637,7 +637,7 @@
    
         def addShellPage(self, name, Shell, imgIdx):
             """ Adds the interactive interpreter to the editor """
    -        if 0:#wx.Platform == '__WXGTK__':
    +        if wx.Platform == '__WXGTK__':
                 # A panel between the STC and notebook reduces flicker
                 tabPage, shellEdit = \
                       Utils.wxProxyPanel(self.tabs, Shell, -1)
    @@ -1603,7 +1603,7 @@
                 self.tabs.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, NullHandler)
                 modulePagesList.sort(reverse=True)
                 for idx, name, modulePage in modulePagesList:
    -                if (wx.Platform == '__WXGTK__'):
    +                if 1: #2.9.2 and (wx.Platform == '__WXGTK__'):
                         # sometimes throws on Windows (know since at least Feb. 17 2010
                         # Google Grorp Message from discussion "Notebook problem on XP"
                         # PyAssertionError: C++ assertion "wxAssertFailure" failed at
                         # ..\..\src\notebook.cpp(374) in nwNotebook::DoRemovePage())
                         self.tabs.RemovePage(idx)
                     modulePage.destroy()
                 # self.tabs.DeleteAllPages() doesn't work #
    
     
  • Barton Cline
    Barton Cline
    2011-09-08

    There's an archive of the discussion regarding wx.Notebook.RemovePage() here. Not sure if this issue persists in 2.9, but it did appear more than once on 2.8.12 on Windows 7