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