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.