[pypy-dev] int_py_mod_nonnegargs(): one arg is negative LLAssertFailure

Shubha Ramani shubharamani at yahoo.com
Fri Dec 9 08:38:54 EST 2016


Interesting. Thank You !


> On Dec 9, 2016, at 12:45 AM, Armin Rigo <armin.rigo at gmail.com> wrote:
> 
> Hi,
> 
> On 9 December 2016 at 02:00, Shubha Ramani via pypy-dev
> <pypy-dev at python.org> wrote:
>> Why am I getting this error ?
>> pidigits.py runs fine outside of the pytest environment.
> 
> I'm getting:
> 
>    from rpython.jit.metainterp.test.support import LLJitMixin,X86JitMixin
> E   ImportError: cannot import name X86JitMixin
> 
> After hacking at that until the test runs (replacing it with
> LLJitMixin), then I see the problem.  It's likely caused by integer
> overflow.  Your f() function computes the digits of pi, but it's not
> valid RPython because integers overflow the size of C 'long'.  An
> internal test then fails because although '(n*3 + a) % d' was
> supposedly proven to occur on known-nonnegative arguments, the value
> did overflow and is now negative.  Copying the same algorithm in C
> with the type 'long' everywhere would be similarly undefined C code.
> 
> 
> Armin


More information about the pypy-dev mailing list