Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1004870: python-xarray: autopkgtest regression on s390x

0 views
Skip to first unread message

Graham Inggs

unread,
Feb 2, 2022, 2:40:03 PM2/2/22
to
Source: python-xarray
Version: 0.21.0-1
X-Debbugs-CC: debi...@lists.debian.org, debia...@lists.debian.org
Severity: serious
User: debi...@lists.debian.org
Usertags: regression

Hi Maintainer

python-xarray's autopkgtests are failing on the big-endian s390x
architecture [1].
I've copied what I hope is the relevant part of the log below.

Regards
Graham


[1] https://ci.debian.net/packages/p/python-xarray/unstable/s390x/


=================================== FAILURES ===================================
_______________________ test_calendar_cftime_2D[365_day] _______________________

data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)>
array([[[0.25602205, 0.47375523, 0.88418655, ..., 0.19579452,
...0.0 2.222 4.444 6.667 ... 13.33 15.56 17.78 20.0
* time (time) object 2000-01-01 00:00:00 ... 2000-01-05 03:00:00

@requires_cftime
def test_calendar_cftime_2D(data) -> None:
# 2D np datetime:
> data = xr.DataArray(
np.random.randint(1, 1000000, size=(4,
5)).astype("<M8[h]"), dims=("x", "y")
)

/usr/lib/python3/dist-packages/xarray/tests/test_accessor_dt.py:426:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:400: in __init__
data = as_compatible_data(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:232: in
as_compatible_data
data = _possibly_convert_objects(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:176: in
_possibly_convert_objects
return np.asarray(pd.Series(values.ravel())).reshape(values.shape)
/usr/lib/python3/dist-packages/pandas/core/series.py:439: in __init__
data = sanitize_array(data, index, dtype, copy)
/usr/lib/python3/dist-packages/pandas/core/construction.py:545: in
sanitize_array
subarr = _try_cast(data, dtype, copy, raise_cast_failure)
/usr/lib/python3/dist-packages/pandas/core/construction.py:704: in _try_cast
return sanitize_to_nanoseconds(arr, copy=copy)
/usr/lib/python3/dist-packages/pandas/core/dtypes/cast.py:1740: in
sanitize_to_nanoseconds
values = conversion.ensure_datetime64ns(values)
pandas/_libs/tslibs/conversion.pyx:256: in
pandas._libs.tslibs.conversion.ensure_datetime64ns
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

> ???
E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds
nanosecond timestamp: -259805407763208-03-07 00:00:00

pandas/_libs/tslibs/np_datetime.pyx:120: OutOfBoundsDatetime
_______________________ test_calendar_cftime_2D[360_day] _______________________

data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)>
array([[[0.3348676 , 0.8813548 , 0.07158625, ..., 0.12469613,
...0.0 2.222 4.444 6.667 ... 13.33 15.56 17.78 20.0
* time (time) object 2000-01-01 00:00:00 ... 2000-01-05 03:00:00

@requires_cftime
def test_calendar_cftime_2D(data) -> None:
# 2D np datetime:
> data = xr.DataArray(
np.random.randint(1, 1000000, size=(4,
5)).astype("<M8[h]"), dims=("x", "y")
)

/usr/lib/python3/dist-packages/xarray/tests/test_accessor_dt.py:426:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:400: in __init__
data = as_compatible_data(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:232: in
as_compatible_data
data = _possibly_convert_objects(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:176: in
_possibly_convert_objects
return np.asarray(pd.Series(values.ravel())).reshape(values.shape)
/usr/lib/python3/dist-packages/pandas/core/series.py:439: in __init__
data = sanitize_array(data, index, dtype, copy)
/usr/lib/python3/dist-packages/pandas/core/construction.py:545: in
sanitize_array
subarr = _try_cast(data, dtype, copy, raise_cast_failure)
/usr/lib/python3/dist-packages/pandas/core/construction.py:704: in _try_cast
return sanitize_to_nanoseconds(arr, copy=copy)
/usr/lib/python3/dist-packages/pandas/core/dtypes/cast.py:1740: in
sanitize_to_nanoseconds
values = conversion.ensure_datetime64ns(values)
pandas/_libs/tslibs/conversion.pyx:256: in
pandas._libs.tslibs.conversion.ensure_datetime64ns
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

> ???
E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds
nanosecond timestamp: 768533895196513-09-16 16:00:00

pandas/_libs/tslibs/np_datetime.pyx:120: OutOfBoundsDatetime
_______________________ test_calendar_cftime_2D[julian] ________________________

data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)>
array([[[0.05513783, 0.72362925, 0.78967474, ..., 0.8560986 ,
...0.0 2.222 4.444 6.667 ... 13.33 15.56 17.78 20.0
* time (time) object 2000-01-01 00:00:00 ... 2000-01-05 03:00:00

@requires_cftime
def test_calendar_cftime_2D(data) -> None:
# 2D np datetime:
> data = xr.DataArray(
np.random.randint(1, 1000000, size=(4,
5)).astype("<M8[h]"), dims=("x", "y")
)

/usr/lib/python3/dist-packages/xarray/tests/test_accessor_dt.py:426:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:400: in __init__
data = as_compatible_data(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:232: in
as_compatible_data
data = _possibly_convert_objects(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:176: in
_possibly_convert_objects
return np.asarray(pd.Series(values.ravel())).reshape(values.shape)
/usr/lib/python3/dist-packages/pandas/core/series.py:439: in __init__
data = sanitize_array(data, index, dtype, copy)
/usr/lib/python3/dist-packages/pandas/core/construction.py:545: in
sanitize_array
subarr = _try_cast(data, dtype, copy, raise_cast_failure)
/usr/lib/python3/dist-packages/pandas/core/construction.py:704: in _try_cast
return sanitize_to_nanoseconds(arr, copy=copy)
/usr/lib/python3/dist-packages/pandas/core/dtypes/cast.py:1740: in
sanitize_to_nanoseconds
values = conversion.ensure_datetime64ns(values)
pandas/_libs/tslibs/conversion.pyx:256: in
pandas._libs.tslibs.conversion.ensure_datetime64ns
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

> ???
E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds
nanosecond timestamp: 904522921033531-11-08 08:00:00

pandas/_libs/tslibs/np_datetime.pyx:120: OutOfBoundsDatetime
______________________ test_calendar_cftime_2D[all_leap] _______________________

data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)>
array([[[0.02927022, 0.10328084, 0.12428704, ..., 0.83960594,
...0.0 2.222 4.444 6.667 ... 13.33 15.56 17.78 20.0
* time (time) object 2000-01-01 00:00:00 ... 2000-01-05 03:00:00

@requires_cftime
def test_calendar_cftime_2D(data) -> None:
# 2D np datetime:
> data = xr.DataArray(
np.random.randint(1, 1000000, size=(4,
5)).astype("<M8[h]"), dims=("x", "y")
)

/usr/lib/python3/dist-packages/xarray/tests/test_accessor_dt.py:426:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:400: in __init__
data = as_compatible_data(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:232: in
as_compatible_data
data = _possibly_convert_objects(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:176: in
_possibly_convert_objects
return np.asarray(pd.Series(values.ravel())).reshape(values.shape)
/usr/lib/python3/dist-packages/pandas/core/series.py:439: in __init__
data = sanitize_array(data, index, dtype, copy)
/usr/lib/python3/dist-packages/pandas/core/construction.py:545: in
sanitize_array
subarr = _try_cast(data, dtype, copy, raise_cast_failure)
/usr/lib/python3/dist-packages/pandas/core/construction.py:704: in _try_cast
return sanitize_to_nanoseconds(arr, copy=copy)
/usr/lib/python3/dist-packages/pandas/core/dtypes/cast.py:1740: in
sanitize_to_nanoseconds
values = conversion.ensure_datetime64ns(values)
pandas/_libs/tslibs/conversion.pyx:256: in
pandas._libs.tslibs.conversion.ensure_datetime64ns
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

> ???
E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds
nanosecond timestamp: -77577995854656-10-03 16:00:00

pandas/_libs/tslibs/np_datetime.pyx:120: OutOfBoundsDatetime
_______________________ test_calendar_cftime_2D[366_day] _______________________

data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)>
array([[[0.32570151, 0.71143133, 0.43459037, ..., 0.14784034,
...0.0 2.222 4.444 6.667 ... 13.33 15.56 17.78 20.0
* time (time) object 2000-01-01 00:00:00 ... 2000-01-05 03:00:00

@requires_cftime
def test_calendar_cftime_2D(data) -> None:
# 2D np datetime:
> data = xr.DataArray(
np.random.randint(1, 1000000, size=(4,
5)).astype("<M8[h]"), dims=("x", "y")
)

/usr/lib/python3/dist-packages/xarray/tests/test_accessor_dt.py:426:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:400: in __init__
data = as_compatible_data(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:232: in
as_compatible_data
data = _possibly_convert_objects(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:176: in
_possibly_convert_objects
return np.asarray(pd.Series(values.ravel())).reshape(values.shape)
/usr/lib/python3/dist-packages/pandas/core/series.py:439: in __init__
data = sanitize_array(data, index, dtype, copy)
/usr/lib/python3/dist-packages/pandas/core/construction.py:545: in
sanitize_array
subarr = _try_cast(data, dtype, copy, raise_cast_failure)
/usr/lib/python3/dist-packages/pandas/core/construction.py:704: in _try_cast
return sanitize_to_nanoseconds(arr, copy=copy)
/usr/lib/python3/dist-packages/pandas/core/dtypes/cast.py:1740: in
sanitize_to_nanoseconds
values = conversion.ensure_datetime64ns(values)
pandas/_libs/tslibs/conversion.pyx:256: in
pandas._libs.tslibs.conversion.ensure_datetime64ns
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

> ???
E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds
nanosecond timestamp: 391106800438843-10-05 00:00:00

pandas/_libs/tslibs/np_datetime.pyx:120: OutOfBoundsDatetime
______________________ test_calendar_cftime_2D[gregorian] ______________________

data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)>
array([[[0.91161183, 0.42436822, 0.53522578, ..., 0.36468928,
...0.0 2.222 4.444 6.667 ... 13.33 15.56 17.78 20.0
* time (time) object 2000-01-01 00:00:00 ... 2000-01-05 03:00:00

@requires_cftime
def test_calendar_cftime_2D(data) -> None:
# 2D np datetime:
> data = xr.DataArray(
np.random.randint(1, 1000000, size=(4,
5)).astype("<M8[h]"), dims=("x", "y")
)

/usr/lib/python3/dist-packages/xarray/tests/test_accessor_dt.py:426:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:400: in __init__
data = as_compatible_data(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:232: in
as_compatible_data
data = _possibly_convert_objects(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:176: in
_possibly_convert_objects
return np.asarray(pd.Series(values.ravel())).reshape(values.shape)
/usr/lib/python3/dist-packages/pandas/core/series.py:439: in __init__
data = sanitize_array(data, index, dtype, copy)
/usr/lib/python3/dist-packages/pandas/core/construction.py:545: in
sanitize_array
subarr = _try_cast(data, dtype, copy, raise_cast_failure)
/usr/lib/python3/dist-packages/pandas/core/construction.py:704: in _try_cast
return sanitize_to_nanoseconds(arr, copy=copy)
/usr/lib/python3/dist-packages/pandas/core/dtypes/cast.py:1740: in
sanitize_to_nanoseconds
values = conversion.ensure_datetime64ns(values)
pandas/_libs/tslibs/conversion.pyx:256: in
pandas._libs.tslibs.conversion.ensure_datetime64ns
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

> ???
E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds
nanosecond timestamp: -690921531052547-07-02 08:00:00

pandas/_libs/tslibs/np_datetime.pyx:120: OutOfBoundsDatetime
_________________ test_calendar_cftime_2D[proleptic_gregorian] _________________

data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)>
array([[[8.84930980e-01, 9.76547499e-01, 4.34131057e-01, ...,
...0.0 2.222 4.444 6.667 ... 13.33 15.56 17.78 20.0
* time (time) object 2000-01-01 00:00:00 ... 2000-01-05 03:00:00

@requires_cftime
def test_calendar_cftime_2D(data) -> None:
# 2D np datetime:
> data = xr.DataArray(
np.random.randint(1, 1000000, size=(4,
5)).astype("<M8[h]"), dims=("x", "y")
)

/usr/lib/python3/dist-packages/xarray/tests/test_accessor_dt.py:426:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/xarray/core/dataarray.py:400: in __init__
data = as_compatible_data(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:232: in
as_compatible_data
data = _possibly_convert_objects(data)
/usr/lib/python3/dist-packages/xarray/core/variable.py:176: in
_possibly_convert_objects
return np.asarray(pd.Series(values.ravel())).reshape(values.shape)
/usr/lib/python3/dist-packages/pandas/core/series.py:439: in __init__
data = sanitize_array(data, index, dtype, copy)
/usr/lib/python3/dist-packages/pandas/core/construction.py:545: in
sanitize_array
subarr = _try_cast(data, dtype, copy, raise_cast_failure)
/usr/lib/python3/dist-packages/pandas/core/construction.py:704: in _try_cast
return sanitize_to_nanoseconds(arr, copy=copy)
/usr/lib/python3/dist-packages/pandas/core/dtypes/cast.py:1740: in
sanitize_to_nanoseconds
values = conversion.ensure_datetime64ns(values)
pandas/_libs/tslibs/conversion.pyx:256: in
pandas._libs.tslibs.conversion.ensure_datetime64ns
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

> ???
E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds
nanosecond timestamp: -67784665697082-12-03 00:00:00

pandas/_libs/tslibs/np_datetime.pyx:120: OutOfBoundsDatetime

Graham Inggs

unread,
Feb 16, 2022, 6:00:02 AM2/16/22
to
Hi Rajendra

Thanks for taking a look!

Unfortunately, that cannot be the solution, as that commit is already
present in the version of pandas in the archive [1].

Regards
Graham


[1] https://salsa.debian.org/science-team/pandas/-/blob/debian/pandas/core/arrays/datetimelike.py#L462


On Sun, 13 Feb 2022 at 15:14, Rajendra Kharat1 <Rajendra...@ibm.com> wrote:
>
> Hi Graham,
>
> This issue is again specific to no proper handling for bug endian environment.
>
> There is a fix from pandas library maintainers for this issue.
>
> https://github.com/pandas-dev/pandas/pull/40116
>
> Please find the link above and check if this resolves your issue.
>
> Thanks,
> Rajendra
>
>
> ----- Original message -----
> From: Rajendra Kharat1/India/Contr/IBM
> To: gin...@debian.org, 100...@bugs.debian.org
> Cc: sub...@bugs.debian.org
> Subject: Re: [EXTERNAL] Bug#1004870: python-xarray: autopkgtest regression on s390x
> Date: Thu, Feb 3, 2022 3:34 PM
>
> We are having a look. Will check and update.
>
> Thanks,
> Rajendra

Rebecca N. Palmer

unread,
Aug 17, 2022, 5:20:03 PM8/17/22
to
Which pandas version do you think fixes this?

Both the fix the comment at conversion.pyx:226 points to
(https://github.com/pandas-dev/pandas/pull/30976) and the one you
mention above (https://github.com/pandas-dev/pandas/pull/40116) are
already in pandas 1.3.5 (in Debian unstable).

pandas 1.4.3 (in Debian experimental) FTBFS on s390x for unrelated
reasons, but this is probably already fixed in Salsa.

(python-xarray is also currently failing in unstable (but not testing)
on all architectures, which may be bug #1013939.)

Rebecca N. Palmer

unread,
Aug 27, 2022, 3:30:03 AM8/27/22
to
pandas 1.4.3 in experimental has now been built for s390x - can someone
try the python-xarray autopkgtest with that (i.e. test whether that
actually fixes this bug)?

Debian Bug Tracking System

unread,
Sep 2, 2022, 5:50:03 AM9/2/22
to
Processing control commands:

> reassign -1 src:python-xarray 0.21.0-1
Bug #1004870 [pandas] python-xarray: autopkgtest regression on s390x
Bug reassigned from package 'pandas' to 'src:python-xarray'.
Ignoring request to alter found versions of bug #1004870 to the same values previously set
Ignoring request to alter fixed versions of bug #1004870 to the same values previously set
Bug #1004870 [src:python-xarray] python-xarray: autopkgtest regression on s390x
Marked as found in versions python-xarray/0.21.0-1.

--
1004870: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004870
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems

Debian Bug Tracking System

unread,
Sep 6, 2022, 9:00:04 AM9/6/22
to
Your message dated Tue, 06 Sep 2022 12:49:49 +0000
with message-id <E1oVY1V-...@fasolo.debian.org>
and subject line Bug#1004870: fixed in python-xarray 2022.06.0-6
has caused the Debian Bug report #1004870,
regarding python-xarray: autopkgtest regression on s390x
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
0 new messages