Bug 1969172 - F35FailsToInstall: python3-xarray. Fails to build with Python 3.10: AttributeError: 'dict' object has no attribute 'collection_annotations'
Summary: F35FailsToInstall: python3-xarray. Fails to build with Python 3.10: Attribute...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-xarray
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Elliott Sales de Andrade
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1768152 1941557 1968947 1969178
Blocks: F35FTBFS F35FailsToInstall PYTHON3.10 1968870 1968894 1969018 1969106 1969173
TreeView+ depends on / blocked
 
Reported: 2021-06-07 23:49 UTC by Miro Hrončok
Modified: 2021-06-18 00:26 UTC (History)
4 users (show)

Fixed In Version: python-xarray-0.18.2-1.fc35
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-06-17 12:56:47 UTC
Type: ---


Attachments (Terms of Use)

Description Miro Hrončok 2021-06-07 23:49:45 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok@redhat.com).

Your package (python-xarray) Fails To Install in Fedora 35:

can't install python3-xarray:
  - nothing provides python(abi) = 3.9 needed by python3-xarray-0.17.0-1.fc35.noarch
  - nothing provides python3.9dist(numpy) >= 1.15 needed by python3-xarray-0.17.0-1.fc35.noarch
  - nothing provides python3.9dist(pandas) >= 0.25 needed by python3-xarray-0.17.0-1.fc35.noarch
  - nothing provides python3.9dist(setuptools) >= 40.4 needed by python3-xarray-0.17.0-1.fc35.noarch
  
If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.


If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks.

P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors.

P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#updating-inter-dependent-packages

Thanks!

Comment 1 Miro Hrončok 2021-06-07 23:55:25 UTC
This bugzilla is likely a fallout from the Python 3.10 rebuild.

If your package (or some of the dependencies it has) failed to rebuild during the Python 3.10 rebuild, they now fail to install. To fix this, packages need to be rebuilt in Rawhide.

We will slowly triage the bugzillas, but we'd appreciate your help.

If you know this is blocked by an existing reported build failure or another package not yet rebuilt with Python 3.10, please mark it as such by using the "Depends On"/"Blocks" bugzilla fields. That will help us determine what failures to prioritize.

Thank you and sorry for the inconvenience. Let me know if you need any help.

Comment 2 Miro Hrončok 2021-06-15 20:53:36 UTC
Hello,

This is the first reminder (step 3 from https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/#_package_removal_for_long_standing_ftbfs_and_fti_bugs).

If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.

Comment 3 Miro Hrončok 2021-06-17 12:40:11 UTC
__________________ test_map_blocks_convert_args_to_list[obj1] __________________
[gw2] linux -- Python 3.10.0 /usr/bin/python3
obj = <xarray.Dataset>
Dimensions:  (x: 10, y: 20, z: 4)
Coordinates:
  * x        (x) int64 0 1 2 3 4 5 6 7 8 9
  * y      ...64 1 1 1 1
    e        (x, y) int64 100 101 102 103 104 105 ... 123 124 125 126 127 128
Attributes:
    test:     test
    @pytest.mark.parametrize("obj", [make_da(), make_ds()])
    def test_map_blocks_convert_args_to_list(obj):
        expected = obj + 10
        with raise_if_dask_computes():
>           actual = xr.map_blocks(operator.add, obj, [10])
/builddir/build/BUILDROOT/python-xarray-0.17.0-2.fc35.noarch/usr/lib/python3.10/site-packages/xarray/tests/test_dask.py:1121: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/builddir/build/BUILDROOT/python-xarray-0.17.0-2.fc35.noarch/usr/lib/python3.10/site-packages/xarray/core/parallel.py:563: in map_blocks
    data = dask.array.Array(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
cls = <class 'dask.array.core.Array'>
dask = <dask.highlevelgraph.HighLevelGraph object at 0x7ffee7b82770>
name = 'add-543fd685d3c1698a2e57adba52677894-c2', chunks = []
dtype = dtype('float64'), meta = array(0.), shape = None
    def __new__(cls, dask, name, chunks, dtype=None, meta=None, shape=None):
        self = super(Array, cls).__new__(cls)
        assert isinstance(dask, Mapping)
        if not isinstance(dask, HighLevelGraph):
            dask = HighLevelGraph.from_collections(name, dask, dependencies=())
        self.dask = dask
        self._name = str(name)
        meta = meta_from_array(meta, dtype=dtype)
    
        if (
            isinstance(chunks, str)
            or isinstance(chunks, tuple)
            and chunks
            and any(isinstance(c, str) for c in chunks)
        ):
            dt = meta.dtype
        else:
            dt = None
        self._chunks = normalize_chunks(chunks, shape, dtype=dt)
        if self.chunks is None:
            raise ValueError(CHUNKS_NONE_ERROR_MESSAGE)
    
        self._meta = meta_from_array(meta, ndim=self.ndim, dtype=dtype)
    
        for plugin in config.get("array_plugins", ()):
            result = plugin(self)
            if result is not None:
                self = result
    
        try:
            layer = self.dask.layers[name]
        except (AttributeError, KeyError):
            # self is no longer an Array after applying the plugins, OR
            # a plugin replaced the HighLevelGraph with a plain dict, OR
            # name is not the top layer's name (this can happen after the layer is
            # manipulated, to avoid a collision)
            pass
        else:
>           if layer.collection_annotations is None:
E           AttributeError: 'dict' object has no attribute 'collection_annotations'



FAILED tests/test_dask.py::test_map_blocks_convert_args_to_list[obj0] - Attri...
FAILED tests/test_dask.py::test_map_blocks_convert_args_to_list[obj1] - Attri...
FAILED tests/test_dask.py::test_map_blocks_dask_args - AttributeError: 'dict'...
FAILED tests/test_dask.py::test_map_blocks_add_attrs[obj0] - AttributeError: ...
FAILED tests/test_dask.py::test_map_blocks_add_attrs[obj1] - AttributeError: ...
FAILED tests/test_dask.py::test_map_blocks_change_name - AttributeError: 'dic...
FAILED tests/test_dask.py::test_map_blocks_kwargs[obj0] - AttributeError: 'di...
FAILED tests/test_dask.py::test_map_blocks_kwargs[obj1] - AttributeError: 'di...
FAILED tests/test_dask.py::test_map_blocks_to_array - AttributeError: 'dict' ...
FAILED tests/test_dask.py::test_map_blocks_da_transformations[<lambda>0] - At...
FAILED tests/test_dask.py::test_map_blocks_da_transformations[<lambda>1] - At...
FAILED tests/test_dask.py::test_map_blocks_da_transformations[<lambda>2] - At...
FAILED tests/test_dask.py::test_map_blocks_da_transformations[<lambda>3] - At...
FAILED tests/test_dask.py::test_map_blocks_da_transformations[<lambda>4] - At...
FAILED tests/test_dask.py::test_map_blocks_da_transformations[<lambda>5] - At...
FAILED tests/test_dask.py::test_map_blocks_da_transformations[<lambda>6] - At...
FAILED tests/test_dask.py::test_map_blocks_da_transformations[<lambda>7] - At...
FAILED tests/test_dask.py::test_map_blocks_ds_transformations[<lambda>0] - At...
FAILED tests/test_combine.py::test_combine_by_coords_raises_for_differing_calendars
FAILED tests/test_dask.py::test_map_blocks_ds_transformations[<lambda>1] - At...
FAILED tests/test_dask.py::test_map_blocks_ds_transformations[<lambda>2] - At...
FAILED tests/test_dask.py::test_map_blocks_ds_transformations[<lambda>3] - At...
FAILED tests/test_computation.py::test_vectorize_dask_dtype_meta - ValueError...
FAILED tests/test_dask.py::test_map_blocks_ds_transformations[<lambda>4] - At...
FAILED tests/test_dask.py::test_map_blocks_ds_transformations[<lambda>5] - At...
FAILED tests/test_dask.py::test_map_blocks_ds_transformations[<lambda>6] - At...
FAILED tests/test_dask.py::test_map_blocks_error - AttributeError: 'dict' obj...
FAILED tests/test_dask.py::test_map_blocks[obj0] - AttributeError: 'dict' obj...
FAILED tests/test_dask.py::test_map_blocks[obj1] - AttributeError: 'dict' obj...
FAILED tests/test_dask.py::test_map_blocks_ds_transformations[<lambda>7] - At...
FAILED tests/test_dask.py::test_map_blocks_da_ds_with_template[obj0] - Attrib...
FAILED tests/test_dask.py::test_map_blocks_da_ds_with_template[obj1] - Attrib...
FAILED tests/test_dask.py::test_map_blocks_template_convert_object - Attribut...
FAILED tests/test_dask.py::test_map_blocks_errors_bad_template[obj0] - Attrib...
FAILED tests/test_dask.py::test_map_blocks_errors_bad_template[obj1] - Attrib...
FAILED tests/test_dask.py::test_map_blocks_errors_bad_template_2 - AttributeE...
FAILED tests/test_dask.py::test_map_blocks_object_method[obj0] - AttributeErr...
FAILED tests/test_dask.py::test_map_blocks_object_method[obj1] - AttributeErr...
FAILED tests/test_dask.py::test_map_blocks_hlg_layers - AttributeError: 'dict...

Comment 4 Zbigniew Jędrzejewski-Szmek 2021-06-17 12:51:16 UTC
The tests pass with 0.18.2 and
--deselect=tests/test_backends.py::test_no_warning_from_dask_effective_get
--deselect=tests/test_computation.py::test_vectorize_dask_dtype_meta.
I'll push an update with that.
The first failure seems to be from the DeprecationWarnings. The second one is something more
significant, I'll leave it for QuLogic to fix ;)

Comment 5 Zbigniew Jędrzejewski-Szmek 2021-06-17 12:56:47 UTC
Built in rawhide with some tests skipped


Note You need to log in before you can comment on or make changes to this bug.