[Stackless] 3.2.5 unittest failure

Kristján Valur Jónsson kristjan at ccpgames.com
Tue Mar 4 15:24:31 CET 2014


ok, I have fixed it and pushed a new version.
I don't quite understand, why are unpickled frames marked with None in their f_back?  Does that mean that we never pickle frame stacks, but only single frames?
I looked for other cases where we test for this None but didn't find it...
K

> -----Original Message-----
> From: stackless-bounces at stackless.com [mailto:stackless-
> bounces at stackless.com] On Behalf Of Richard Tew
> Sent: 3. mars 2014 07:32
> To: stackless at stackless.com
> Subject: [Stackless] 3.2.5 unittest failure
> 
> Kristjan, is it possible you missed a graft?
> 
> This is the last line before a release build of 3.2.5 crashes for me:
> 
> testCrasher (test_defects.TestCrashUponFrameUnpickling) ...
> 
> >	python32.dll!frame_getback(_frame * f=0x02836700, void *
> nope=0x00000000)  Line 375 + 0x9 bytes	C
>  	python32.dll!getset_get(PyGetSetDescrObject * descr=0x02069440,
> _object * obj=0x02836700, _object * type=0x1e2b03f8)  Line 149 + 0x19
> bytes	C
>  	python32.dll!_PyObject_GenericGetAttrWithDict(_object *
> obj=0x02836700, _object * name=0x0205fe80, _object * dict=0x00000000)
> Line 988 + 0x12 bytes	C
>  	python32.dll!PyObject_GenericGetAttr(_object * obj=0x02836700,
> _object * name=0x0205fe80)  Line 1050 + 0xf bytes	C
>  	python32.dll!PyObject_GetAttr(_object * v=0x02836700, _object *
> name=0x0205fe80)  Line 835 + 0x10 bytes	C
>  	python32.dll!PyEval_EvalFrame_value(_frame * f=0x027f56b8, int
> throwflag=506147444, _object * retval=0x1e2b3274)  Line 2963 + 0x7
> bytes	C
> 
> It crashes in:
> 
> static PyObject *
> frame_getback(PyFrameObject *f, void *nope) {
> 	PyFrameObject *fb = f->f_back;
> 	PyObject *ret;
> 	while (fb != NULL && ! PyFrame_Check(fb))
> 		fb = fb->f_back;
> 
> Where fb = 0x03.
> 
> Cheers,
> Richard.
> 
> _______________________________________________
> Stackless mailing list
> Stackless at stackless.com
> http://www.stackless.com/mailman/listinfo/stackless



More information about the Stackless mailing list