Bug#1098628: sarsen: FTBFS: E AssertionError: assert 1 == 0

Santiago Vila sanvila at debian.org
Fri Feb 21 23:29:34 GMT 2025


Package: src:sarsen
Version: 0.9.4+ds-1
Severity: serious
Tags: ftbfs trixie sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module
I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12  
* Building wheel...
running bdist_wheel
running build
running build_py
creating build/lib/sarsen
copying sarsen/sentinel1.py -> build/lib/sarsen
copying sarsen/geocoding.py -> build/lib/sarsen
copying sarsen/__init__.py -> build/lib/sarsen
copying sarsen/datamodel.py -> build/lib/sarsen
copying sarsen/radiometry.py -> build/lib/sarsen
copying sarsen/orbit.py -> build/lib/sarsen
copying sarsen/__main__.py -> build/lib/sarsen
copying sarsen/chunking.py -> build/lib/sarsen
copying sarsen/version.py -> build/lib/sarsen
copying sarsen/scene.py -> build/lib/sarsen
copying sarsen/apps.py -> build/lib/sarsen
running egg_info
creating sarsen.egg-info
writing sarsen.egg-info/PKG-INFO
writing dependency_links to sarsen.egg-info/dependency_links.txt
writing entry points to sarsen.egg-info/entry_points.txt
writing requirements to sarsen.egg-info/requires.txt
writing top-level names to sarsen.egg-info/top_level.txt
writing manifest file 'sarsen.egg-info/SOURCES.txt'
reading manifest file 'sarsen.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'sarsen.egg-info/SOURCES.txt'
copying sarsen/py.typed -> build/lib/sarsen
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/sarsen
copying build/lib/sarsen/sentinel1.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/geocoding.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/__init__.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/datamodel.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/radiometry.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/orbit.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/__main__.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/py.typed -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/chunking.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/version.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/scene.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/apps.py -> build/bdist.linux-x86_64/wheel/./sarsen
running install_egg_info
Copying sarsen.egg-info to build/bdist.linux-x86_64/wheel/./sarsen-0.9.4+ds.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/sarsen-0.9.4+ds.dist-info/WHEEL
creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/.tmp-kcw4pkvd/sarsen-0.9.4+ds-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'sarsen/__init__.py'
adding 'sarsen/__main__.py'
adding 'sarsen/apps.py'
adding 'sarsen/chunking.py'
adding 'sarsen/datamodel.py'
adding 'sarsen/geocoding.py'
adding 'sarsen/orbit.py'
adding 'sarsen/py.typed'
adding 'sarsen/radiometry.py'
adding 'sarsen/scene.py'
adding 'sarsen/sentinel1.py'
adding 'sarsen/version.py'
adding 'sarsen-0.9.4+ds.dist-info/LICENSE'
adding 'sarsen-0.9.4+ds.dist-info/METADATA'
adding 'sarsen-0.9.4+ds.dist-info/WHEEL'
adding 'sarsen-0.9.4+ds.dist-info/entry_points.txt'
adding 'sarsen-0.9.4+ds.dist-info/top_level.txt'
adding 'sarsen-0.9.4+ds.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built sarsen-0.9.4+ds-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with "installer" module
I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module
I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13  
* Building wheel...
running bdist_wheel
running build
running build_py
copying sarsen/version.py -> build/lib/sarsen
running egg_info
writing sarsen.egg-info/PKG-INFO
writing dependency_links to sarsen.egg-info/dependency_links.txt
writing entry points to sarsen.egg-info/entry_points.txt
writing requirements to sarsen.egg-info/requires.txt
writing top-level names to sarsen.egg-info/top_level.txt
reading manifest file 'sarsen.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'sarsen.egg-info/SOURCES.txt'
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/sarsen
copying build/lib/sarsen/sentinel1.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/geocoding.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/__init__.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/datamodel.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/radiometry.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/orbit.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/__main__.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/py.typed -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/chunking.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/version.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/scene.py -> build/bdist.linux-x86_64/wheel/./sarsen
copying build/lib/sarsen/apps.py -> build/bdist.linux-x86_64/wheel/./sarsen
running install_egg_info
Copying sarsen.egg-info to build/bdist.linux-x86_64/wheel/./sarsen-0.9.4+ds.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/sarsen-0.9.4+ds.dist-info/WHEEL
creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/.tmp-1a2ogwk6/sarsen-0.9.4+ds-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'sarsen/__init__.py'
adding 'sarsen/__main__.py'
adding 'sarsen/apps.py'
adding 'sarsen/chunking.py'
adding 'sarsen/datamodel.py'
adding 'sarsen/geocoding.py'
adding 'sarsen/orbit.py'
adding 'sarsen/py.typed'
adding 'sarsen/radiometry.py'
adding 'sarsen/scene.py'
adding 'sarsen/sentinel1.py'
adding 'sarsen/version.py'
adding 'sarsen-0.9.4+ds.dist-info/LICENSE'
adding 'sarsen-0.9.4+ds.dist-info/METADATA'
adding 'sarsen-0.9.4+ds.dist-info/WHEEL'
adding 'sarsen-0.9.4+ds.dist-info/entry_points.txt'
adding 'sarsen-0.9.4+ds.dist-info/top_level.txt'
adding 'sarsen-0.9.4+ds.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built sarsen-0.9.4+ds-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module
   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.12.9, pytest-8.3.4, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build
configfile: pyproject.toml
plugins: typeguard-4.4.1
collected 31 items

tests/test_00_version.py .                                               [  3%]
tests/test_10_chunking.py ...                                            [ 12%]
tests/test_10_datamodel.py .                                             [ 16%]
tests/test_10_orbit.py ..                                                [ 22%]
tests/test_10_scene.py ...                                               [ 32%]
tests/test_20_geocoding.py ...                                           [ 41%]
tests/test_20_sentinel1.py ...                                           [ 51%]
tests/test_30_radiometry.py .                                            [ 54%]
tests/test_50_apps.py ssssssssssss                                       [ 93%]
tests/test_60_main.py F                                                  [ 96%]
tests/test_90_sarsen.py .                                                [100%]

=================================== FAILURES ===================================
__________________________________ test_main ___________________________________

    def test_main() -> None:
        res = runner.invoke(__main__.app, ["gtc", "--help"])
>       assert res.exit_code == 0
E       AssertionError: assert 1 == 0
E        +  where 1 = <Result TypeError('TyperArgument.make_metavar() takes 1 positional argument but 2 were given')>.exit_code

tests/test_60_main.py:10: AssertionError
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/xarray_sentinel/esa_safe.py:7
  /usr/lib/python3/dist-packages/xarray_sentinel/esa_safe.py:7: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    import pkg_resources

tests/test_10_scene.py::test_compute_dem_oriented_area
tests/test_30_radiometry.py::test_compute_gamma_area
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/sarsen/scene.py:115: PendingDeprecationWarning: The `dims` argument has been renamed to `dim`, and will be removed in the future. This renaming is taking place throughout xarray over the next few releases.
    xr.dot(cross_1, dem_ecef, dims="axis")

tests/test_10_scene.py::test_compute_dem_oriented_area
tests/test_30_radiometry.py::test_compute_gamma_area
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/sarsen/scene.py:120: PendingDeprecationWarning: The `dims` argument has been renamed to `dim`, and will be removed in the future. This renaming is taking place throughout xarray over the next few releases.
    xr.dot(cross_2, dem_ecef, dims="axis")

tests/test_20_geocoding.py::test_secant_method
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/sarsen/geocoding.py:44: RuntimeWarning: invalid value encountered in divide
    t_prev, t_curr = t_curr, t_curr - np.where(q != 0, p / q, 0)  # type: ignore

tests/test_20_geocoding.py::test_backward_geocode
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/sarsen/geocoding.py:78: PendingDeprecationWarning: The `dims` argument has been renamed to `dim`, and will be removed in the future. This renaming is taking place throughout xarray over the next few releases.
    velocity_ecef / xr.dot(velocity_ecef, velocity_ecef, dims=dim) ** 0.5

tests/test_20_sentinel1.py: 26 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/sarsen/sentinel1.py:31: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time.
    ds = xr.open_dataset(

tests/test_20_sentinel1.py: 15 warnings
  /usr/lib/python3/dist-packages/xarray_sentinel/sentinel1.py:222: DeprecationWarning: Arrays of 2-dimensional vectors are deprecated. Use arrays of 3-dimensional vectors instead. (deprecated in NumPy 2.0)
    return float(np.cross(poly[1] - start, poly[2] - start)) < 0

tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
  /usr/lib/python3/dist-packages/rioxarray/_io.py:1143: NotGeoreferencedWarning: Dataset has no geotransform, gcps, or rpcs. The identity matrix will be returned.
    warnings.warn(str(rio_warning.message), type(rio_warning.message))  # type: ignore

tests/test_30_radiometry.py::test_compute_gamma_area
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/sarsen/radiometry.py:57: PendingDeprecationWarning: The `dims` argument has been renamed to `dim`, and will be removed in the future. This renaming is taking place throughout xarray over the next few releases.
    gamma_area: xr.DataArray = xr.dot(dem_oriented_area, -dem_direction, dims="axis")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_60_main.py::test_main - AssertionError: assert 1 == 0
============ 1 failed, 18 passed, 12 skipped, 56 warnings in 26.23s ============
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest tests
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build
configfile: pyproject.toml
plugins: typeguard-4.4.1
collected 31 items

tests/test_00_version.py .                                               [  3%]
tests/test_10_chunking.py ...                                            [ 12%]
tests/test_10_datamodel.py .                                             [ 16%]
tests/test_10_orbit.py ..                                                [ 22%]
tests/test_10_scene.py ...                                               [ 32%]
tests/test_20_geocoding.py ...                                           [ 41%]
tests/test_20_sentinel1.py ...                                           [ 51%]
tests/test_30_radiometry.py .                                            [ 54%]
tests/test_50_apps.py ssssssssssss                                       [ 93%]
tests/test_60_main.py F                                                  [ 96%]
tests/test_90_sarsen.py .                                                [100%]

=================================== FAILURES ===================================
__________________________________ test_main ___________________________________

    def test_main() -> None:
        res = runner.invoke(__main__.app, ["gtc", "--help"])
>       assert res.exit_code == 0
E       AssertionError: assert 1 == 0
E        +  where 1 = <Result TypeError('TyperArgument.make_metavar() takes 1 positional argument but 2 were given')>.exit_code

tests/test_60_main.py:10: AssertionError
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/xarray_sentinel/esa_safe.py:7
  /usr/lib/python3/dist-packages/xarray_sentinel/esa_safe.py:7: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    import pkg_resources

tests/test_10_scene.py::test_compute_dem_oriented_area
tests/test_30_radiometry.py::test_compute_gamma_area
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/sarsen/scene.py:115: PendingDeprecationWarning: The `dims` argument has been renamed to `dim`, and will be removed in the future. This renaming is taking place throughout xarray over the next few releases.
    xr.dot(cross_1, dem_ecef, dims="axis")

tests/test_10_scene.py::test_compute_dem_oriented_area
tests/test_30_radiometry.py::test_compute_gamma_area
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/sarsen/scene.py:120: PendingDeprecationWarning: The `dims` argument has been renamed to `dim`, and will be removed in the future. This renaming is taking place throughout xarray over the next few releases.
    xr.dot(cross_2, dem_ecef, dims="axis")

tests/test_20_geocoding.py::test_secant_method
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/sarsen/geocoding.py:44: RuntimeWarning: invalid value encountered in divide
    t_prev, t_curr = t_curr, t_curr - np.where(q != 0, p / q, 0)  # type: ignore

tests/test_20_geocoding.py::test_backward_geocode
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/sarsen/geocoding.py:78: PendingDeprecationWarning: The `dims` argument has been renamed to `dim`, and will be removed in the future. This renaming is taking place throughout xarray over the next few releases.
    velocity_ecef / xr.dot(velocity_ecef, velocity_ecef, dims=dim) ** 0.5

tests/test_20_sentinel1.py: 26 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/sarsen/sentinel1.py:31: UserWarning: Converting non-nanosecond precision datetime values to nanosecond precision. This behavior can eventually be relaxed in xarray, as it is an artifact from pandas which is now beginning to support non-nanosecond precision values. This warning is caused by passing non-nanosecond np.datetime64 or np.timedelta64 values to the DataArray or Variable constructor; it can be silenced by converting the values to nanosecond precision ahead of time.
    ds = xr.open_dataset(

tests/test_20_sentinel1.py: 15 warnings
  /usr/lib/python3/dist-packages/xarray_sentinel/sentinel1.py:222: DeprecationWarning: Arrays of 2-dimensional vectors are deprecated. Use arrays of 3-dimensional vectors instead. (deprecated in NumPy 2.0)
    return float(np.cross(poly[1] - start, poly[2] - start)) < 0

tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
tests/test_20_sentinel1.py::test_Sentinel1SarProduct[data_path0-IW/VV]
  /usr/lib/python3/dist-packages/rioxarray/_io.py:1143: NotGeoreferencedWarning: Dataset has no geotransform, gcps, or rpcs. The identity matrix will be returned.
    warnings.warn(str(rio_warning.message), type(rio_warning.message))  # type: ignore

tests/test_30_radiometry.py::test_compute_gamma_area
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/sarsen/radiometry.py:57: PendingDeprecationWarning: The `dims` argument has been renamed to `dim`, and will be removed in the future. This renaming is taking place throughout xarray over the next few releases.
    gamma_area: xr.DataArray = xr.dot(dem_oriented_area, -dem_direction, dims="axis")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_60_main.py::test_main - AssertionError: assert 1 == 0
============ 1 failed, 18 passed, 12 skipped, 56 warnings in 27.16s ============
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.13" returned exit code 13
make: *** [debian/rules:12: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202502/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:sarsen, so that this is still
visible in the BTS web page for this package.

Thanks.



More information about the Pkg-grass-devel mailing list