Package: src:python-cattrs Version: 25.2.0-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/202510/ 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:python-cattrs, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --with python3 --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --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.13 with "build" module I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cattr * Building wheel... Successfully built cattrs-25.2.0-py3-none-any.whl [... snipped ...] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ combined_attrs = [(_CountingAttr(counter=28522, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, a...e), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just(HypClass()))] default = Factory(factory=<class 'tests.untyped.HypClass'>, takes_self=False) nested_cl = <class 'tests.untyped.HypClass'> tup = ([(_CountingAttr(counter=28522, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), none())], (<class 'tests.untyped.HypClass'>, (), {})) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attrs_and_strategy = [(_CountingAttr(counter=28522, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, a...e), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just(HypClass()))] frozen = None def _create_hyp_class( attrs_and_strategy: list[tuple[_CountingAttr, st.SearchStrategy[PosArgs]]], frozen=None, ) -> SearchStrategy[AttrsAndArgs]: """ A helper function for Hypothesis to generate attrs classes. The result is a tuple: an attrs class, a tuple of values to instantiate it, and a kwargs dict for kw-only attributes. """ def key(t): return (t[0].default is not NOTHING, t[0].kw_only) > attrs_and_strat = sorted(attrs_and_strategy, key=key) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E TypeError: '<' not supported between instances of 'NoneType' and 'bool' E while generating 'cl_and_vals' from one_of(recursive [too-long-redacted] eate_dataclass, frozen=False))) attrs_and_strategy = [(_CountingAttr(counter=28522, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, a...e), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just(HypClass()))] frozen = None key = <function _create_hyp_class.<locals>.key at 0x7fa766633b00> tests/untyped.py:182: TypeError ____________________ test_unmodified_generated_structuring _____________________ @given( > cl_and_vals=nested_typed_classes(allow_nan=False) ^^^ | simple_typed_classes(allow_nan=False) | simple_typed_dataclasses(allow_nan=False), dv=..., ) f = <function given.<locals>.run_test_as_given.<locals>.wrapped_test at 0x7fa768512c00> tests/test_gen_dict.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/typed.py:954: in nested_typed_classes cl, strat, kwarg_strat = draw( allow_nan = False defaults = 'sometimes' draw = <bound method ConjectureData.draw of ConjectureData(VALID, 8 choices, frozen)> kw_only = 'sometimes' min_attrs = 0 newtypes = True /usr/lib/python3/dist-packages/hypothesis/internal/conjecture/data.py:1212: in draw return unwrapped.do_draw(self) ^^^^^^^^^^^^^^^^^^^^^^^ at_top_level = False label = 18174192762908001753 observability_enabled = <function observability_enabled at 0x7fa768d8df80> observe_as = None self = ConjectureData(VALID, 8 choices, frozen) start_time = None strategy = recursive(lists(one_of(any_typed_attrs(), int_typed_attrs(), str_typed_attrs(), float_typed_attrs(allow_nan=False), fr...al( _create_hyp_nested_strategy, kw_only='sometimes', newtypes=True, allow_nan=False, ), max_leaves=20) to_jsonable = <function to_jsonable at 0x7fa768c5c400> unwrap_strategies = <function unwrap_strategies at 0x7fa768b0e3e0> unwrapped = recursive(lists(one_of(any_typed_attrs(), int_typed_attrs(), str_typed_attrs(), float_typed_attrs(allow_nan=False), fr...al( _create_hyp_nested_strategy, kw_only='sometimes', newtypes=True, allow_nan=False, ), max_leaves=20) /usr/lib/python3/dist-packages/hypothesis/strategies/_internal/recursive.py:113: in do_draw return data.draw(self.strategy) ^^^^^^^^^^^^^^^^^^^^^^^^ count = 0 data = ConjectureData(VALID, 8 choices, frozen) self = recursive(lists(one_of(any_typed_attrs(), int_typed_attrs(), str_typed_attrs(), float_typed_attrs(allow_nan=False), fr...al( _create_hyp_nested_strategy, kw_only='sometimes', newtypes=True, allow_nan=False, ), max_leaves=20) /usr/lib/python3/dist-packages/hypothesis/internal/conjecture/data.py:1212: in draw return unwrapped.do_draw(self) ^^^^^^^^^^^^^^^^^^^^^^^ at_top_level = False label = 17516538232186200840 observability_enabled = <function observability_enabled at 0x7fa768d8df80> observe_as = None self = ConjectureData(VALID, 8 choices, frozen) start_time = None strategy = one_of(LimitedStrategy(lists(one_of(any_typed_attrs(), int_typed_attrs(), str_typed_attrs(), float_typed_attrs(allow_n...(lst, key=lambda t: (t[0]._default is not NOTHING, t[0].kw_only))).flatmap(_create_hyp_class_and_strat))))))))))))))))) to_jsonable = <function to_jsonable at 0x7fa768c5c400> unwrap_strategies = <function unwrap_strategies at 0x7fa768b0e3e0> unwrapped = one_of(LimitedStrategy(lists(one_of(any_typed_attrs(), int_typed_attrs(), str_typed_attrs(), float_typed_attrs(allow_n...(lst, key=lambda t: (t[0]._default is not NOTHING, t[0].kw_only))).flatmap(_create_hyp_class_and_strat))))))))))))))))) /usr/lib/python3/dist-packages/hypothesis/strategies/_internal/strategies.py:841: in do_draw return data.draw(strategy) ^^^^^^^^^^^^^^^^^^^ data = ConjectureData(VALID, 8 choices, frozen) self = one_of(LimitedStrategy(lists(one_of(any_typed_attrs(), int_typed_attrs(), str_typed_attrs(), float_typed_attrs(allow_n...(lst, key=lambda t: (t[0]._default is not NOTHING, t[0].kw_only))).flatmap(_create_hyp_class_and_strat))))))))))))))))) strategy = nested_classes(tuples(lists(one_of(any_typed_attrs(), int_typed_attrs(), str_typed_attrs(), float_typed_attrs(allow_na...a lst: sorted(lst, key=lambda t: (t[0]._default is not NOTHING, t[0].kw_only))).flatmap(_create_hyp_class_and_strat)))) /usr/lib/python3/dist-packages/hypothesis/internal/conjecture/data.py:1212: in draw return unwrapped.do_draw(self) ^^^^^^^^^^^^^^^^^^^^^^^ at_top_level = False label = 12567006448872728824 observability_enabled = <function observability_enabled at 0x7fa768d8df80> observe_as = None self = ConjectureData(VALID, 8 choices, frozen) start_time = None strategy = nested_classes(tuples(lists(one_of(any_typed_attrs(), int_typed_attrs(), str_typed_attrs(), float_typed_attrs(allow_na...a lst: sorted(lst, key=lambda t: (t[0]._default is not NOTHING, t[0].kw_only))).flatmap(_create_hyp_class_and_strat)))) to_jsonable = <function to_jsonable at 0x7fa768c5c400> unwrap_strategies = <function unwrap_strategies at 0x7fa768b0e3e0> unwrapped = <hypothesis.strategies._internal.core.CompositeStrategy object at 0x7fa766f17750> /usr/lib/python3/dist-packages/hypothesis/strategies/_internal/core.py:1886: in do_draw return self.definition(data.draw, *self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ data = ConjectureData(VALID, 8 choices, frozen) self = <hypothesis.strategies._internal.core.CompositeStrategy object at 0x7fa766f17750> tests/typed.py:911: in nested_classes list_of_class((attrs, (cls, init_vals, init_kwargs)), (pos_defs, kwarg_defs)) attrs = [(_CountingAttr(counter=28604, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), none())] attrs_and_classes = TupleStrategy((ListStrategy(one_of(any_typed_attrs(), int_typed_attrs(), str_typed_attrs(), float_typed_attrs(allow_na...a lst: sorted(lst, key=lambda t: (t[0]._default is not NOTHING, t[0].kw_only))).flatmap(_create_hyp_class_and_strat)))) class_and_strat = (<class 'tests.typed.HypClass'>, tuples(), fixed_dictionaries({})) cls = <class 'tests.typed.HypClass'> draw = <bound method ConjectureData.draw of ConjectureData(VALID, 8 choices, frozen)> init_kwargs = {} init_vals = () kw_strat = fixed_dictionaries({}) kwarg_defs = {} pos_defs = () strat = tuples() tests/typed.py:824: in list_of_class return _create_hyp_class_and_strat(combined_attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ combined_attrs = [(_CountingAttr(counter=28604, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None..., repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just([HypClass()]))] default = Factory(factory=<function list_of_class.<locals>.<lambda> at 0x7fa767520720>, takes_self=False) defaults = ((), {}) nested_cl = <class 'tests.typed.HypClass'> nested_cl_args = () nested_cl_kwargs = {} tup = ([(_CountingAttr(counter=28604, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), none())], (<class 'tests.typed.HypClass'>, (), {})) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attrs_and_strategy = [(_CountingAttr(counter=28604, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None..., repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just([HypClass()]))] def _create_hyp_class_and_strat( attrs_and_strategy: list[tuple[_CountingAttr, SearchStrategy[PosArg]]], ) -> SearchStrategy[tuple[type, SearchStrategy[PosArgs], SearchStrategy[KwArgs]]]: def key(t): return (t[0].default is not NOTHING, t[0].kw_only) > attrs_and_strat = sorted(attrs_and_strategy, key=key) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E TypeError: '<' not supported between instances of 'NoneType' and 'bool' E while generating 'cl_and_vals' from one_of(nested_ty [too-long-redacted] eate_dataclass, frozen=False))) attrs_and_strategy = [(_CountingAttr(counter=28604, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None..., repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just([HypClass()]))] key = <function _create_hyp_class_and_strat.<locals>.key at 0x7fa767970a40> tests/typed.py:292: TypeError ________________________ test_attrs_asdict_unstructure _________________________ @given(nested_classes()) > def test_attrs_asdict_unstructure(nested_class): ^^^ f = <function given.<locals>.run_test_as_given.<locals>.wrapped_test at 0x7fa7685f4ae0> tests/test_unstructure.py:73: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/untyped.py:210: in just_class return _create_hyp_class(combined_attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ combined_attrs = [(_CountingAttr(counter=35048, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, a...e), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just(HypClass()))] default = Factory(factory=<class 'tests.untyped.HypClass'>, takes_self=False) nested_cl = <class 'tests.untyped.HypClass'> tup = ([(_CountingAttr(counter=35048, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), none())], (<class 'tests.untyped.HypClass'>, (), {})) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attrs_and_strategy = [(_CountingAttr(counter=35048, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, a...e), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just(HypClass()))] frozen = None def _create_hyp_class( attrs_and_strategy: list[tuple[_CountingAttr, st.SearchStrategy[PosArgs]]], frozen=None, ) -> SearchStrategy[AttrsAndArgs]: """ A helper function for Hypothesis to generate attrs classes. The result is a tuple: an attrs class, a tuple of values to instantiate it, and a kwargs dict for kw-only attributes. """ def key(t): return (t[0].default is not NOTHING, t[0].kw_only) > attrs_and_strat = sorted(attrs_and_strategy, key=key) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E TypeError: '<' not supported between instances of 'NoneType' and 'bool' E while generating 'nested_class' from recursive(lists(one_of(bare_attrs(defaults=True), int_attrs(defaults=True), str_attrs(defaults=True), float_attrs(defaults=True), dict_attrs(defaults=True), optional_attrs(defaults=True)), max_size=10).map(lambda lst: sorted(lst, key=lambda t: t[0]._default is not NOTHING)).flatmap(lambda attrs_and_strategy: _create_hyp_class(attrs_and_strategy, frozen=frozen)), _create_hyp_nested_strategy, max_leaves=100) attrs_and_strategy = [(_CountingAttr(counter=35048, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, a...e), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just(HypClass()))] frozen = None key = <function _create_hyp_class.<locals>.key at 0x7fa766ca8540> tests/untyped.py:182: TypeError ________________________ test_attrs_astuple_unstructure ________________________ @given(nested_classes()) > def test_attrs_astuple_unstructure(nested_class): ^^^ f = <function given.<locals>.run_test_as_given.<locals>.wrapped_test at 0x7fa7685f5bc0> tests/test_unstructure.py:81: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/untyped.py:210: in just_class return _create_hyp_class(combined_attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ combined_attrs = [(_CountingAttr(counter=35338, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, a...e), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just(HypClass()))] default = Factory(factory=<class 'tests.untyped.HypClass'>, takes_self=False) nested_cl = <class 'tests.untyped.HypClass'> tup = ([(_CountingAttr(counter=35338, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), none())], (<class 'tests.untyped.HypClass'>, (), {})) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ attrs_and_strategy = [(_CountingAttr(counter=35338, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, a...e), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just(HypClass()))] frozen = None def _create_hyp_class( attrs_and_strategy: list[tuple[_CountingAttr, st.SearchStrategy[PosArgs]]], frozen=None, ) -> SearchStrategy[AttrsAndArgs]: """ A helper function for Hypothesis to generate attrs classes. The result is a tuple: an attrs class, a tuple of values to instantiate it, and a kwargs dict for kw-only attributes. """ def key(t): return (t[0].default is not NOTHING, t[0].kw_only) > attrs_and_strat = sorted(attrs_and_strategy, key=key) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E TypeError: '<' not supported between instances of 'NoneType' and 'bool' E while generating 'nested_class' from recursive(lists(one_of(bare_attrs(defaults=True), int_attrs(defaults=True), str_attrs(defaults=True), float_attrs(defaults=True), dict_attrs(defaults=True), optional_attrs(defaults=True)), max_size=10).map(lambda lst: sorted(lst, key=lambda t: t[0]._default is not NOTHING)).flatmap(lambda attrs_and_strategy: _create_hyp_class(attrs_and_strategy, frozen=frozen)), _create_hyp_nested_strategy, max_leaves=100) attrs_and_strategy = [(_CountingAttr(counter=35338, _default=None, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, a...e), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), just(HypClass()))] frozen = None key = <function _create_hyp_class.<locals>.key at 0x7fa766c919e0> tests/untyped.py:182: TypeError =========================== short test summary info ============================ FAILED tests/test_baseconverter.py::test_nested_roundtrip - TypeError: '<' no... FAILED tests/test_baseconverter.py::test_nested_roundtrip_tuple - TypeError: ... FAILED tests/test_converter.py::test_nested_roundtrip - TypeError: '<' not su... FAILED tests/test_converter.py::test_nested_roundtrip_tuple - TypeError: '<' ... FAILED tests/test_gen_dict.py::test_unmodified_generated_unstructuring - Type... FAILED tests/test_gen_dict.py::test_nodefs_generated_unstructuring - TypeErro... FAILED tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl - TypeE... FAILED tests/test_gen_dict.py::test_individual_overrides - TypeError: '<' not... FAILED tests/test_gen_dict.py::test_unmodified_generated_structuring - TypeEr... FAILED tests/test_unstructure.py::test_attrs_asdict_unstructure - TypeError: ... FAILED tests/test_unstructure.py::test_attrs_astuple_unstructure - TypeError:... ======= 11 failed, 861 passed, 6 skipped, 15 xfailed in 96.70s (0:01:36) ======= E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cattr/build; python3.13 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_cols.py dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:9: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

