[Python-modules-team] Bug#959136: numpy breaks dask autopkgtest: E assert 10 == 11

Paul Gevers elbrus at debian.org
Wed Apr 29 20:39:27 BST 2020


Source: numpy, dask
Control: found -1 numpy/1:1.18.3-1
Control: found -1 dask/2.11.0+dfsg-1
Severity: serious
Tags: sid bullseye
X-Debbugs-CC: debian-ci at lists.debian.org
User: debian-ci at lists.debian.org
Usertags: breaks needs-update

Dear maintainer(s),

With a recent upload of numpy the autopkgtest of dask fails in testing
when that autopkgtest is run with the binary packages of numpy from
unstable. It passes when run with only packages from testing. In tabular
form:

                       pass            fail
numpy                  from testing    1:1.18.3-1
dask                   from testing    2.11.0+dfsg-1
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of numpy to testing
[1]. Due to the nature of this issue, I filed this bug report against
both packages. Can you please investigate the situation and reassign the
bug to the right package?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=numpy

https://ci.debian.net/data/autopkgtest/testing/amd64/d/dask/5197674/log.gz

=================================== FAILURES
===================================
______________________________ test_argwhere_str
_______________________________

    def test_argwhere_str():
        x = np.array(list("Hello world"))
        d = da.from_array(x, chunks=(4,))

        x_nz = np.argwhere(x)
        d_nz = da.argwhere(d)

>       assert_eq(d_nz, x_nz)

/usr/lib/python3/dist-packages/dask/array/tests/test_routines.py:1144:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _

a = array([[ 0],
       [ 1],
       [ 2],
       [ 3],
       [ 4],
       [ 5],
       [ 6],
       [ 7],
       [ 8],
       [ 9],
       [10]])
b = array([[ 0],
       [ 1],
       [ 2],
       [ 3],
       [ 4],
       [ 6],
       [ 7],
       [ 8],
       [ 9],
       [10]])
check_shape = True, check_graph = True, check_meta = True, kwargs = {}
a_original = dask.array<getitem_variadic, shape=(nan, 1), dtype=int64,
chunksize=(nan, 1), chunktype=numpy.ndarray>
b_original = array([[ 0],
       [ 1],
       [ 2],
       [ 3],
       [ 4],
       [ 6],
       [ 7],
       [ 8],
       [ 9],
       [10]])
adt = dtype('int64'), a_meta = array([], shape=(0, 0), dtype=int64)
a_computed = array([[ 0],
       [ 1],
       [ 2],
       [ 3],
       [ 4],
       [ 5],
       [ 6],
       [ 7],
       [ 8],
       [ 9],
       [10]])
bdt = dtype('int64'), b_meta = None

    def assert_eq(a, b, check_shape=True, check_graph=True,
check_meta=True, **kwargs):
        a_original = a
        b_original = b

        a, adt, a_meta, a_computed = _get_dt_meta_computed(
            a, check_shape=check_shape, check_graph=check_graph
        )
        b, bdt, b_meta, b_computed = _get_dt_meta_computed(
            b, check_shape=check_shape, check_graph=check_graph
        )

        if str(adt) != str(bdt):
            # Ignore check for matching length of flexible dtypes, since
Array._meta
            # can't encode that information
            if adt.type == bdt.type and not (adt.type == np.bytes_ or
adt.type == np.str_):
                diff = difflib.ndiff(str(adt).splitlines(),
str(bdt).splitlines())
                raise AssertionError(
                    "string repr are different" + os.linesep +
os.linesep.join(diff)
                )

        try:
>           assert a.shape == b.shape
E           AssertionError

/usr/lib/python3/dist-packages/dask/array/utils.py:246: AssertionError
____________________________ test_count_nonzero_str
____________________________

    def test_count_nonzero_str():
        x = np.array(list("Hello world"))
        d = da.from_array(x, chunks=(4,))

        x_c = np.count_nonzero(x)
        d_c = da.count_nonzero(d)

>       assert x_c == d_c.compute()
E       assert 10 == 11
E         -10
E         +11

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/python-modules-team/attachments/20200429/877c2f36/attachment.sig>


More information about the Python-modules-team mailing list