[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#959136: numpy breaks dask autopkgtest: E assert 10 == 11



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@lists.debian.org
User: debian-ci@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

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: