[Python-modules-team] Bug#889584: fpylll: FTBFS on 32-bit architectures: test failures: OverflowError, SystemError

Andreas Beckmann anbe at debian.org
Sun Feb 4 18:59:56 UTC 2018


Source: fpylll
Version: 0.3.0+ds1-2
Severity: serious
Justification: fails to build from source (but built successfully in the past)

Hi,

fpylll/experimental FTBFS on all 32-bit architectures with test
failures:

https://buildd.debian.org/status/package.php?p=fpylll&suite=experimental

   dh_auto_test -a -O--buildsystem=pybuild
I: pybuild base:184: cd /<<BUILDDIR>>/fpylll-0.3.0+ds1/.pybuild/pythonX.Y_2.7/build; python2.7 -m pytest tests
============================= test session starts ==============================
platform linux2 -- Python 2.7.14+, pytest-3.2.1, py-1.4.34, pluggy-0.4.0
rootdir: /<<BUILDDIR>>/fpylll-0.3.0+ds1, inifile:
collected 24 items

tests/test_bkz.py ..
tests/test_bkz_python.py ....
tests/test_cvp.py .
tests/test_gso.py .....
tests/test_lll.py ..
tests/test_multisol_enum.py .
tests/test_numpy.py ..
tests/test_precision.py .
tests/test_pruner.py .
tests/test_random.py .
tests/test_simple_bkz.py ..
tests/test_strategies.py .
tests/test_util.py .

========================== 24 passed in 62.16 seconds ==========================
I: pybuild base:184: cd /<<BUILDDIR>>/fpylll-0.3.0+ds1/.pybuild/pythonX.Y_3.6/build; python3.6 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.6.4, pytest-3.2.1, py-1.4.34, pluggy-0.4.0
rootdir: /<<BUILDDIR>>/fpylll-0.3.0+ds1, inifile:
collected 24 items

tests/test_bkz.py ..
tests/test_bkz_python.py ....
tests/test_cvp.py .
tests/test_gso.py FFF.F
tests/test_lll.py ..
tests/test_multisol_enum.py .
tests/test_numpy.py ..
tests/test_precision.py .
tests/test_pruner.py .
tests/test_random.py .
tests/test_simple_bkz.py ..
tests/test_strategies.py .
tests/test_util.py .

=================================== FAILURES ===================================
________________________________ test_gso_init _________________________________
OverflowError: Python int too large to convert to C long

The above exception was the direct cause of the following exception:

    def test_gso_init():
        for int_type in int_types:
            for m, n in dimensions:
                A = make_integer_matrix(m, n, int_type=int_type)
                for float_type in float_types:
>                   M = GSO.Mat(copy(A), float_type=float_type)

tests/test_gso.py:21: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

x = <IntegerMatrix(50, 50) at 0xf4ec5260>

    def copy(x):
        """Shallow copy operation on arbitrary Python objects.
    
        See the module's __doc__ string for more info.
        """
    
        cls = type(x)
    
        copier = _copy_dispatch.get(cls)
        if copier:
            return copier(x)
    
        try:
            issc = issubclass(cls, type)
        except TypeError: # cls is not a class
            issc = False
        if issc:
            # treat it as a regular class:
            return _copy_immutable(x)
    
        copier = getattr(cls, "__copy__", None)
        if copier:
>           return copier(x)
E           SystemError: <cyfunction IntegerMatrix.__copy__ at 0xf60d59ec> returned a result with an error set

/usr/lib/python3.6/copy.py:88: SystemError
__________________________________ test_gso_d __________________________________
OverflowError: Python int too large to convert to C long

The above exception was the direct cause of the following exception:

    def test_gso_d():
        for int_type in int_types:
            for m, n in dimensions:
                A = make_integer_matrix(m, n, int_type=int_type)
                for float_type in float_types:
>                   M = GSO.Mat(copy(A), float_type=float_type)

tests/test_gso.py:38: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

x = <IntegerMatrix(50, 50) at 0xf4ef00e0>

    def copy(x):
        """Shallow copy operation on arbitrary Python objects.
    
        See the module's __doc__ string for more info.
        """
    
        cls = type(x)
    
        copier = _copy_dispatch.get(cls)
        if copier:
            return copier(x)
    
        try:
            issc = issubclass(cls, type)
        except TypeError: # cls is not a class
            issc = False
        if issc:
            # treat it as a regular class:
            return _copy_immutable(x)
    
        copier = getattr(cls, "__copy__", None)
        if copier:
>           return copier(x)
E           SystemError: <cyfunction IntegerMatrix.__copy__ at 0xf60d59ec> returned a result with an error set

/usr/lib/python3.6/copy.py:88: SystemError
__________________________ test_gso_int_gram_enabled ___________________________
OverflowError: Python int too large to convert to C long

The above exception was the direct cause of the following exception:

    def test_gso_int_gram_enabled():
        for int_type in int_types:
            for m, n in dimensions:
                A = make_integer_matrix(m, n, int_type=int_type)
                for float_type in float_types:
>                   M = GSO.Mat(copy(A), float_type=float_type)

tests/test_gso.py:47: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

x = <IntegerMatrix(50, 50) at 0xf4f26a58>

    def copy(x):
        """Shallow copy operation on arbitrary Python objects.
    
        See the module's __doc__ string for more info.
        """
    
        cls = type(x)
    
        copier = _copy_dispatch.get(cls)
        if copier:
            return copier(x)
    
        try:
            issc = issubclass(cls, type)
        except TypeError: # cls is not a class
            issc = False
        if issc:
            # treat it as a regular class:
            return _copy_immutable(x)
    
        copier = getattr(cls, "__copy__", None)
        if copier:
>           return copier(x)
E           SystemError: <cyfunction IntegerMatrix.__copy__ at 0xf60d59ec> returned a result with an error set

/usr/lib/python3.6/copy.py:88: SystemError
_________________________________ test_gso_io __________________________________
OverflowError: Python int too large to convert to C long

The above exception was the direct cause of the following exception:

    def test_gso_io():
        for int_type in int_types:
            for m, n in dimensions:
                if m <= 2 or n <= 2:
                    continue
    
                A = make_integer_matrix(m, n, int_type=int_type)
                v = list(A[0])
                LLL.reduction(A)
    
                for float_type in float_types:
                    M = GSO.Mat(copy(A), float_type=float_type)
                    M.update_gso()
                    w = M.babai(v)
>                   v_ = IntegerMatrix.from_iterable(1, m, w) * A

tests/test_gso.py:105: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

>   ???
E   SystemError: <class 'range'> returned a result with an error set

src/fpylll/fplll/integer_matrix.pyx:1377: SystemError
===================== 4 failed, 20 passed in 58.04 seconds =====================
E: pybuild pybuild:283: test: plugin distutils failed with: exit code=1: cd /<<BUILDDIR>>/fpylll-0.3.0+ds1/.pybuild/pythonX.Y_3.6/build; python3.6 -m pytest tests
dh_auto_test: pybuild --test --test-pytest -i python{version} -p 3.6 returned exit code 13



More information about the Python-modules-team mailing list