[Stackless] crash in stackless 2.5.2

thejas c r thejascr at gmail.com
Fri Feb 20 06:07:45 CET 2009


Hi,

I am using stackless 2.5.2, and I often see this crash in the python
interpretor core. I am not sure if this is an issue with python
or something caused by stackless additions.
I tried to look for any similar bugs in python bug repo. Couldnt find any.

The crash is happening on a mips processor.
The crash is not easily reproducible. So far it has happened a couple of
times,
but there is no definite pattern.

>From the backtrace I see that the PyFrameObject pointer is corrupt in frame
0.
Because of which f->f_stacktop happens to be null.

=================================================================================================
(gdb) bt
#0  0x004b6450 in PyEval_EvalFrame_value (f=0x688f00, throwflag=0,
retval=0x0) at Python/ceval.c:907
#1  0x004bd80c in slp_frame_dispatch_top (retval=0x0) at
Stackless/core/stacklesseval.c:698
#2  0x004c170c in slp_run_tasklet () at Stackless/module/scheduling.c:1163
#3  0x004bed7c in slp_eval_frame (f=0x625778) at
Stackless/core/stacklesseval.c:299
#4  0x004bedf0 in climb_stack_and_eval_frame (f=0x625778) at
Stackless/core/stacklesseval.c:266
#5  0x004becb4 in slp_eval_frame (f=0x625778) at
Stackless/core/stacklesseval.c:294
#6  0x00539104 in function_call (func=0x2add11b0, arg=0x2adb95d0, kw=0x0) at
Objects/funcobject.c:520
#7  0x00413f64 in PyObject_Call (func=0x625778, arg=0x2adb95d0, kw=0x0) at
Objects/abstract.c:1864
#8  0x0040f158 in Py_Main (argc=3, argv=<value optimized out>) at
Modules/main.c:165
#9  0x2abfa704 in iconv_close () from /lib/libc.so.6
#10 0x2abfa704 in iconv_close () from /lib/libc.so.6
(gdb) frame 0
#0  0x004b6450 in PyEval_EvalFrame_value (f=0x688f00, throwflag=0,
retval=0x0) at Python/ceval.c:907
907                     PUSH(retval); /* we are back from a function call */
(gdb) list
902
903
904     #ifdef STACKLESS
905             if (f->f_execute == PyEval_EvalFrame_value) {
906             /* this is a return */
907                     PUSH(retval); /* we are back from a function call */
908             }
909             else {
910                     if (f->f_execute == PyEval_EvalFrame_iter) {
911                             /* finalise the for_iter operation */
(gdb) p f
$3 = (PyFrameObject *) 0x688f00
(gdb) p *f
$4 = {ob_refcnt = 2, ob_type = 0x5b1060, ob_size = 11, f_back = 0x688d80,
f_execute = 0x4b5794 <PyEval_EvalFrame_value>, f_builtins = 0x2ad58db0,
  f_globals = 0x2addea50, f_locals = 0x0, f_valuestack = 0x689050,
f_stacktop = 0x0, f_trace = 0x0, f_exc_type = 0x0, f_exc_value = 0x0,
  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},
{
      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},
{
      b_type = -2016186723, b_handler = 718692248, b_level = 378166942},
{b_type = 6850996, b_handler = 1834761375, b_level = 6556912}, {b_type = 0,
      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,
      b_handler = 0, b_level = 0}, {b_type = 0, b_handler = 0, b_level =
1246172327}, {b_type = 6851104, b_handler = 0, b_level = 0}, {
      b_type = -1745626455, b_handler = 718690544, b_level = 0}, {b_type =
0, b_handler = 0, b_level = 0}, {b_type = 0, b_handler = 0,
      b_level = 173547693}, {b_type = 6557116, b_handler = 1009485998,
b_level = 6851032}, {b_type = 0, b_handler = 0, b_level = 370455216}, {
      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}},
  f_code = 0x2ade0c38, f_localsplus = {0x0}}
(gdb) frame 1
#1  0x004bd80c in slp_frame_dispatch_top (retval=0x0) at
Stackless/core/stacklesseval.c:698
698                     retval = f->f_execute(f, 0, retval);
(gdb) p f
$5 = (PyFrameObject *) 0x2ad7ec6c
(gdb) p *f
$6 = {ob_refcnt = 2019885172, ob_type = 0x6f5d, ob_size = 96535, f_back =
0x7c0000, f_execute = 0x69010069, f_builtins = 0x2007c01, f_globals =
0x7c0200,
  f_locals = 0x83020053, f_valuestack = 0x576e3500, f_stacktop = 0x4740300,
f_trace = 0x6904006a, f_exc_type = 0xa006f26, f_exc_value = 0x1015c,
  f_exc_traceback = 0x2007d03, f_tstate = 0x7d0400, f_lasti = 24904448,
f_lineno = 1946484841, f_iblock = 100690435, f_blockstack = {{b_type =
7276288,
      b_handler = 25296896, b_level = 1901658113}, {b_type = 1845624833,
b_handler = 1484521472, b_level = 1762066563}, {b_type = 369,
      b_handler = 50331991, b_level = 1677721683}, {b_type = 0, b_handler =
0, b_level = 1}, {b_type = 5856268, b_handler = 111, b_level = -1}, {
      b_type = 0, b_handler = 2020081780, b_level = 28512}, {b_type = 96538,
b_handler = 8126464, b_level = 1761673321}, {b_type = 33586177,
      b_handler = 8126976, b_level = 2080571523}, {b_type = 50352983,
b_handler = 1848967172, b_level = 1946353769}, {b_type = 67136010,
      b_handler = 7284224, b_level = 16866306}, {b_type = 8193024, b_handler
= 2097479681, b_level = 2080637044}, {b_type = 83912966, b_handler =
6947584,
      b_level = 1862729729}, {b_type = -2113929103, b_handler = 1543504238,
b_level = 33554776}, {b_type = 2080374889, b_handler = 117474048,
      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,
      b_level = 541139059}, {b_type = 1768843116, b_handler = 1696623721,
b_level = 1852121199}, {b_type = 1713390412, b_handler = 1226859375,
      b_level = 1852205415}, {b_type = 1970430324, b_handler = 1768910368,
b_level = 1668246893}}, f_code = 0x616e6420, f_localsplus = {0x66726f6d}}
(gdb)
===================================================================================================

Can anybody let me know if this is already fixed in later versions.
If not what additional information would be needed to fix this?
Also is there any separate bug repo for stackless? I couldnt find any link
in the website.

-Thejas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.stackless.com/pipermail/stackless/attachments/20090220/4d46e98b/attachment.htm>


More information about the Stackless mailing list