Hi,<br><br>I am using stackless 2.5.2, and I often see this crash in the python<br>interpretor core. I am not sure if this is an issue with python<br>or something caused by stackless additions.<br>I tried to look for any similar bugs in python bug repo. Couldnt find any.<br>
<br>The crash is happening on a mips processor.<br>The crash is not easily reproducible. So far it has happened a couple of times,<br>but there is no definite pattern.<br><br>From the backtrace I see that the PyFrameObject pointer is corrupt in frame 0.<br>
Because of which f-&gt;f_stacktop happens to be null.<br><br>=================================================================================================<br>(gdb) bt<br>#0&nbsp; 0x004b6450 in PyEval_EvalFrame_value (f=0x688f00, throwflag=0, retval=0x0) at Python/ceval.c:907<br>
#1&nbsp; 0x004bd80c in slp_frame_dispatch_top (retval=0x0) at Stackless/core/stacklesseval.c:698<br>#2&nbsp; 0x004c170c in slp_run_tasklet () at Stackless/module/scheduling.c:1163<br>#3&nbsp; 0x004bed7c in slp_eval_frame (f=0x625778) at Stackless/core/stacklesseval.c:299<br>
#4&nbsp; 0x004bedf0 in climb_stack_and_eval_frame (f=0x625778) at Stackless/core/stacklesseval.c:266<br>#5&nbsp; 0x004becb4 in slp_eval_frame (f=0x625778) at Stackless/core/stacklesseval.c:294<br>#6&nbsp; 0x00539104 in function_call (func=0x2add11b0, arg=0x2adb95d0, kw=0x0) at Objects/funcobject.c:520<br>
#7&nbsp; 0x00413f64 in PyObject_Call (func=0x625778, arg=0x2adb95d0, kw=0x0) at Objects/abstract.c:1864<br>#8&nbsp; 0x0040f158 in Py_Main (argc=3, argv=&lt;value optimized out&gt;) at Modules/main.c:165<br>#9&nbsp; 0x2abfa704 in iconv_close () from /lib/libc.so.6<br>
#10 0x2abfa704 in iconv_close () from /lib/libc.so.6<br>(gdb) frame 0<br>#0&nbsp; 0x004b6450 in PyEval_EvalFrame_value (f=0x688f00, throwflag=0, retval=0x0) at Python/ceval.c:907<br>907&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PUSH(retval); /* we are back from a function call */<br>
(gdb) list<br>902<br>903<br>904&nbsp;&nbsp;&nbsp;&nbsp; #ifdef STACKLESS<br>905&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (f-&gt;f_execute == PyEval_EvalFrame_value) {<br>906&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* this is a return */<br>907&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PUSH(retval); /* we are back from a function call */<br>
908&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>909&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {<br>910&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (f-&gt;f_execute == PyEval_EvalFrame_iter) {<br>911&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* finalise the for_iter operation */<br>(gdb) p f<br>$3 = (PyFrameObject *) 0x688f00<br>
(gdb) p *f<br>$4 = {ob_refcnt = 2, ob_type = 0x5b1060, ob_size = 11, f_back = 0x688d80, f_execute = 0x4b5794 &lt;PyEval_EvalFrame_value&gt;, f_builtins = 0x2ad58db0,<br>&nbsp; f_globals = 0x2addea50, f_locals = 0x0, f_valuestack = 0x689050, f_stacktop = 0x0, f_trace = 0x0, f_exc_type = 0x0, f_exc_value = 0x0,<br>
&nbsp; f_exc_traceback = 0x0, f_tstate = 0x5c0050, f_lasti = 97, f_lineno = 129, f_iblock = 1, f_blockstack = {{b_type = 120, b_handler = 104, b_level = 0}, {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_type = 121, b_handler = 36, b_level = 0}, {b_type = 0, b_handler = 0, b_level = -1163955557}, {b_type = 718692320, b_handler = 0, b_level = 0}, {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_type = -2016186723, b_handler = 718692248, b_level = 378166942}, {b_type = 6850996, b_handler = 1834761375, b_level = 6556912}, {b_type = 0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_handler = 0, b_level = 0}, {b_type = 0, b_handler = -1205215582, b_level = 718692176}, {b_type = 0, b_handler = 0, b_level = 0}, {b_type = 0,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_handler = 0, b_level = 0}, {b_type = 0, b_handler = 0, b_level = 1246172327}, {b_type = 6851104, b_handler = 0, b_level = 0}, {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_type = -1745626455, b_handler = 718690544, b_level = 0}, {b_type = 0, b_handler = 0, b_level = 0}, {b_type = 0, b_handler = 0,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_level = 173547693}, {b_type = 6557116, b_handler = 1009485998, b_level = 6851032}, {b_type = 0, b_handler = 0, b_level = 370455216}, {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_type = 6557008, b_handler = 0, b_level = 0}, {b_type = 0, b_handler = 0, b_level = -718908237}, {b_type = 718688960, b_handler = 0, b_level = 0}},<br>
&nbsp; f_code = 0x2ade0c38, f_localsplus = {0x0}}<br>(gdb) frame 1<br>#1&nbsp; 0x004bd80c in slp_frame_dispatch_top (retval=0x0) at Stackless/core/stacklesseval.c:698<br>698&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; retval = f-&gt;f_execute(f, 0, retval);<br>
(gdb) p f<br>$5 = (PyFrameObject *) 0x2ad7ec6c<br>(gdb) p *f<br>$6 = {ob_refcnt = 2019885172, ob_type = 0x6f5d, ob_size = 96535, f_back = 0x7c0000, f_execute = 0x69010069, f_builtins = 0x2007c01, f_globals = 0x7c0200,<br>
&nbsp; f_locals = 0x83020053, f_valuestack = 0x576e3500, f_stacktop = 0x4740300, f_trace = 0x6904006a, f_exc_type = 0xa006f26, f_exc_value = 0x1015c,<br>&nbsp; f_exc_traceback = 0x2007d03, f_tstate = 0x7d0400, f_lasti = 24904448, f_lineno = 1946484841, f_iblock = 100690435, f_blockstack = {{b_type = 7276288,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_handler = 25296896, b_level = 1901658113}, {b_type = 1845624833, b_handler = 1484521472, b_level = 1762066563}, {b_type = 369,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_handler = 50331991, b_level = 1677721683}, {b_type = 0, b_handler = 0, b_level = 1}, {b_type = 5856268, b_handler = 111, b_level = -1}, {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_type = 0, b_handler = 2020081780, b_level = 28512}, {b_type = 96538, b_handler = 8126464, b_level = 1761673321}, {b_type = 33586177,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_handler = 8126976, b_level = 2080571523}, {b_type = 50352983, b_handler = 1848967172, b_level = 1946353769}, {b_type = 67136010,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_handler = 7284224, b_level = 16866306}, {b_type = 8193024, b_handler = 2097479681, b_level = 2080637044}, {b_type = 83912966, b_handler = 6947584,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_level = 1862729729}, {b_type = -2113929103, b_handler = 1543504238, b_level = 33554776}, {b_type = 2080374889, b_handler = 117474048,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_level = 94467}, {b_type = 87908, b_handler = 21248, b_level = 0}, {b_type = 1, b_handler = 5856268, b_level = 110}, {b_type = -1, b_handler = 0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_level = 541139059}, {b_type = 1768843116, b_handler = 1696623721, b_level = 1852121199}, {b_type = 1713390412, b_handler = 1226859375,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b_level = 1852205415}, {b_type = 1970430324, b_handler = 1768910368, b_level = 1668246893}}, f_code = 0x616e6420, f_localsplus = {0x66726f6d}}<br>(gdb)<br>===================================================================================================<br>
<br>Can anybody let me know if this is already fixed in later versions.<br>If not what additional information would be needed to fix this?<br>Also is there any separate bug repo for stackless? I couldnt find any link in the website.<br>
<br>-Thejas<br><br>