python-xarray failed to build from source in Fedora rawhide/f37 https://koji.fedoraproject.org/koji/taskinfo?taskID=89893045 For details on the mass rebuild see: https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Please fix python-xarray at your earliest convenience and set the bug's status to ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks, python-xarray will be orphaned. Before branching of Fedora 38, python-xarray will be retired, if it still fails to build. For more details on the FTBFS policy, please visit: https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/
Created attachment 1902408 [details] build.log file build.log too big, will only attach last 32768 bytes
Created attachment 1902409 [details] root.log file root.log too big, will only attach last 32768 bytes
Created attachment 1902410 [details] state.log
Dear Maintainer, your package has an open Fails To Build From Source bug for Fedora 37. Action is required from you. PYC magic number has changed in Python 3.11.0b4, and all packages with Python bytecode need to be rebuilt. Most of them were rebuilt during the Fedora 37 mass rebuild, but since this package is FTBFS, we were hoping you could fix it and rebuild it manually, or it will cause subtle issues when used. Tracking bugzilla for all affected packages: https://bugzilla.redhat.com/show_bug.cgi?id=2107826 If you can fix your package to build, perform a build in koji, and if necessary, create an update in bodhi. If you are working on a fix, set the status to ASSIGNED to acknowledge this. If you have already fixed this issue, please close this Bugzilla report. Note that Fedora 37 is about to be branched very soon. If you fix this after branching, make sure to rebuild the package in both Rawhide (Fedora 38) and Fedora 37. ============================================== Following the policy for FTBFS packages [1], your package will be orphaned if this bug remains in a NEW state for more than 8 weeks (not sooner than 2022-09-27). A week before the mass branching of Fedora 38 according to the schedule [2], any packages not successfully rebuilt, at least on Fedora 36 will be retired regardless of the status of this bug. [1] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/ [2] https://fedorapeople.org/groups/schedule/f-38/f-38-key-tasks.html
This bug appears to have been reported against 'rawhide' during the Fedora Linux 37 development cycle. Changing version to 37.
I've accidentally posted wrong Fedora versions in the previous comment, here is a corrected version: Dear Maintainer, your package has an open Fails To Build From Source bug for Fedora 37. Action is required from you. PYC magic number has changed in Python 3.11.0b4, and all packages with Python bytecode need to be rebuilt. Most of them were rebuilt during the Fedora 37 mass rebuild, but since this package is FTBFS, we were hoping you could fix it and rebuild it manually, or it will cause subtle issues when used. Tracking bugzilla for all affected packages: https://bugzilla.redhat.com/show_bug.cgi?id=2107826 If you can fix your package to build, perform a build in koji, and if necessary, create an update in bodhi. If you are working on a fix, set the status to ASSIGNED to acknowledge this. If you have already fixed this issue, please close this Bugzilla report. Make sure to rebuild the package in both Rawhide (Fedora 38) and Fedora 37. ============================================== Following the policy for FTBFS packages [1], your package will be orphaned if this bug remains in a NEW state for more than 8 weeks (not sooner than 2022-09-27). A week before the mass branching of Fedora 38 according to the schedule [2], any packages not successfully rebuilt, at least on Fedora 36 will be retired regardless of the status of this bug. [1] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/ [2] https://fedorapeople.org/groups/schedule/f-38/f-38-key-tasks.html
This is now preventing upgrades to F37: Problem 2: cannot install both python3-numpy-1:1.22.0-7.fc37.x86_64 and python3-numpy-1:1.22.0-2.fc36.x86_64 - package python3-xarray-2022.6.0-1.fc36.noarch requires python3.10dist(numpy) >= 1.19, but none of the providers can be installed - cannot install the best update candidate for package python3-numpy-1:1.22.0-2.fc36.x86_64 - problem with installed package python3-xarray-2022.6.0-1.fc36.noarch Problem 3: package python3-xarray-2022.6.0-1.fc36.noarch requires python3.10dist(packaging) >= 20, but none of the providers can be installed - cannot install both python3-packaging-21.3-6.fc37.noarch and python3-packaging-21.3-2.fc36.noarch - cannot install the best update candidate for package python3-xarray-2022.6.0-1.fc36.noarch - cannot install the best update candidate for package python3-packaging-21.3-2.fc36.noarch
The version in Fedora 37 is python3-xarray-0:2022.3.0-2.fc37.noarch and it installs just fine. I wonder how are you trying to upgrade? a distro-sync or fedora upgrade should downgrade.
I was trying to upgrade with 'dnf upgrade --releasever=…'.
That is not a supported way of upgrading to Fedora 37. You only get the errors because the F37 version is lower than the F36 version, which can occasionally happen. Use distro-sync or https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/
Orion, do you have any ideas where this might be from? This builds fine on F36 with netcdf 4.8.1, and fails on F37 with netcdf 4.9.0. If I backport 4.9.0, then the test_open_nczarr test runs out of memory on F36 as well. Unfortunately, upstream hasn't said anything on my bug report so far.
Koschei tells me that 2022.3.0 is building again; this is due to a python-netcdf4 bugfix update from 1.6.0-2.fc37 to 1.6.1-1.fc38. While going back to that commit does build, the latest version is still broken due to the netcdf OOM.
FEDORA-2022-ddd090478b has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-ddd090478b
FEDORA-2022-ddd090478b has been pushed to the Fedora 37 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-ddd090478b` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-ddd090478b See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-ddd090478b has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.
The attached build is simply a rebuild to fix the .pyc bytecode change, so this no longer blocks that bug. Unfortunately, the general issue that this is FTBFS in the latest version is still true.
Is there a plan to work around the FTBFS? Successfully building at least 2022.6.0 (to match F36) in F37 and Rawhide would be really useful, since this would fix an incompatibility[1] with current versions of python-pandas. We just “un-broke” python-pandas with an update in Rawhide, and we are planning one for F37 as well since the version of Pandas that shipped with F37 does not properly support Python 3.11. Please let me know if there is anything I can do to help. Thanks! [1] https://src.fedoraproject.org/rpms/python-pandas/pull-request/13#comment-122276
My sense is that it should be fine to disable the failing test. I don't see the "noxarray" mode used anywhere else but that test, so I don't think that it's terribly likely to get triggered by python-xarray elsewhere.
Thanks to @orion for distilling the issue, it appears that this might be fixed upstream soon. I can skip the test, but it looks like it might be fixed within a couple days?
This should now be fixed in netcdf-4.9.0-4.fc38
I tried a scratch build in Rawhide, explicitly building on all builder architectures even though the package is noarch: https://koji.fedoraproject.org/koji/taskinfo?taskID=95608625 x86_64, ppc64le, and aarch64 failed as follows (this exact text pasted from x86_64): =================================== FAILURES =================================== _________________________ TestNCZarr.test_open_nczarr __________________________ [gw2] linux -- Python 3.11.1 /usr/bin/python3 zarr_obj = <zarr.core.Array '/dim2' (9,) float64 read-only> dimension_key = '_ARRAY_DIMENSIONS', try_nczarr = True def _get_zarr_dims_and_attrs(zarr_obj, dimension_key, try_nczarr): # Zarr arrays do not have dimensions. To get around this problem, we add # an attribute that specifies the dimension. We have to hide this attribute # when we send the attributes to the user. # zarr_obj can be either a zarr group or zarr array try: # Xarray-Zarr > dimensions = zarr_obj.attrs[dimension_key] /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:191: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <zarr.attrs.Attributes object at 0x7ffa37811310> item = '_ARRAY_DIMENSIONS' def __getitem__(self, item): > return self.asdict()[item] E KeyError: '_ARRAY_DIMENSIONS' /usr/lib/python3.11/site-packages/zarr/attrs.py:74: KeyError During handling of the above exception, another exception occurred: zarr_obj = <zarr.core.Array '/dim2' (9,) float64 read-only> dimension_key = '_ARRAY_DIMENSIONS', try_nczarr = True def _get_zarr_dims_and_attrs(zarr_obj, dimension_key, try_nczarr): # Zarr arrays do not have dimensions. To get around this problem, we add # an attribute that specifies the dimension. We have to hide this attribute # when we send the attributes to the user. # zarr_obj can be either a zarr group or zarr array try: # Xarray-Zarr dimensions = zarr_obj.attrs[dimension_key] except KeyError as e: if not try_nczarr: raise KeyError( f"Zarr object is missing the attribute `{dimension_key}`, which is " "required for xarray to determine variable dimensions." ) from e # NCZarr defines dimensions through metadata in .zarray zarray_path = os.path.join(zarr_obj.path, ".zarray") zarray = json.loads(zarr_obj.store[zarray_path]) try: # NCZarr uses Fully Qualified Names dimensions = [ > os.path.basename(dim) for dim in zarray["_NCZARR_ARRAY"]["dimrefs"] ] E KeyError: '_NCZARR_ARRAY' /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:205: KeyError The above exception was the direct cause of the following exception: self = <xarray.tests.test_backends.TestNCZarr object at 0x7ffa3fc51710> def test_open_nczarr(self): with create_tmp_file(suffix=".zarr") as tmp: expected = self._create_nczarr(tmp) > actual = xr.open_zarr(tmp, consolidated=False) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:5538: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:789: in open_zarr ds = open_dataset( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/api.py:531: in open_dataset backend_ds = backend.open_dataset( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:851: in open_dataset ds = store_entrypoint.open_dataset( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/store.py:26: in open_dataset vars, attrs = store.load() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/common.py:125: in load (_decode_variable_name(k), v) for k, v in self.get_variables().items() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:461: in get_variables return FrozenDict( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/core/utils.py:474: in FrozenDict return Frozen(dict(*args, **kwargs)) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:462: in <genexpr> (k, self.open_store_variable(k, v)) for k, v in self.zarr_group.arrays() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:443: in open_store_variable dimensions, attributes = _get_zarr_dims_and_attrs( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ zarr_obj = <zarr.core.Array '/dim2' (9,) float64 read-only> dimension_key = '_ARRAY_DIMENSIONS', try_nczarr = True def _get_zarr_dims_and_attrs(zarr_obj, dimension_key, try_nczarr): # Zarr arrays do not have dimensions. To get around this problem, we add # an attribute that specifies the dimension. We have to hide this attribute # when we send the attributes to the user. # zarr_obj can be either a zarr group or zarr array try: # Xarray-Zarr dimensions = zarr_obj.attrs[dimension_key] except KeyError as e: if not try_nczarr: raise KeyError( f"Zarr object is missing the attribute `{dimension_key}`, which is " "required for xarray to determine variable dimensions." ) from e # NCZarr defines dimensions through metadata in .zarray zarray_path = os.path.join(zarr_obj.path, ".zarray") zarray = json.loads(zarr_obj.store[zarray_path]) try: # NCZarr uses Fully Qualified Names dimensions = [ os.path.basename(dim) for dim in zarray["_NCZARR_ARRAY"]["dimrefs"] ] except KeyError as e: > raise KeyError( f"Zarr object is missing the attribute `{dimension_key}` and the NCZarr metadata, " "which are required for xarray to determine variable dimensions." ) from e E KeyError: 'Zarr object is missing the attribute `_ARRAY_DIMENSIONS` and the NCZarr metadata, which are required for xarray to determine variable dimensions.' /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.x86_64/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:208: KeyError i686 failed as follows: =================================== FAILURES =================================== __________________ TestZarrDictStore.test_orthogonal_indexing __________________ [gw1] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_backends.TestZarrDictStore object at 0xc581da70> def test_orthogonal_indexing(self): in_memory = create_test_data() with self.roundtrip(in_memory) as on_disk: indexers = {"dim1": [1, 2, 0], "dim2": [3, 2, 0, 3], "dim3": np.arange(5)} expected = in_memory.isel(**indexers) actual = on_disk.isel(**indexers) # make sure the array is not yet loaded into memory assert not actual["var1"].variable._in_memory > assert_identical(expected, actual) E AssertionError: Left and right Dataset objects are not identical E E Differing coordinates: E L numbers (dim3) int64 0 1 2 0 0 E R numbers (dim3) int64 ... E L * dim3 (dim3) <U1 'a' 'b' 'c' 'd' 'e' E R * dim3 (dim3) <U1 'a' 'b' 'c' 'd' 'e' E Differing data variables: E L var1 (dim1, dim2) float64 -1.373 -1.317 1.149 ... -0.3138 -0.4695 -1.448 E foo: variable E R var1 (dim1, dim2) float64 ... E foo: variable E L var2 (dim1, dim2) float64 0.5125 0.5583 2.089 ... 0.2081 0.07388 0.4444 E foo: variable E R var2 (dim1, dim2) float64 ... E foo: variable E L var3 (dim3, dim1) float64 -0.004227 -1.812 1.438 ... 0.1854 0.9767 1.724 E foo: variable E R var3 (dim3, dim1) float64 ... E foo: variable /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:620: AssertionError __________________ TestZarrDictStore.test_vectorized_indexing __________________ [gw1] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_backends.TestZarrDictStore object at 0xc581d6d0> def test_vectorized_indexing(self): in_memory = create_test_data() with self.roundtrip(in_memory) as on_disk: indexers = { "dim1": DataArray([0, 2, 0], dims="a"), "dim2": DataArray([0, 2, 3], dims="a"), } expected = in_memory.isel(**indexers) actual = on_disk.isel(**indexers) # make sure the array is not yet loaded into memory assert not actual["var1"].variable._in_memory > assert_identical(expected, actual.load()) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/dataset.py:741: in load v.load() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/variable.py:461: in load self._data = np.asarray(self._data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/indexing.py:653: in __array__ self._ensure_cached() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/indexing.py:650: in _ensure_cached self.array = NumpyIndexingAdapter(np.asarray(self.array)) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/indexing.py:623: in __array__ return np.asarray(self.array, dtype=dtype) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/indexing.py:524: in __array__ return np.asarray(array[self.key], dtype=None) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:83: in __getitem__ return array.oindex[key.tuple] /usr/lib/python3.11/site-packages/zarr/indexing.py:669: in __getitem__ return self.array.get_orthogonal_selection(selection, fields=fields) /usr/lib/python3.11/site-packages/zarr/core.py:1085: in get_orthogonal_selection indexer = OrthogonalIndexer(selection, self) /usr/lib/python3.11/site-packages/zarr/indexing.py:612: in __init__ dim_indexer = IntArrayDimIndexer(dim_sel, dim_len, dim_chunk_len) /usr/lib/python3.11/site-packages/zarr/indexing.py:511: in __init__ self.chunk_nitems = np.bincount(dim_sel_chunk, minlength=self.nchunks) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (array([0, 0, 0], dtype=int64),), kwargs = {'minlength': 1} relevant_args = (array([0, 0, 0], dtype=int64), None) > ??? E TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe' <__array_function__ internals>:180: TypeError ____________________ TestZarrDictStore.test_isel_dataarray _____________________ [gw1] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_backends.TestZarrDictStore object at 0xc581d7b0> def test_isel_dataarray(self): # Make sure isel works lazily. GH:issue:1688 in_memory = create_test_data() with self.roundtrip(in_memory) as on_disk: expected = in_memory.isel(dim2=in_memory["dim2"] < 3) actual = on_disk.isel(dim2=on_disk["dim2"] < 3) > assert_identical(expected, actual) E AssertionError: Left and right Dataset objects are not identical E E E Differing data variables: E L var1 (dim1, dim2) float64 0.6988 0.1573 -0.554 ... 0.7912 -1.046 0.02209 E foo: variable E R var1 (dim1, dim2) float64 ... E foo: variable E L var2 (dim1, dim2) float64 0.464 -0.5322 0.5399 ... 0.4736 0.5844 0.4045 E foo: variable E R var2 (dim1, dim2) float64 ... E foo: variable /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:737: AssertionError _______________ TestZarrDictStore.test_array_type_after_indexing _______________ [gw1] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_backends.TestZarrDictStore object at 0xc581d570> def test_array_type_after_indexing(self): in_memory = create_test_data() with self.roundtrip(in_memory) as on_disk: self.validate_array_type(on_disk) indexers = {"dim1": [1, 2, 0], "dim2": [3, 2, 0, 3], "dim3": np.arange(5)} expected = in_memory.isel(**indexers) actual = on_disk.isel(**indexers) > assert_identical(expected, actual) E AssertionError: Left and right Dataset objects are not identical E E Differing coordinates: E L numbers (dim3) int64 0 1 2 0 0 E R numbers (dim3) int64 ... E L * dim3 (dim3) <U1 'a' 'b' 'c' 'd' 'e' E R * dim3 (dim3) <U1 'a' 'b' 'c' 'd' 'e' E Differing data variables: E L var1 (dim1, dim2) float64 0.1602 -0.2531 0.8112 ... 0.9797 0.5708 E foo: variable E R var1 (dim1, dim2) float64 ... E foo: variable E L var2 (dim1, dim2) float64 -0.956 -1.348 -0.3787 ... 0.2419 -0.6465 E foo: variable E R var2 (dim1, dim2) float64 ... E foo: variable E L var3 (dim3, dim1) float64 0.2496 0.6502 -0.2617 ... -1.013 1.364 -2.242 E foo: variable E R var3 (dim3, dim1) float64 ... E foo: variable /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:766: AssertionError _______________ TestZarrDirectoryStore.test_orthogonal_indexing ________________ [gw1] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_backends.TestZarrDirectoryStore object at 0xc4f03ef0> def test_orthogonal_indexing(self): in_memory = create_test_data() with self.roundtrip(in_memory) as on_disk: indexers = {"dim1": [1, 2, 0], "dim2": [3, 2, 0, 3], "dim3": np.arange(5)} expected = in_memory.isel(**indexers) actual = on_disk.isel(**indexers) # make sure the array is not yet loaded into memory assert not actual["var1"].variable._in_memory > assert_identical(expected, actual) E AssertionError: Left and right Dataset objects are not identical E E Differing coordinates: E L numbers (dim3) int64 0 1 2 0 0 E R numbers (dim3) int64 ... E L * dim3 (dim3) <U1 'a' 'b' 'c' 'd' 'e' E R * dim3 (dim3) <U1 'a' 'b' 'c' 'd' 'e' E Differing data variables: E L var1 (dim1, dim2) float64 1.766 -0.506 -2.01 ... 2.122 -0.06747 0.04349 E foo: variable E R var1 (dim1, dim2) float64 ... E foo: variable E L var2 (dim1, dim2) float64 0.7381 -1.56 0.4215 ... 0.9335 -0.0925 -1.461 E foo: variable E R var2 (dim1, dim2) float64 ... E foo: variable E L var3 (dim3, dim1) float64 -0.2059 0.6264 -2.014 ... -0.9723 1.13 0.6689 E foo: variable E R var3 (dim3, dim1) float64 ... E foo: variable /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:620: AssertionError _______________ TestZarrDirectoryStore.test_vectorized_indexing ________________ [gw1] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_backends.TestZarrDirectoryStore object at 0xc4f03450> def test_vectorized_indexing(self): in_memory = create_test_data() with self.roundtrip(in_memory) as on_disk: indexers = { "dim1": DataArray([0, 2, 0], dims="a"), "dim2": DataArray([0, 2, 3], dims="a"), } expected = in_memory.isel(**indexers) actual = on_disk.isel(**indexers) # make sure the array is not yet loaded into memory assert not actual["var1"].variable._in_memory > assert_identical(expected, actual.load()) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/dataset.py:741: in load v.load() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/variable.py:461: in load self._data = np.asarray(self._data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/indexing.py:653: in __array__ self._ensure_cached() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/indexing.py:650: in _ensure_cached self.array = NumpyIndexingAdapter(np.asarray(self.array)) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/indexing.py:623: in __array__ return np.asarray(self.array, dtype=dtype) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/indexing.py:524: in __array__ return np.asarray(array[self.key], dtype=None) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:83: in __getitem__ return array.oindex[key.tuple] /usr/lib/python3.11/site-packages/zarr/indexing.py:669: in __getitem__ return self.array.get_orthogonal_selection(selection, fields=fields) /usr/lib/python3.11/site-packages/zarr/core.py:1085: in get_orthogonal_selection indexer = OrthogonalIndexer(selection, self) /usr/lib/python3.11/site-packages/zarr/indexing.py:612: in __init__ dim_indexer = IntArrayDimIndexer(dim_sel, dim_len, dim_chunk_len) /usr/lib/python3.11/site-packages/zarr/indexing.py:511: in __init__ self.chunk_nitems = np.bincount(dim_sel_chunk, minlength=self.nchunks) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (array([0, 0, 0], dtype=int64),), kwargs = {'minlength': 1} relevant_args = (array([0, 0, 0], dtype=int64), None) > ??? E TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe' <__array_function__ internals>:180: TypeError __________________ TestZarrDirectoryStore.test_isel_dataarray __________________ [gw1] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_backends.TestZarrDirectoryStore object at 0xc4f03110> def test_isel_dataarray(self): # Make sure isel works lazily. GH:issue:1688 in_memory = create_test_data() with self.roundtrip(in_memory) as on_disk: expected = in_memory.isel(dim2=in_memory["dim2"] < 3) actual = on_disk.isel(dim2=on_disk["dim2"] < 3) > assert_identical(expected, actual) E AssertionError: Left and right Dataset objects are not identical E E E Differing data variables: E L var1 (dim1, dim2) float64 0.3578 -1.19 0.2357 ... 0.002021 -0.5538 E foo: variable E R var1 (dim1, dim2) float64 ... E foo: variable E L var2 (dim1, dim2) float64 1.573 -0.2327 0.2802 ... -0.3649 -0.411 0.7878 E foo: variable E R var2 (dim1, dim2) float64 ... E foo: variable /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:737: AssertionError ____________ TestZarrDirectoryStore.test_array_type_after_indexing _____________ [gw1] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_backends.TestZarrDirectoryStore object at 0xc4f03550> def test_array_type_after_indexing(self): in_memory = create_test_data() with self.roundtrip(in_memory) as on_disk: self.validate_array_type(on_disk) indexers = {"dim1": [1, 2, 0], "dim2": [3, 2, 0, 3], "dim3": np.arange(5)} expected = in_memory.isel(**indexers) actual = on_disk.isel(**indexers) > assert_identical(expected, actual) E AssertionError: Left and right Dataset objects are not identical E E Differing coordinates: E L numbers (dim3) int64 0 1 2 0 0 E R numbers (dim3) int64 ... E L * dim3 (dim3) <U1 'a' 'b' 'c' 'd' 'e' E R * dim3 (dim3) <U1 'a' 'b' 'c' 'd' 'e' E Differing data variables: E L var1 (dim1, dim2) float64 1.457 -1.071 -1.108 ... -0.5815 2.554 0.1173 E foo: variable E R var1 (dim1, dim2) float64 ... E foo: variable E L var2 (dim1, dim2) float64 -0.1101 -0.3866 -0.4068 ... 1.244 -1.023 E foo: variable E R var2 (dim1, dim2) float64 ... E foo: variable E L var3 (dim3, dim1) float64 0.5792 -0.4506 0.3728 ... -2.386 0.0824 1.241 E foo: variable E R var3 (dim3, dim1) float64 ... E foo: variable /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:766: AssertionError _________________________ TestNCZarr.test_open_nczarr __________________________ [gw2] linux -- Python 3.11.1 /usr/bin/python3 zarr_obj = <zarr.core.Array '/dim2' (9,) float64 read-only> dimension_key = '_ARRAY_DIMENSIONS', try_nczarr = True def _get_zarr_dims_and_attrs(zarr_obj, dimension_key, try_nczarr): # Zarr arrays do not have dimensions. To get around this problem, we add # an attribute that specifies the dimension. We have to hide this attribute # when we send the attributes to the user. # zarr_obj can be either a zarr group or zarr array try: # Xarray-Zarr > dimensions = zarr_obj.attrs[dimension_key] /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:191: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <zarr.attrs.Attributes object at 0xc3852d70>, item = '_ARRAY_DIMENSIONS' def __getitem__(self, item): > return self.asdict()[item] E KeyError: '_ARRAY_DIMENSIONS' /usr/lib/python3.11/site-packages/zarr/attrs.py:74: KeyError During handling of the above exception, another exception occurred: zarr_obj = <zarr.core.Array '/dim2' (9,) float64 read-only> dimension_key = '_ARRAY_DIMENSIONS', try_nczarr = True def _get_zarr_dims_and_attrs(zarr_obj, dimension_key, try_nczarr): # Zarr arrays do not have dimensions. To get around this problem, we add # an attribute that specifies the dimension. We have to hide this attribute # when we send the attributes to the user. # zarr_obj can be either a zarr group or zarr array try: # Xarray-Zarr dimensions = zarr_obj.attrs[dimension_key] except KeyError as e: if not try_nczarr: raise KeyError( f"Zarr object is missing the attribute `{dimension_key}`, which is " "required for xarray to determine variable dimensions." ) from e # NCZarr defines dimensions through metadata in .zarray zarray_path = os.path.join(zarr_obj.path, ".zarray") zarray = json.loads(zarr_obj.store[zarray_path]) try: # NCZarr uses Fully Qualified Names dimensions = [ > os.path.basename(dim) for dim in zarray["_NCZARR_ARRAY"]["dimrefs"] ] E KeyError: '_NCZARR_ARRAY' /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:205: KeyError The above exception was the direct cause of the following exception: self = <xarray.tests.test_backends.TestNCZarr object at 0xc5697a50> def test_open_nczarr(self): with create_tmp_file(suffix=".zarr") as tmp: expected = self._create_nczarr(tmp) > actual = xr.open_zarr(tmp, consolidated=False) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:5538: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:789: in open_zarr ds = open_dataset( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/api.py:531: in open_dataset backend_ds = backend.open_dataset( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:851: in open_dataset ds = store_entrypoint.open_dataset( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/store.py:26: in open_dataset vars, attrs = store.load() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/common.py:125: in load (_decode_variable_name(k), v) for k, v in self.get_variables().items() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:461: in get_variables return FrozenDict( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/core/utils.py:474: in FrozenDict return Frozen(dict(*args, **kwargs)) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:462: in <genexpr> (k, self.open_store_variable(k, v)) for k, v in self.zarr_group.arrays() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:443: in open_store_variable dimensions, attributes = _get_zarr_dims_and_attrs( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ zarr_obj = <zarr.core.Array '/dim2' (9,) float64 read-only> dimension_key = '_ARRAY_DIMENSIONS', try_nczarr = True def _get_zarr_dims_and_attrs(zarr_obj, dimension_key, try_nczarr): # Zarr arrays do not have dimensions. To get around this problem, we add # an attribute that specifies the dimension. We have to hide this attribute # when we send the attributes to the user. # zarr_obj can be either a zarr group or zarr array try: # Xarray-Zarr dimensions = zarr_obj.attrs[dimension_key] except KeyError as e: if not try_nczarr: raise KeyError( f"Zarr object is missing the attribute `{dimension_key}`, which is " "required for xarray to determine variable dimensions." ) from e # NCZarr defines dimensions through metadata in .zarray zarray_path = os.path.join(zarr_obj.path, ".zarray") zarray = json.loads(zarr_obj.store[zarray_path]) try: # NCZarr uses Fully Qualified Names dimensions = [ os.path.basename(dim) for dim in zarray["_NCZARR_ARRAY"]["dimrefs"] ] except KeyError as e: > raise KeyError( f"Zarr object is missing the attribute `{dimension_key}` and the NCZarr metadata, " "which are required for xarray to determine variable dimensions." ) from e E KeyError: 'Zarr object is missing the attribute `_ARRAY_DIMENSIONS` and the NCZarr metadata, which are required for xarray to determine variable dimensions.' /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.i386/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:208: KeyError s390x failed as follows: =================================== FAILURES =================================== _______________________ test_calendar_cftime_2D[365_day] _______________________ [gw0] linux -- Python 3.11.1 /usr/bin/python3 data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)> array([[[0.5488135 , 0.71518937, 0.60276338, ..., 0.02010755, ...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") ) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_accessor_dt.py:428: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/dataarray.py:411: in __init__ data = as_compatible_data(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:249: in as_compatible_data data = _possibly_convert_objects(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:191: in _possibly_convert_objects return np.asarray(pd.Series(values.ravel())).reshape(values.shape) /usr/lib64/python3.11/site-packages/pandas/core/series.py:470: in __init__ data = sanitize_array(data, index, dtype, copy) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:597: in sanitize_array subarr = _try_cast(data, dtype, copy, raise_cast_failure) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:775: in _try_cast return sanitize_to_nanoseconds(arr, copy=copy) /usr/lib64/python3.11/site-packages/pandas/core/dtypes/cast.py:1428: in sanitize_to_nanoseconds values = astype_overflowsafe(values, dtype=DT64NS_DTYPE) pandas/_libs/tslibs/np_datetime.pyx:288: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:379: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:368: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: -809793270280017-04-14 16:00:00 pandas/_libs/tslibs/np_datetime.pyx:212: OutOfBoundsDatetime _______________________ test_calendar_cftime_2D[360_day] _______________________ [gw0] linux -- Python 3.11.1 /usr/bin/python3 data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)> array([[[0.5488135 , 0.71518937, 0.60276338, ..., 0.02010755, ...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") ) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_accessor_dt.py:428: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/dataarray.py:411: in __init__ data = as_compatible_data(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:249: in as_compatible_data data = _possibly_convert_objects(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:191: in _possibly_convert_objects return np.asarray(pd.Series(values.ravel())).reshape(values.shape) /usr/lib64/python3.11/site-packages/pandas/core/series.py:470: in __init__ data = sanitize_array(data, index, dtype, copy) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:597: in sanitize_array subarr = _try_cast(data, dtype, copy, raise_cast_failure) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:775: in _try_cast return sanitize_to_nanoseconds(arr, copy=copy) /usr/lib64/python3.11/site-packages/pandas/core/dtypes/cast.py:1428: in sanitize_to_nanoseconds values = astype_overflowsafe(values, dtype=DT64NS_DTYPE) pandas/_libs/tslibs/np_datetime.pyx:288: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:379: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:368: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: -809793270280017-04-14 16:00:00 pandas/_libs/tslibs/np_datetime.pyx:212: OutOfBoundsDatetime _______________________ test_calendar_cftime_2D[julian] ________________________ [gw0] linux -- Python 3.11.1 /usr/bin/python3 data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)> array([[[0.5488135 , 0.71518937, 0.60276338, ..., 0.02010755, ...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") ) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_accessor_dt.py:428: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/dataarray.py:411: in __init__ data = as_compatible_data(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:249: in as_compatible_data data = _possibly_convert_objects(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:191: in _possibly_convert_objects return np.asarray(pd.Series(values.ravel())).reshape(values.shape) /usr/lib64/python3.11/site-packages/pandas/core/series.py:470: in __init__ data = sanitize_array(data, index, dtype, copy) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:597: in sanitize_array subarr = _try_cast(data, dtype, copy, raise_cast_failure) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:775: in _try_cast return sanitize_to_nanoseconds(arr, copy=copy) /usr/lib64/python3.11/site-packages/pandas/core/dtypes/cast.py:1428: in sanitize_to_nanoseconds values = astype_overflowsafe(values, dtype=DT64NS_DTYPE) pandas/_libs/tslibs/np_datetime.pyx:288: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:379: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:368: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: -809793270280017-04-14 16:00:00 pandas/_libs/tslibs/np_datetime.pyx:212: OutOfBoundsDatetime ______________________ test_calendar_cftime_2D[all_leap] _______________________ [gw0] linux -- Python 3.11.1 /usr/bin/python3 data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)> array([[[0.5488135 , 0.71518937, 0.60276338, ..., 0.02010755, ...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") ) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_accessor_dt.py:428: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/dataarray.py:411: in __init__ data = as_compatible_data(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:249: in as_compatible_data data = _possibly_convert_objects(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:191: in _possibly_convert_objects return np.asarray(pd.Series(values.ravel())).reshape(values.shape) /usr/lib64/python3.11/site-packages/pandas/core/series.py:470: in __init__ data = sanitize_array(data, index, dtype, copy) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:597: in sanitize_array subarr = _try_cast(data, dtype, copy, raise_cast_failure) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:775: in _try_cast return sanitize_to_nanoseconds(arr, copy=copy) /usr/lib64/python3.11/site-packages/pandas/core/dtypes/cast.py:1428: in sanitize_to_nanoseconds values = astype_overflowsafe(values, dtype=DT64NS_DTYPE) pandas/_libs/tslibs/np_datetime.pyx:288: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:379: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:368: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: -809793270280017-04-14 16:00:00 pandas/_libs/tslibs/np_datetime.pyx:212: OutOfBoundsDatetime _______________________ test_calendar_cftime_2D[366_day] _______________________ [gw0] linux -- Python 3.11.1 /usr/bin/python3 data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)> array([[[0.5488135 , 0.71518937, 0.60276338, ..., 0.02010755, ...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") ) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_accessor_dt.py:428: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/dataarray.py:411: in __init__ data = as_compatible_data(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:249: in as_compatible_data data = _possibly_convert_objects(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:191: in _possibly_convert_objects return np.asarray(pd.Series(values.ravel())).reshape(values.shape) /usr/lib64/python3.11/site-packages/pandas/core/series.py:470: in __init__ data = sanitize_array(data, index, dtype, copy) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:597: in sanitize_array subarr = _try_cast(data, dtype, copy, raise_cast_failure) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:775: in _try_cast return sanitize_to_nanoseconds(arr, copy=copy) /usr/lib64/python3.11/site-packages/pandas/core/dtypes/cast.py:1428: in sanitize_to_nanoseconds values = astype_overflowsafe(values, dtype=DT64NS_DTYPE) pandas/_libs/tslibs/np_datetime.pyx:288: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:379: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:368: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: -809793270280017-04-14 16:00:00 pandas/_libs/tslibs/np_datetime.pyx:212: OutOfBoundsDatetime ______________________ test_calendar_cftime_2D[gregorian] ______________________ [gw0] linux -- Python 3.11.1 /usr/bin/python3 data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)> array([[[0.5488135 , 0.71518937, 0.60276338, ..., 0.02010755, ...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") ) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_accessor_dt.py:428: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/dataarray.py:411: in __init__ data = as_compatible_data(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:249: in as_compatible_data data = _possibly_convert_objects(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:191: in _possibly_convert_objects return np.asarray(pd.Series(values.ravel())).reshape(values.shape) /usr/lib64/python3.11/site-packages/pandas/core/series.py:470: in __init__ data = sanitize_array(data, index, dtype, copy) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:597: in sanitize_array subarr = _try_cast(data, dtype, copy, raise_cast_failure) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:775: in _try_cast return sanitize_to_nanoseconds(arr, copy=copy) /usr/lib64/python3.11/site-packages/pandas/core/dtypes/cast.py:1428: in sanitize_to_nanoseconds values = astype_overflowsafe(values, dtype=DT64NS_DTYPE) pandas/_libs/tslibs/np_datetime.pyx:288: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:379: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:368: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: -809793270280017-04-14 16:00:00 pandas/_libs/tslibs/np_datetime.pyx:212: OutOfBoundsDatetime _________________ test_calendar_cftime_2D[proleptic_gregorian] _________________ [gw0] linux -- Python 3.11.1 /usr/bin/python3 data = <xarray.DataArray 'data' (lon: 10, lat: 10, time: 100)> array([[[0.5488135 , 0.71518937, 0.60276338, ..., 0.02010755, ...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") ) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_accessor_dt.py:428: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/dataarray.py:411: in __init__ data = as_compatible_data(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:249: in as_compatible_data data = _possibly_convert_objects(data) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/variable.py:191: in _possibly_convert_objects return np.asarray(pd.Series(values.ravel())).reshape(values.shape) /usr/lib64/python3.11/site-packages/pandas/core/series.py:470: in __init__ data = sanitize_array(data, index, dtype, copy) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:597: in sanitize_array subarr = _try_cast(data, dtype, copy, raise_cast_failure) /usr/lib64/python3.11/site-packages/pandas/core/construction.py:775: in _try_cast return sanitize_to_nanoseconds(arr, copy=copy) /usr/lib64/python3.11/site-packages/pandas/core/dtypes/cast.py:1428: in sanitize_to_nanoseconds values = astype_overflowsafe(values, dtype=DT64NS_DTYPE) pandas/_libs/tslibs/np_datetime.pyx:288: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:379: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? pandas/_libs/tslibs/np_datetime.pyx:368: in pandas._libs.tslibs.np_datetime.astype_overflowsafe ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: -809793270280017-04-14 16:00:00 pandas/_libs/tslibs/np_datetime.pyx:212: OutOfBoundsDatetime _________________________ TestNCZarr.test_open_nczarr __________________________ [gw1] linux -- Python 3.11.1 /usr/bin/python3 zarr_obj = <zarr.core.Array '/dim2' (9,) float64 read-only> dimension_key = '_ARRAY_DIMENSIONS', try_nczarr = True def _get_zarr_dims_and_attrs(zarr_obj, dimension_key, try_nczarr): # Zarr arrays do not have dimensions. To get around this problem, we add # an attribute that specifies the dimension. We have to hide this attribute # when we send the attributes to the user. # zarr_obj can be either a zarr group or zarr array try: # Xarray-Zarr > dimensions = zarr_obj.attrs[dimension_key] /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:191: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <zarr.attrs.Attributes object at 0x3ff40a6c950> item = '_ARRAY_DIMENSIONS' def __getitem__(self, item): > return self.asdict()[item] E KeyError: '_ARRAY_DIMENSIONS' /usr/lib/python3.11/site-packages/zarr/attrs.py:74: KeyError During handling of the above exception, another exception occurred: zarr_obj = <zarr.core.Array '/dim2' (9,) float64 read-only> dimension_key = '_ARRAY_DIMENSIONS', try_nczarr = True def _get_zarr_dims_and_attrs(zarr_obj, dimension_key, try_nczarr): # Zarr arrays do not have dimensions. To get around this problem, we add # an attribute that specifies the dimension. We have to hide this attribute # when we send the attributes to the user. # zarr_obj can be either a zarr group or zarr array try: # Xarray-Zarr dimensions = zarr_obj.attrs[dimension_key] except KeyError as e: if not try_nczarr: raise KeyError( f"Zarr object is missing the attribute `{dimension_key}`, which is " "required for xarray to determine variable dimensions." ) from e # NCZarr defines dimensions through metadata in .zarray zarray_path = os.path.join(zarr_obj.path, ".zarray") zarray = json.loads(zarr_obj.store[zarray_path]) try: # NCZarr uses Fully Qualified Names dimensions = [ > os.path.basename(dim) for dim in zarray["_NCZARR_ARRAY"]["dimrefs"] ] E KeyError: '_NCZARR_ARRAY' /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:205: KeyError The above exception was the direct cause of the following exception: self = <xarray.tests.test_backends.TestNCZarr object at 0x3ff492f2e50> def test_open_nczarr(self): with create_tmp_file(suffix=".zarr") as tmp: expected = self._create_nczarr(tmp) > actual = xr.open_zarr(tmp, consolidated=False) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_backends.py:5538: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:789: in open_zarr ds = open_dataset( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/api.py:531: in open_dataset backend_ds = backend.open_dataset( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:851: in open_dataset ds = store_entrypoint.open_dataset( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/store.py:26: in open_dataset vars, attrs = store.load() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/common.py:125: in load (_decode_variable_name(k), v) for k, v in self.get_variables().items() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:461: in get_variables return FrozenDict( /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/core/utils.py:474: in FrozenDict return Frozen(dict(*args, **kwargs)) /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:462: in <genexpr> (k, self.open_store_variable(k, v)) for k, v in self.zarr_group.arrays() /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:443: in open_store_variable dimensions, attributes = _get_zarr_dims_and_attrs( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ zarr_obj = <zarr.core.Array '/dim2' (9,) float64 read-only> dimension_key = '_ARRAY_DIMENSIONS', try_nczarr = True def _get_zarr_dims_and_attrs(zarr_obj, dimension_key, try_nczarr): # Zarr arrays do not have dimensions. To get around this problem, we add # an attribute that specifies the dimension. We have to hide this attribute # when we send the attributes to the user. # zarr_obj can be either a zarr group or zarr array try: # Xarray-Zarr dimensions = zarr_obj.attrs[dimension_key] except KeyError as e: if not try_nczarr: raise KeyError( f"Zarr object is missing the attribute `{dimension_key}`, which is " "required for xarray to determine variable dimensions." ) from e # NCZarr defines dimensions through metadata in .zarray zarray_path = os.path.join(zarr_obj.path, ".zarray") zarray = json.loads(zarr_obj.store[zarray_path]) try: # NCZarr uses Fully Qualified Names dimensions = [ os.path.basename(dim) for dim in zarray["_NCZARR_ARRAY"]["dimrefs"] ] except KeyError as e: > raise KeyError( f"Zarr object is missing the attribute `{dimension_key}` and the NCZarr metadata, " "which are required for xarray to determine variable dimensions." ) from e E KeyError: 'Zarr object is missing the attribute `_ARRAY_DIMENSIONS` and the NCZarr metadata, which are required for xarray to determine variable dimensions.' /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/backends/zarr.py:208: KeyError __________________________ TestPandasIndex.test_join ___________________________ [gw0] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_indexes.TestPandasIndex object at 0x3ff3f63ecd0> def test_join(self) -> None: index1 = PandasIndex(["a", "aa", "aaa"], "x", coord_dtype="<U3") index2 = PandasIndex(["aa", "aaa", "aaaa"], "x", coord_dtype="<U4") expected = PandasIndex(["aa", "aaa"], "x") actual = index1.join(index2) print(actual.index) assert actual.equals(expected) > assert actual.coord_dtype == "<U4" E AssertionError: assert dtype('>U4') == '<U4' E + where dtype('>U4') = <xarray.core.indexes.PandasIndex object at 0x3ff3e3d8eb0>.coord_dtype /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_indexes.py:267: AssertionError ----------------------------- Captured stdout call ----------------------------- Index(['aa', 'aaa'], dtype='object', name='x') _______________________ TestPandasMultiIndex.test_concat _______________________ [gw0] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_indexes.TestPandasMultiIndex object at 0x3ff3f63cf50> def test_concat(self) -> None: pd_midx = pd.MultiIndex.from_product( [[0, 1, 2], ["a", "b"]], names=("foo", "bar") ) level_coords_dtype = {"foo": np.int32, "bar": "<U1"} midx1 = PandasMultiIndex( pd_midx[:2], "x", level_coords_dtype=level_coords_dtype ) midx2 = PandasMultiIndex( pd_midx[2:], "x", level_coords_dtype=level_coords_dtype ) expected = PandasMultiIndex(pd_midx, "x", level_coords_dtype=level_coords_dtype) actual = PandasMultiIndex.concat([midx1, midx2], "x") assert actual.equals(expected) > assert actual.level_coords_dtype == expected.level_coords_dtype E AssertionError: assert {'bar': dtype...type('int32')} == {'bar': '<U1'...numpy.int32'>} E Omitting 1 identical items, use -vv to show E Differing items: E {'bar': dtype('>U1')} != {'bar': '<U1'} E Use -v to get more diff /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_indexes.py:395: AssertionError ________________________ TestPandasMultiIndex.test_join ________________________ [gw0] linux -- Python 3.11.1 /usr/bin/python3 self = <xarray.tests.test_indexes.TestPandasMultiIndex object at 0x3ff3f63c490> def test_join(self): midx = pd.MultiIndex.from_product([["a", "aa"], [1, 2]], names=("one", "two")) level_coords_dtype = {"one": "<U2", "two": "i"} index1 = PandasMultiIndex(midx, "x", level_coords_dtype=level_coords_dtype) index2 = PandasMultiIndex(midx[0:2], "x", level_coords_dtype=level_coords_dtype) actual = index1.join(index2) assert actual.equals(index2) > assert actual.level_coords_dtype == level_coords_dtype E AssertionError: assert {'one': dtype...type('int32')} == {'one': '<U2', 'two': 'i'} E Omitting 1 identical items, use -vv to show E Differing items: E {'one': dtype('>U2')} != {'one': '<U2'} E Use -v to get more diff /builddir/build/BUILDROOT/python-xarray-2022.6.0-1.fc38.s390x/usr/lib/python3.11/site-packages/xarray/tests/test_indexes.py:493: AssertionError
Bumping to 2022.12.0, and building locally or on koji https://koji.fedoraproject.org/koji/taskinfo?taskID=95955445, I only get one failure in TestNCZarr.test_open_nczarr. But that's the test that was OOMing due to netcdf, so I'm worried there's still a bug somewhere in netcdf.
FEDORA-2023-dc5dba2e7f has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-dc5dba2e7f
FEDORA-2023-00b3507d1a has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-00b3507d1a
FEDORA-2023-dc5dba2e7f has been pushed to the Fedora 37 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-dc5dba2e7f` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-dc5dba2e7f See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2023-00b3507d1a has been pushed to the Fedora 38 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-00b3507d1a` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-00b3507d1a See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2023-dc5dba2e7f has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2023-00b3507d1a has been pushed to the Fedora 38 stable repository. If problem still persists, please make note of it in this bug report.