Spurious issue in CPython 2.7.5

Steven D'Aprano steve at pearwood.info
Tue May 24 13:12:56 EDT 2016


On Tue, 24 May 2016 08:22 pm, thomas povtal.org wrote:

>    Hi,
> 
>    Please excuse me if this is not the right place, but I have some issues
>    with CPython on a NUMA machine.

Do you mean a Non-Uniform Memory Access machine? 

Can you be more specific about the actual machine and OS used?


>    1: I get "RuntimeWarning: tp_compare didn't return -1 or -2 for
>    exception". It's a line like:
> 
>    "if Foo = False:" where Foo is a global variable (global Foo).

What is the type and value of Foo?


>    Now, I've searched somewhat on google for indications on when this
>    warning can be seen. However, I haven't really been able to understand
>    why and even if it's significant or not. (At face value I'm nervous the
>    Python runtime environment is corrupted for that process).

At face value, that RuntimeWarning seems to indicate a bug in the
interpreter.


>    2: In my process later on I get: "OverflowError: long too big to
>    convert".

Can you copy and paste the actual traceback rather than retyping it from
memory? I think you're missing something, namely what the long is being
converted to. The rest of the traceback will help too.


>    This happens in different places and seems to always relate to 
>    obtaining a length of something (dict or list created by list
>    comprehension). Fx
> 
>    "for i in xrange(0, len_of_stuff, max_section_size):"
> 
>    en_of_stuff is always less than the max long (around 600).

What do you mean, "the max long"? Longs do not have a max value. The only
limit is the amount of memory you have.

What about max_section_size? How big is that?


>    We're using gevent and I'm suspecting some "threading" could cause
>    this, as I'm able to replicate it locally with the same data.

Typo: you said later that you are *not* able to replicate it.

You're using a global variable with threaded code? You're a brave (or
foolhardy) man...


-- 
Steven




More information about the Python-list mailing list