Intermittent crash on exit
Eric Fahlgren <[email protected]> Thu, 10 May 2018 15:49:19 +0000
| Newsgroups | gmane.comp.python.wxpython.devel |
|---|---|
| Message-ID | <CAP2Qz+UjYHHWEG_GKfrFdmVz5yRWbhbOWU0NjqX91sJ7EjmkhQ@mail.gmail.com> |
Windows 10 Pro x64 with 2018-05 updates CPython 3.6.5 x64 standard build from python.org wxPython 4.0.1 via pip I'm in the final phase of a Python 2 -> 3 port, and am seeing two of our regression tests crash on exit in a spurious fashion. This only happens on one workstation, which has a slew of compilers installed (full Visual Studio 2010, 2015 and 2017, and all of the redists from VC++ 2005, 2008, 2010, 2012, 2013, 2017). Our 100-odd tests that involve wxPython all run rock solid on our Python 2.7 version on the same machine, but these two fail every 2nd or 3rd try in Py3, and only on this one of two test machines. Plus it only happens during testing (I can run the test scripts interactively just fine). I've updated all the redistributables from 2010 on up (not that any of them matter but for the VC 14.x, I assume), to no avail. The machine on which everything works has only VS 2017, and 2010, -12, -13 and -17 redist installed. This leads me to believe that I've entered DLL hell and there's just some configuration error that I can't chase down. (And before anyone asks, there's no way to reproduce this in an example, the code is just too huge to isolate it.) It's almost certainly a pointer overwrite, but does anyone have any idea what could cause that in such an isolated and spurious fashion? Ideas on where to poke at it? Unhandled exception at 0x000000005042D609 (python36.dll) in python.exe: 0xC0000005: Access violation reading location 0x000000000000009C. occurred python36.dll!dict_dealloc(PyDictObject * mp) Line 2012 at c:\build\cpython36\objects\dictobject.c(2012) _core.cp36-win_amd64.pyd!wxPyEvtDict::~wxPyEvtDict() Line 48 at c:\projects\buildbots\win7-py27\dist-win64-py36\phoenix\src\pyevent.h(48) [External Code] _core.cp36-win_amd64.pyd!release_wxPyCommandEvent(void * sipCppV, int sipState) Line 262 at c:\projects\buildbots\win7-py27\dist-win64-py36\phoenix\sip\cpp\sip_corewxpycommandevent.cpp(262) _core.cp36-win_amd64.pyd!dealloc_wxPyCommandEvent(_sipSimpleWrapper * sipSelf) Line 277 at c:\projects\buildbots\win7-py27\dist-win64-py36\phoenix\sip\cpp\sip_corewxpycommandevent.cpp(277) siplib.cp36-win_amd64.pyd!forgetObject(_sipSimpleWrapper * sw) Line 12035 at c:\projects\buildbots\win7-py27\dist-win64-py36\phoenix\sip\siplib\siplib.c(12035) siplib.cp36-win_amd64.pyd!sipWrapper_dealloc(_sipWrapper * self) Line 11583 at c:\projects\buildbots\win7-py27\dist-win64-py36\phoenix\sip\siplib\siplib.c(11583) python36.dll!subtype_dealloc(_object * self) Line 1227 at c:\build\cpython36\objects\typeobject.c(1227) python36.dll!frame_tp_clear(_frame * f) Line 547 at c:\build\cpython36\objects\frameobject.c(547) python36.dll!delete_garbage(_gc_head * collectable, _gc_head * old) Line 868 at c:\build\cpython36\modules\gcmodule.c(868) python36.dll!collect(int generation, __int64 * n_collected, __int64 * n_uncollectable, int nofail) Line 1024 at c:\build\cpython36\modules\gcmodule.c(1024) python36.dll!collect_with_callback(int generation) Line 1129 at c:\build\cpython36\modules\gcmodule.c(1129) python36.dll!PyGC_Collect() Line 1593 at c:\build\cpython36\modules\gcmodule.c(1593) python36.dll!Py_FinalizeEx() Line 608 at c:\build\cpython36\python\pylifecycle.c(608) python36.dll!Py_Main(int argc, wchar_t * * argv) Line 830 at c:\build\cpython36\modules\main.c(830) [External Code] -- 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.