Bug#1015067: python-shapely: FTBFS: AttributeError: can't set attribute '_is_empty'

Lucas Nussbaum lucas at debian.org
Sat Jul 16 14:32:22 BST 2022


Source: python-shapely
Version: 1.8.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20220716 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_test
> I: pybuild base:239: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build; python3.9 -m pytest tests
> ============================= test session starts ==============================
> platform linux -- Python 3.9.13, pytest-7.1.2, pluggy-1.0.0
> numpy: 1.21.5
> rootdir: /<<PKGBUILDDIR>>, configfile: setup.cfg
> collected 481 items
> 
> tests/test_affinity.py ..............                                    [  2%]
> tests/test_binascii_hex.txt .                                            [  3%]
> tests/test_box.py ...                                                    [  3%]
> tests/test_buffer.py ........                                            [  5%]
> tests/test_cga.py ....                                                   [  6%]
> tests/test_clip_by_rect.py .......xx                                     [  8%]
> tests/test_collection.py ................                                [ 11%]
> tests/test_coords.py ...                                                 [ 12%]
> tests/test_create_inconsistent_dimensionality.py ...........             [ 14%]
> tests/test_default_impl.py ..                                            [ 14%]
> tests/test_delaunay.py ...                                               [ 15%]
> tests/test_delegated.py ..                                               [ 15%]
> tests/test_dlls.py ..                                                    [ 16%]
> tests/test_doctests.py .                                                 [ 16%]
> tests/test_emptiness.py ...............                                  [ 19%]
> tests/test_empty_polygons.py ....                                        [ 20%]
> tests/test_equality.py ...                                               [ 20%]
> tests/test_geointerface.py .Exception ignored in: <function BaseGeometry.__del__ at 0x7fe962ffff70>
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/geometry/base.py", line 209, in __del__
>     self._empty(val=None)
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/geometry/base.py", line 199, in _empty
>     self._is_empty = True
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/geometry/proxy.py", line 44, in __setattr__
>     object.__setattr__(self, name, value)
> AttributeError: can't set attribute
> ...                                          [ 21%]
> tests/test_geometry_base.py ............                                 [ 24%]
> tests/test_geomseq.py .                                                  [ 24%]
> tests/test_geos_err_handler.py ......                                    [ 25%]
> tests/test_getitem.py ...........                                        [ 28%]
> tests/test_hash.py ....                                                  [ 28%]
> tests/test_invalid_geometries.py .                                       [ 29%]
> tests/test_iterops.py ....                                               [ 29%]
> tests/test_linear_referencing.py .........                               [ 31%]
> tests/test_linemerge.py .                                                [ 32%]
> tests/test_linestring.py ..............................                  [ 38%]
> tests/test_locale.py s                                                   [ 38%]
> tests/test_make_valid.py ..                                              [ 38%]
> tests/test_mapping.py ..                                                 [ 39%]
> tests/test_minimum_clearance.py ....                                     [ 40%]
> tests/test_minimum_rotated_rectangle.py ..                               [ 40%]
> tests/test_multilinestring.py ..........                                 [ 42%]
> tests/test_multipoint.py ...............                                 [ 45%]
> tests/test_multipolygon.py ........                                      [ 47%]
> tests/test_ndarrays.py ......                                            [ 48%]
> tests/test_nearest.py .                                                  [ 48%]
> tests/test_operations.py .....                                           [ 49%]
> tests/test_operators.py ....                                             [ 50%]
> tests/test_orient.py ........                                            [ 52%]
> tests/test_parallel_offset.py .F                                         [ 52%]
> tests/test_persist.py ....                                               [ 53%]
> tests/test_pickle.py ......                                              [ 54%]
> tests/test_point.py ......Exception ignored in: <function BaseGeometry.__del__ at 0x7fe962ffff70>
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/geometry/base.py", line 209, in __del__
>     self._empty(val=None)
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/geometry/base.py", line 199, in _empty
>     self._is_empty = True
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/geometry/proxy.py", line 44, in __setattr__
>     object.__setattr__(self, name, value)
> AttributeError: can't set attribute
> ...............                                [ 59%]
> tests/test_polygon.py ....................................               [ 66%]
> tests/test_polygonize.py ..                                              [ 67%]
> tests/test_polylabel.py ......                                           [ 68%]
> tests/test_predicates.py ....                                            [ 69%]
> tests/test_prepared.py ......                                            [ 70%]
> tests/test_products_z.py .                                               [ 70%]
> tests/test_shape.py .............                                        [ 73%]
> tests/test_shared_paths.py ...                                           [ 74%]
> tests/test_singularity.py ..                                             [ 74%]
> tests/test_snap.py .                                                     [ 74%]
> tests/test_split.py .................                                    [ 78%]
> tests/test_strtree.py ...........................                        [ 83%]
> tests/test_styles.py ..                                                  [ 84%]
> tests/test_substring.py .............                                    [ 86%]
> tests/test_svg.py .......                                                [ 88%]
> tests/test_transform.py ..........                                       [ 90%]
> tests/test_union.py ...                                                  [ 91%]
> tests/test_validation.py .                                               [ 91%]
> tests/test_vectorized.py ...........                                     [ 93%]
> tests/test_voronoi_diagram.py ............                               [ 96%]
> tests/test_wkb.py ...........                                            [ 98%]
> tests/test_wkt.py .......                                                [ 99%]
> tests/test_xy.py .                                                       [100%]
> 
> =================================== FAILURES ===================================
> ______________ OperationsTestCase.test_parallel_offset_linestring ______________
> 
> self = <tests.test_parallel_offset.OperationsTestCase testMethod=test_parallel_offset_linestring>
> 
>     def test_parallel_offset_linestring(self):
>         line1 = LineString([(0, 0), (10, 0)])
>         left = line1.parallel_offset(5, 'left')
>         self.assertEqual(left, LineString([(0, 5), (10, 5)]))
>         right = line1.parallel_offset(5, 'right')
> >       self.assertEqual(right, LineString([(10, -5), (0, -5)]))
> E       AssertionError: <shapely.geometry.linestring.LineString object at 0x7fe9a2e19520> != <shapely.geometry.linestring.LineString object at 0x7fe9a2e190a0>
> 
> tests/test_parallel_offset.py:12: AssertionError
> =============================== warnings summary ===============================
> .pybuild/cpython3_3.9_shapely/build/tests/test_collection.py: 2 warnings
> .pybuild/cpython3_3.9_shapely/build/tests/test_emptiness.py: 1 warning
> .pybuild/cpython3_3.9_shapely/build/tests/test_geointerface.py: 1 warning
> .pybuild/cpython3_3.9_shapely/build/tests/test_linestring.py: 3 warnings
> .pybuild/cpython3_3.9_shapely/build/tests/test_multilinestring.py: 2 warnings
> .pybuild/cpython3_3.9_shapely/build/tests/test_multipoint.py: 3 warnings
> .pybuild/cpython3_3.9_shapely/build/tests/test_multipolygon.py: 2 warnings
> .pybuild/cpython3_3.9_shapely/build/tests/test_ndarrays.py: 3 warnings
> .pybuild/cpython3_3.9_shapely/build/tests/test_point.py: 3 warnings
> .pybuild/cpython3_3.9_shapely/build/tests/test_polygon.py: 4 warnings
>   /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function BaseGeometry.__del__ at 0x7fe962ffff70>
>   
>   Traceback (most recent call last):
>     File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/geometry/base.py", line 209, in __del__
>       self._empty(val=None)
>     File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/geometry/base.py", line 199, in _empty
>       self._is_empty = True
>     File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/geometry/proxy.py", line 44, in __setattr__
>       object.__setattr__(self, name, value)
>   AttributeError: can't set attribute
>   
>     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> 
> .pybuild/cpython3_3.9_shapely/build/tests/test_linear_referencing.py::LinearReferencingTestCase::test_not_supported_project
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/linref.py:12: ShapelyDeprecationWarning: GeometryTypeError will derive from ShapelyError and not TypeError or ValueError in Shapely 2.0.
>     raise GeometryTypeError("Only linear types support this operation")
> 
> .pybuild/cpython3_3.9_shapely/build/tests/test_shared_paths.py::SharedPaths::test_wrong_type
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/ops.py:394: ShapelyDeprecationWarning: GeometryTypeError will derive from ShapelyError and not TypeError or ValueError in Shapely 2.0.
>     raise GeometryTypeError("First geometry must be a LineString")
> 
> .pybuild/cpython3_3.9_shapely/build/tests/test_shared_paths.py::SharedPaths::test_wrong_type
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/ops.py:396: ShapelyDeprecationWarning: GeometryTypeError will derive from ShapelyError and not TypeError or ValueError in Shapely 2.0.
>     raise GeometryTypeError("Second geometry must be a LineString")
> 
> .pybuild/cpython3_3.9_shapely/build/tests/test_split.py::TestSplitPolygon::test_split_poly_with_other
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/ops.py:564: ShapelyDeprecationWarning: GeometryTypeError will derive from ShapelyError and not TypeError or ValueError in Shapely 2.0.
>     raise GeometryTypeError("Splitting a Polygon with a %s is not supported" % splitter.type)
> 
> .pybuild/cpython3_3.9_shapely/build/tests/test_substring.py::SubstringTestCase::test_raise_type_error
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build/shapely/ops.py:634: ShapelyDeprecationWarning: GeometryTypeError will derive from ShapelyError and not TypeError or ValueError in Shapely 2.0.
>     raise GeometryTypeError("Can only calculate a substring of LineString geometries. A %s was provided." % geom.type)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED tests/test_parallel_offset.py::OperationsTestCase::test_parallel_offset_linestring
> ======= 1 failed, 477 passed, 1 skipped, 2 xfailed, 29 warnings in 1.32s =======
> E: pybuild pybuild:369: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_shapely/build; python3.9 -m pytest tests
> I: pybuild base:239: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build; python3.10 -m pytest tests
> ============================= test session starts ==============================
> platform linux -- Python 3.10.5, pytest-7.1.2, pluggy-1.0.0
> numpy: 1.21.5
> rootdir: /<<PKGBUILDDIR>>, configfile: setup.cfg
> collected 481 items
> 
> tests/test_affinity.py ..............                                    [  2%]
> tests/test_binascii_hex.txt .                                            [  3%]
> tests/test_box.py ...                                                    [  3%]
> tests/test_buffer.py ........                                            [  5%]
> tests/test_cga.py ....                                                   [  6%]
> tests/test_clip_by_rect.py .......xx                                     [  8%]
> tests/test_collection.py ................                                [ 11%]
> tests/test_coords.py ...                                                 [ 12%]
> tests/test_create_inconsistent_dimensionality.py ...........             [ 14%]
> tests/test_default_impl.py ..                                            [ 14%]
> tests/test_delaunay.py ...                                               [ 15%]
> tests/test_delegated.py ..                                               [ 15%]
> tests/test_dlls.py ..                                                    [ 16%]
> tests/test_doctests.py .                                                 [ 16%]
> tests/test_emptiness.py ...............                                  [ 19%]
> tests/test_empty_polygons.py ....                                        [ 20%]
> tests/test_equality.py ...                                               [ 20%]
> tests/test_geointerface.py .Exception ignored in: <function BaseGeometry.__del__ at 0x7f8bc9ae4700>
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/geometry/base.py", line 209, in __del__
>     self._empty(val=None)
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/geometry/base.py", line 199, in _empty
>     self._is_empty = True
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/geometry/proxy.py", line 44, in __setattr__
>     object.__setattr__(self, name, value)
> AttributeError: can't set attribute '_is_empty'
> ...                                          [ 21%]
> tests/test_geometry_base.py ............                                 [ 24%]
> tests/test_geomseq.py .                                                  [ 24%]
> tests/test_geos_err_handler.py ......                                    [ 25%]
> tests/test_getitem.py ...........                                        [ 28%]
> tests/test_hash.py ....                                                  [ 28%]
> tests/test_invalid_geometries.py .                                       [ 29%]
> tests/test_iterops.py ....                                               [ 29%]
> tests/test_linear_referencing.py .........                               [ 31%]
> tests/test_linemerge.py .                                                [ 32%]
> tests/test_linestring.py ..............................                  [ 38%]
> tests/test_locale.py s                                                   [ 38%]
> tests/test_make_valid.py ..                                              [ 38%]
> tests/test_mapping.py ..                                                 [ 39%]
> tests/test_minimum_clearance.py ....                                     [ 40%]
> tests/test_minimum_rotated_rectangle.py ..                               [ 40%]
> tests/test_multilinestring.py ..........                                 [ 42%]
> tests/test_multipoint.py ...............                                 [ 45%]
> tests/test_multipolygon.py ........                                      [ 47%]
> tests/test_ndarrays.py ......                                            [ 48%]
> tests/test_nearest.py .                                                  [ 48%]
> tests/test_operations.py .....                                           [ 49%]
> tests/test_operators.py ....                                             [ 50%]
> tests/test_orient.py ........                                            [ 52%]
> tests/test_parallel_offset.py .F                                         [ 52%]
> tests/test_persist.py ....                                               [ 53%]
> tests/test_pickle.py ......                                              [ 54%]
> tests/test_point.py ......Exception ignored in: <function BaseGeometry.__del__ at 0x7f8bc9ae4700>
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/geometry/base.py", line 209, in __del__
>     self._empty(val=None)
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/geometry/base.py", line 199, in _empty
>     self._is_empty = True
>   File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/geometry/proxy.py", line 44, in __setattr__
>     object.__setattr__(self, name, value)
> AttributeError: can't set attribute '_is_empty'
> ...............                                [ 59%]
> tests/test_polygon.py ....................................               [ 66%]
> tests/test_polygonize.py ..                                              [ 67%]
> tests/test_polylabel.py ......                                           [ 68%]
> tests/test_predicates.py ....                                            [ 69%]
> tests/test_prepared.py ......                                            [ 70%]
> tests/test_products_z.py .                                               [ 70%]
> tests/test_shape.py .............                                        [ 73%]
> tests/test_shared_paths.py ...                                           [ 74%]
> tests/test_singularity.py ..                                             [ 74%]
> tests/test_snap.py .                                                     [ 74%]
> tests/test_split.py .................                                    [ 78%]
> tests/test_strtree.py ...........................                        [ 83%]
> tests/test_styles.py ..                                                  [ 84%]
> tests/test_substring.py .............                                    [ 86%]
> tests/test_svg.py .......                                                [ 88%]
> tests/test_transform.py ..........                                       [ 90%]
> tests/test_union.py ...                                                  [ 91%]
> tests/test_validation.py .                                               [ 91%]
> tests/test_vectorized.py ...........                                     [ 93%]
> tests/test_voronoi_diagram.py ............                               [ 96%]
> tests/test_wkb.py ...........                                            [ 98%]
> tests/test_wkt.py .......                                                [ 99%]
> tests/test_xy.py .                                                       [100%]
> 
> =================================== FAILURES ===================================
> ______________ OperationsTestCase.test_parallel_offset_linestring ______________
> 
> self = <tests.test_parallel_offset.OperationsTestCase testMethod=test_parallel_offset_linestring>
> 
>     def test_parallel_offset_linestring(self):
>         line1 = LineString([(0, 0), (10, 0)])
>         left = line1.parallel_offset(5, 'left')
>         self.assertEqual(left, LineString([(0, 5), (10, 5)]))
>         right = line1.parallel_offset(5, 'right')
> >       self.assertEqual(right, LineString([(10, -5), (0, -5)]))
> E       AssertionError: <shapely.geometry.linestring.LineString object at 0x7f8bc907cf40> != <shapely.geometry.linestring.LineString object at 0x7f8bc907da20>
> 
> tests/test_parallel_offset.py:12: AssertionError
> =============================== warnings summary ===============================
> .pybuild/cpython3_3.10_shapely/build/tests/test_collection.py: 2 warnings
> .pybuild/cpython3_3.10_shapely/build/tests/test_emptiness.py: 1 warning
> .pybuild/cpython3_3.10_shapely/build/tests/test_geointerface.py: 1 warning
> .pybuild/cpython3_3.10_shapely/build/tests/test_linestring.py: 3 warnings
> .pybuild/cpython3_3.10_shapely/build/tests/test_multilinestring.py: 2 warnings
> .pybuild/cpython3_3.10_shapely/build/tests/test_multipoint.py: 3 warnings
> .pybuild/cpython3_3.10_shapely/build/tests/test_multipolygon.py: 2 warnings
> .pybuild/cpython3_3.10_shapely/build/tests/test_ndarrays.py: 3 warnings
> .pybuild/cpython3_3.10_shapely/build/tests/test_point.py: 3 warnings
> .pybuild/cpython3_3.10_shapely/build/tests/test_polygon.py: 4 warnings
>   /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function BaseGeometry.__del__ at 0x7f8bc9ae4700>
>   
>   Traceback (most recent call last):
>     File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/geometry/base.py", line 209, in __del__
>       self._empty(val=None)
>     File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/geometry/base.py", line 199, in _empty
>       self._is_empty = True
>     File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/geometry/proxy.py", line 44, in __setattr__
>       object.__setattr__(self, name, value)
>   AttributeError: can't set attribute '_is_empty'
>   
>     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> 
> .pybuild/cpython3_3.10_shapely/build/tests/test_linear_referencing.py::LinearReferencingTestCase::test_not_supported_project
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/linref.py:12: ShapelyDeprecationWarning: GeometryTypeError will derive from ShapelyError and not TypeError or ValueError in Shapely 2.0.
>     raise GeometryTypeError("Only linear types support this operation")
> 
> .pybuild/cpython3_3.10_shapely/build/tests/test_shared_paths.py::SharedPaths::test_wrong_type
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/ops.py:394: ShapelyDeprecationWarning: GeometryTypeError will derive from ShapelyError and not TypeError or ValueError in Shapely 2.0.
>     raise GeometryTypeError("First geometry must be a LineString")
> 
> .pybuild/cpython3_3.10_shapely/build/tests/test_shared_paths.py::SharedPaths::test_wrong_type
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/ops.py:396: ShapelyDeprecationWarning: GeometryTypeError will derive from ShapelyError and not TypeError or ValueError in Shapely 2.0.
>     raise GeometryTypeError("Second geometry must be a LineString")
> 
> .pybuild/cpython3_3.10_shapely/build/tests/test_split.py::TestSplitPolygon::test_split_poly_with_other
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/ops.py:564: ShapelyDeprecationWarning: GeometryTypeError will derive from ShapelyError and not TypeError or ValueError in Shapely 2.0.
>     raise GeometryTypeError("Splitting a Polygon with a %s is not supported" % splitter.type)
> 
> .pybuild/cpython3_3.10_shapely/build/tests/test_substring.py::SubstringTestCase::test_raise_type_error
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build/shapely/ops.py:634: ShapelyDeprecationWarning: GeometryTypeError will derive from ShapelyError and not TypeError or ValueError in Shapely 2.0.
>     raise GeometryTypeError("Can only calculate a substring of LineString geometries. A %s was provided." % geom.type)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info ============================
> FAILED tests/test_parallel_offset.py::OperationsTestCase::test_parallel_offset_linestring
> ======= 1 failed, 477 passed, 1 skipped, 2 xfailed, 29 warnings in 1.30s =======
> E: pybuild pybuild:369: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_shapely/build; python3.10 -m pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.9 3.10" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2022/07/16/python-shapely_1.8.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20220716;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20220716&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the Pkg-grass-devel mailing list