[Python-Dev] An infinite loop in dictobject.c

Daniel Farina daniel at heroku.com
Thu May 24 22:23:59 CEST 2012


On Thu, May 24, 2012 at 1:15 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Thu, 24 May 2012 12:11:58 -0700
> Daniel Farina <daniel at heroku.com> wrote:
>>
>> Finally, what's especially strange is that I had gone a very long time
>> running this exact version of Python, libraries, and application quite
>> frequently: it suddenly started cropping up a little while ago (maybe
>> a few weeks).
>
> Do you mean it's a hand-compiled Python? Are you sure you didn't
> recompile it / update to a later version recently?

Quite sure.  It was vanilla Ubuntu, and then I side-graded it to
vanilla ubuntu at -O0.

> If you didn't change anything, this may be something unrelated to
> Python, such as a hardware problem.

Occurs on a smattering of a large number of systems more or less at
random. Seems unlikely.

> You are right that ma_fill == ma_used should, AFAIK, never happen.
> Perhaps you could add conditional debug statements when that condition
> happens, to know where it comes from.
>
> Furthermore, if this is a hand-compiled Python, you could reconfigure
> it --with-pydebug, so as to enable more assertions in the interpreter
> core (this will make it quite a bit slower too :-)).

Yes, this is my next step, although I am going to do a bit more
whacking of the interpreter as to pause rather than crash when it
encounters this problem.

-- 
fdr


More information about the Python-Dev mailing list