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 -- https://mail.python.org/mailman/listinfo/python-list