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 anselm.kruis
Recipients anselm.kruis
Date 2014-07-12.16:31:09
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1405182669.73.0.676876650483.issue21967@psf.upfronthosting.co.za>
In-reply-to
Content
If you store a reference to a frame from a dead thread and then access 
frame.f_restricted python eventually crashed.

I didn't investigate this bug in depth. Here is my preliminary explanation.

The access of frame.f_restricted causes a call of PyFrame_IsRestricted(f). 

PyFrame_IsRestricted is a macro and expands to 
((f)->f_builtins != (f)->f_tstate->interp->builtins) 

Now, if the thread that created f is already dead, the f_tstate points to an invalid structure. Depending on the content of the memory the access of f_tstate->interp causes an access violation. I use a Win32 debug build to reliable reproduce the issue.
History
Date User Action Args
2014-07-12 16:31:09anselm.kruissetrecipients: + anselm.kruis
2014-07-12 16:31:09anselm.kruissetmessageid: <1405182669.73.0.676876650483.issue21967@psf.upfronthosting.co.za>
2014-07-12 16:31:09anselm.kruislinkissue21967 messages
2014-07-12 16:31:09anselm.kruiscreate