This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients Arfrever, larry, neologix, pitrou, python-dev, serhiy.storchaka, vstinner
Date 2014-02-13.13:33:49
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1392298429.47.0.773134598303.issue20526@psf.upfronthosting.co.za>
In-reply-to
Content
> To debug, since I guess it's due to a memory corruption because
> objects are deallocated while they're still in use, you could try
> to use valgrind.
> Unfortunately, since it's due to a race condition, the overhead
> will probably make it really hard to reproduce :-(

I added assert(_Py_Finalizing == NULL || _Py_Finalizing == PyThreadState_GET()) almost everywhere, but the assertion didn't fail. It looks like only the main thread is running between the interrupted wait_for_thread_shutdown() and the final "python: Modules/gcmodule.c:379: visit_decref: ... failed" assertion in PyGC_Collect().

I tried to add directly assert(_PyGCHead_REFS(gc) != 0) in _PyGCHead_SET_REFS(), but the assertion didn't fail.

I also ran Python in Valgrind: no error neither.

Ok...

I close this issue as won't fix because it was occur with #19466 applied, but I just reverted this patch.
History
Date User Action Args
2014-02-13 13:33:49vstinnersetrecipients: + vstinner, pitrou, larry, Arfrever, neologix, python-dev, serhiy.storchaka
2014-02-13 13:33:49vstinnersetmessageid: <1392298429.47.0.773134598303.issue20526@psf.upfronthosting.co.za>
2014-02-13 13:33:49vstinnerlinkissue20526 messages
2014-02-13 13:33:49vstinnercreate