Python2.1 ceval.c error...Please help.

Skip Montanaro skip at pobox.com
Tue Jan 1 18:59:19 EST 2002


    Chris> I upgraded to the Debian Linux "Woody" versions of Squishdot
    Chris> 1.3.0-1, Zope 2.4.2-0.2, and Python 2.1.1-7.  I'm receiving an
    Chris> error message when running Squishdot and trying to post a new
    Chris> article...the error on the server is is:

    Chris> python2.1: ../Python/ceval.c:687: eval_code2: Assertion `(stack_pointer
    Chris> - f->f_valuestack) <= f->f_stacksize' failed.

If you have access to a version of Python 2.1 compiled with -g, you can use
this gdb user function to display the Python stack (stick it in your
~/.gdbinit file).  It should help you narrow down the location of the
problem.

    define ppystack
        while $pc < Py_Main || $pc > Py_GetArgcArgv
            if $pc > eval_frame && $pc < PyEval_EvalCodeEx
                set $__fn = PyString_AsString(co->co_filename)
                set $__n = PyString_AsString(co->co_name)
                printf "%s (%d): %s\n",  $__fn, f->f_lineno, $__n
            end
            up-silently 1
        end
        select-frame 0
    end

You will have to replace "eval_frame" with "eval_code2" and replace
"PyEval_EvalCodeEx" with whatever function immediately follows eval_code2 in
ceval.c (the above function names are correct for Python 2.2).

-- 
Skip Montanaro (skip at pobox.com - http://www.mojam.com/)




More information about the Python-list mailing list