[Python-Dev] XXX - in funcobject.c

Guido van Rossum guido at python.org
Tue Feb 5 22:10:29 CET 2008


I think we really *are* talking about the caller -- the caller owns
the dict, if it managed to delete something from the dict before the
callee can incref it, you'd have trouble. I don't immediately see how
this could happen, which is probably why I left it as an XXX
comment...

--Guido

On Feb 5, 2008 6:58 AM, Kristján Valur Jónsson <kristjan at ccpgames.com> wrote:
>
>
>
>
> Hello there.
>
>
>
> in function_call() in funcobject.c, we have this comment:
>
>
>
> /* XXX This is broken if the caller deletes dict items! */
>
>
>
> Now,  I wonder what specifically is meant here?  are we really talking about
> the ‚callee' here?
>
> In PyEval_EvalCodeEx() it looks as though all keywords are always INCREFed,
> so the callee never gets a borrowed reference to something from the keyword
> dict.
>
>
>
> Maybe this comment is out of date, or can someone demonstrate how to break
> the code accordingly?
>
>
>
> The reason I ask is that I am debugging a really tricky crash case on our
> live servers and I am currently led to believe that the temporary array for
> the keyword dict is being overwritten somehow.
>
>
>
> Cheers,
>
>
>
> Kristján,
>
> CCP games.
>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> http://mail.python.org/mailman/options/python-dev/guido%40python.org
>
>



-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list