[From nobody Thu Aug 27 19:23:14 2026
Received: (at submit) by bugs.debian.org; 25 Aug 2026 10:15:26 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-119.9 required=4.0 tests=BAYES_00,
 BODY_INCLUDES_PACKAGE,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,
 DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,HAS_PACKAGE,
 PP_MIME_FAKE_ASCII_TEXT,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS,
 USER_IN_DKIM_WELCOMELIST,X_DEBBUGS_CC autolearn=ham autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 124; hammy, 150; neutral, 327; spammy,
 0. spammytokens: hammytokens:0.000-+--python3,
 0.000-+--pkgbuilddir, 
 0.000-+--PKGBUILDDIR, 0.000-+--HTo:N*Debian, 0.000-+--forky
Return-path: &lt;sanvila@debian.org&gt;
Received: from mitropoulos.debian.org
 ([2001:648:2ffc:deb:216:61ff:fe9d:958d]:57114)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;sanvila@debian.org&gt;) id 1wyoBi-003r3A-1h
 for submit@bugs.debian.org; Tue, 25 Aug 2026 10:15:26 +0000
Received: via submission
 from C=NA, ST=NA, L=Ankh Morpork, O=Debian SMTP, OU=Debian SMTP CA,
 CN=paradis.debian.org, EMAIL=hostmaster@paradis.debian.org (verified)
 by mitropoulos.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;sanvila@debian.org&gt;) id 1wyoBg-001IL9-0T
 for submit@bugs.debian.org; Tue, 25 Aug 2026 10:15:24 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; 
 s=smtpauto.paradis;
 h=Date:Message-Id:Subject:To:From:Reply-To:Cc:
 MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:
 Content-Description:In-Reply-To:References;
 bh=vLomZ9YSJb74dPDwdBXGiK94Tr/Nx7lnRH4fvfLEY8s=; b=Q5SKWe7bWCOKVfrbzEbJj+M7ll
 BAxjfYRIF9KCAdqineYWdVMEnXbWmiMnjuav51mNxpBjbHBim//JS8pMMb2HnOzJ7WDfpb5DhXeXF
 dQMfpepePqY5ryW0ZXU0aXQi8AA77ZYo9PmQpltq4jmc3ilEsC+/KWPEGgAaPkhq7iYSrW6wRBvDA
 reOuIdZ3SiiFO1Dbg8dHvHuVv4nmfm0h6S4sjhDdgsTjhbeUZsIdqrKb/elSkILD9W68AmQH0Cnc6
 ZU5PSzJsiF/Gjus3Ktd25exa0FwfUniNfVBGiI0t0yGIPDVMeiOqB32bDCc7gXImjlmD8UKNbxt5b
 sfSSugpg==;
Received: from sanvila by paradis.debian.org with local (Exim 4.96)
 (envelope-from &lt;sanvila@debian.org&gt;) id 1wyoBc-000Ce7-1J
 for submit@bugs.debian.org; Tue, 25 Aug 2026 10:15:20 +0000
From: Santiago Vila &lt;sanvila@debian.org&gt;
To: Debian BTS &lt;submit@bugs.debian.org&gt;
Subject: kerchunk: FTBFS: E ValueError: Chunk size must be positive, got 0
X-Debbugs-Cc: sanvila@debian.org
Message-Id: &lt;E1wyoBc-000Ce7-1J@paradis.debian.org&gt;
Date: Tue, 25 Aug 2026 10:15:20 +0000
Delivered-To: submit@bugs.debian.org

Package: src:kerchunk
Version: 0.2.10-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

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

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 cannot 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:kerchunk, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = &lt;AsyncGroup &lt;FsspecStore(ReferenceFileSystem, /)&gt;&gt;, key = 'FP_line'

    async def getitem(
        self,
        key: str,
    ) -&gt; AnyAsyncArray | AsyncGroup:
        &quot;&quot;&quot;
        Get a subarray or subgroup from the group.
    
        Parameters
        ----------
        key : str
            Array or group name
    
        Returns
        -------
        AsyncArray or AsyncGroup
        &quot;&quot;&quot;
        store_path = self.store_path / key
        logger.debug(&quot;key=%s, store_path=%s&quot;, key, store_path)
    
        # Consolidated metadata lets us avoid some I/O operations so try that first.
        if self.metadata.consolidated_metadata is not None:
            return self._getitem_consolidated(store_path, key, prefix=self.name)
        try:
            return await get_node(
                store=store_path.store, path=store_path.path, zarr_format=self.metadata.zarr_format
            )
        except FileNotFoundError as e:
&gt;           raise KeyError(key) from e
E           KeyError: 'FP_line'

/usr/lib/python3/dist-packages/zarr/core/group.py:737: KeyError

During handling of the above exception, another exception occurred:

    def test1():
        here = os.path.dirname(__file__)
        fn = os.path.join(here, &quot;MOD14.hdf4&quot;)
    
&gt;       out = kerchunk.hdf4.HDF4ToZarr(fn).translate()
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

../../../tests/test_hdf4.py:13: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
kerchunk/hdf4.py:149: in translate
    arr = g.require_array(
/usr/lib/python3/dist-packages/zarr/core/group.py:2823: in require_array
    return Array(self._sync(self._async_group.require_array(name, shape=shape, **kwargs)))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/zarr/core/sync.py:199: in _sync
    return sync(
/usr/lib/python3/dist-packages/zarr/core/sync.py:154: in sync
    raise return_result
/usr/lib/python3/dist-packages/zarr/core/sync.py:114: in _runner
    return await coro
           ^^^^^^^^^^
/usr/lib/python3/dist-packages/zarr/core/group.py:1268: in require_array
    ds = await self.create_array(name, shape=shape, dtype=dtype, **kwargs)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/zarr/core/group.py:1199: in create_array
    return await create_array(
/usr/lib/python3/dist-packages/zarr/core/array.py:4743: in create_array
    return await init_array(
/usr/lib/python3/dist-packages/zarr/core/array.py:4476: in init_array
    chunks_normalized = normalize_chunks_nd(chunks, shape_parsed)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/zarr/core/chunk_grids.py:800: in normalize_chunks_nd
    tuple(normalize_chunks_1d(c, span=s) for c, s in zip(chunks, shape, strict=True))
    ^^^^^
/usr/lib/python3/dist-packages/zarr/core/chunk_grids.py:800: in &lt;genexpr&gt;
    tuple(normalize_chunks_1d(c, span=s) for c, s in zip(chunks, shape, strict=True))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

chunks = 0, span = 0

    def normalize_chunks_1d(
        chunks: int | Iterable[object], span: int
    ) -&gt; np.ndarray[tuple[int], np.dtype[np.int64]]:
        &quot;&quot;&quot;
        Normalize a one-dimensional chunk specification into a 1D int64 array of
        chunk sizes that cover the span.
    
        `-1` means &quot;one chunk covering the entire span.&quot;
        For an integer chunk size, all chunks are uniform — the last chunk may
        overhang the span. The actual data extent of each chunk is determined
        by the chunk grid at runtime, not by this function.
        &quot;&quot;&quot;
        if chunks == -1:
            return np.array([span], dtype=np.int64)
        if isinstance(chunks, int):
            if chunks &lt;= 0:
&gt;               raise ValueError(f&quot;Chunk size must be positive, got {chunks}&quot;)
E               ValueError: Chunk size must be positive, got 0

/usr/lib/python3/dist-packages/zarr/core/chunk_grids.py:736: ValueError
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1464
  /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1464: PytestConfigWarning: Unknown config option: asyncio_default_fixture_loop_scope
  
    self._warn_or_fail_if_strict(f&quot;Unknown config option: {key}\n&quot;)

../../../tests/test_fits.py:18
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/tests/test_fits.py:18: PytestUnknownMarkWarning: Unknown pytest.mark.remotedata - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.remotedata

../../../tests/test_fits.py:43
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/tests/test_fits.py:43: PytestUnknownMarkWarning: Unknown pytest.mark.remotedata - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.remotedata

../../../tests/test_grib.py:57
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/tests/test_grib.py:57: PytestUnknownMarkWarning: Unknown pytest.mark.remotedata - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.remotedata

../../../tests/test_grib.py:287
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/tests/test_grib.py:287: PytestUnknownMarkWarning: Unknown pytest.mark.remotedata - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.remotedata

../../../tests/test_grib.py:305
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/tests/test_grib.py:305: PytestUnknownMarkWarning: Unknown pytest.mark.remotedata - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.remotedata

../../../../../../usr/lib/python3/dist-packages/h5py/_debian_h5py_serial/__init__.py:36
  /usr/lib/python3/dist-packages/h5py/_debian_h5py_serial/__init__.py:36: UserWarning: h5py is running against HDF5 2.2.0 when it was built against 2.1.0, this may cause problems
    _warn((&quot;h5py is running against HDF5 {0} when it was built against {1}, &quot;

../../../tests/test_hdf.py:24
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/tests/test_hdf.py:24: PytestUnknownMarkWarning: Unknown pytest.mark.remotedata - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.remotedata

../../../tests/test_hdf.py:45
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/tests/test_hdf.py:45: PytestUnknownMarkWarning: Unknown pytest.mark.remotedata - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.remotedata

../../../tests/test_hdf.py:87
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/tests/test_hdf.py:87: PytestUnknownMarkWarning: Unknown pytest.mark.remotedata - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.remotedata

tests/test_combine.py::test_fixture
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/tests/test_combine.py:251: ZarrUserWarning: fs (&lt;fsspec.implementations.reference.ReferenceFileSystem object at 0x7f5803158cd0&gt;) was not created with `asynchronous=True`, this may lead to surprising behavior
    store = zarr.storage.FsspecStore(fs)

tests/test_combine.py::test_fixture
  /usr/lib/python3/dist-packages/zarr/storage/_fsspec.py:258: ZarrUserWarning: fs (&lt;fsspec.implementations.reference.ReferenceFileSystem object at 0x7f5803158cd0&gt;) was not created with `asynchronous=True`, this may lead to surprising behavior
    return type(self)(

tests/test_combine.py::test_chunk_error
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/.pybuild/cpython3_3.14_kerchunk/build/kerchunk/combine.py:403: UserWarning: Concatenated coordinate 'time' contains less than expectednumber of values across the datasets: [1]
    warnings.warn(

tests/test_grib.py::test_grib_tree
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/.pybuild/cpython3_3.14_kerchunk/build/kerchunk/combine.py:403: UserWarning: Concatenated coordinate 'time' contains less than expectednumber of values across the datasets: [1665709200]
    warnings.warn(

tests/test_grib.py::test_grib_tree
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/.pybuild/cpython3_3.14_kerchunk/build/kerchunk/combine.py:403: UserWarning: Concatenated coordinate 'step' contains less than expectednumber of values across the datasets: [0.25]
    warnings.warn(

tests/test_grib.py::test_hrrr_subhf_corrected_grib_tree
tests/test_grib.py::test_hrrr_sfcf_grib_tree
  /&lt;&lt;PKGBUILDDIR&gt;&gt;/.pybuild/cpython3_3.14_kerchunk/build/kerchunk/combine.py:403: UserWarning: Concatenated coordinate 'time' contains less than expectednumber of values across the datasets: [1695862800]
    warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED ../../../tests/test_hdf4.py::test1 - ValueError: Chunk size must be po...
===== 1 failed, 81 passed, 7 skipped, 22 deselected, 17 warnings in 6.16s ======
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd /&lt;&lt;PKGBUILDDIR&gt;&gt;/.pybuild/cpython3_3.14_kerchunk/build; python3.14 -m pytest -v -m &quot;not remotedata&quot; -k &quot;not test_single_append_parquet and not test_zarr_combine and not test_string_null and not test_string_decode and not test_compound_string_null and not test_compound_string_encode and not test_var and not test_malicious_chunks&quot; /&lt;&lt;PKGBUILDDIR&gt;&gt;/tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p &quot;3.13 3.14&quot; --parallel=2 returned exit code 13
make: *** [debian/rules:24: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------
]