Re: Need help debugging Phoenix in a application being migrated from Classic
Eric Fahlgren <[email protected]>
| Newsgroups | gmane.comp.python.wxpython.devel |
|---|---|
| Message-ID | <CAP2Qz+XBXrD1qyYoVasELESFY0yd42QffoJA87btorgck4QJQA@mail.gmail.com> |
This looks suspiciously like the seg fault I've been trying to isolate in the Grid class. I don't have a good minimal test case yet, but the error occurs when I call wx._grid.Grid.CellToRect and the first thing reported is this: wx._core.wxAssertionError occurred Message: C++ assertion "m_count > 0" failed at ..\..\src\common\object.cpp(352) in wxRefCounter::DecRef(): invalid ref data count then wxAssertionError: C++ assertion "uiIndex < m_nCount" failed at C:\PROJECTS\buildbots\win7-py27\dist-win64-py27\Phoenix\ext\wxWidgets\include\wx/dynarray.h(841) in wxBaseArrayInt::Item(): I'll try to get my debug build working so I can get a real stack trace before I head out for the long weekend... On Fri, May 27, 2016 at 7:06 PM, Scott Talbert <[email protected]> wrote: > > On Fri, 27 May 2016, Hélio Guilherme wrote: > >> >> I am already burning my brain for too many weeks! >> >> I am migrating RIDE from Classic wxPython to Phoenix. I have a major bug >> that only happens with Phoenix (and not with 2.8.12.1 and 3.0.2). My branch >> with debugging output is >> https://github.com/HelioGuilherme66/RIDE/tree/wxPhoenix. >> The application features a Text Editor and Cell Editor (Spreadsheet like) >> for Robot Framework testing files. >> Recommended Setup: >> Install robotframework with: >> pip install robotframework >> >> Install Phoenix (for example for Python 2.7 in Windows 64bit): >> pip installhttp:// wxpython.org/Phoenix/snapshot-builds/wxPython_Phoenix-3.0.3.dev2030+ >> 028d173-cp27-cp27m-win_amd64.whl >> or >> Install Phoenix (for example for Python 2.7 in Linux 64bit): >> pip installhttps:// github.com/HelioGuilherme66/Phoenix/releases/download/v3.0.3.dev200 >> 1/wxPython_Phoenix-3.0.3-cp27-none-linux_x86_64.whl >> >> Install RIDE (or get the code) (please see the installation instructions in >> the Wiki): >> pip install https://github.com/HelioGuilherme66/RIDE/archive/wxPhoenix.zip >> >> ----- >> If using the source code, you may run with: >> invoke devel >> or >> python src/robotide/__init__.py >> >> >> ----- >> >> Description of the blocking bug (when running in Fedora Core 22 x64): >> 1 - Enter a keyword in a Cell, or edit exiting value. >> 2.1 - If running from installed RIDE (or with PyCharm), there will be an >> "maximum recursion limit" error in RIDE Log. >> But the Cell content is correctly changed. >> 2.2 - If running from source code, the application will crash with >> Segmentation fault. >> >> If you start editing a Cell but keep the value unchanged, there will be no >> problem. >> >> ----- >> The CellEditor methods include a feature to look up the imported libraries >> in the Test File and suggest known values (by using Control+Space). The >> problem is when saving the editing to the file context, there is a recursive >> call to the storing methods (the moment we conclude the editing). >> Why does this code breaks with Phoenix and not with 2.8.12.1 and 3.0.2? >> (I want to improve the code, but I would be happy with a workaround or if >> confirmed that is Phoenix bug). >> >> The problematic code is in file src/robotide/editor/kweditor.py. >> ----- >> >> Attached is an example file. And image of it opened in RIDE. >> >> Please help this Software Tester (also Software Archeologist :) ), I will >> help testing your open source projects if you want :). >> >> Thank you, >> Help > > > Can you narrow this down to a self-contained test case at all? > > I tried, but I could not get your program to run. I got: > AttributeError: No attribute or settings with name '_editor' found > > Can you get the stack trace of the segmentation fault? > > Scott -- You received this message because you are subscribed to the Google Groups "wxPython-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.