Package: src:pydantic-core Version: 2.46.4-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/202606/ 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:pydantic-core, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --buildsystem=pybuild debian/rules override_dh_auto_clean make[1]: Entering directory '/<<PKGBUILDDIR>>' test ! -f pydantic-core/Cargo.lock.saved || \ mv pydantic-core/Cargo.lock.saved pydantic-core/Cargo.lock dh_auto_clean --sourcedir=pydantic-core make[1]: Leaving directory '/<<PKGBUILDDIR>>' 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 debian/rules override_dh_auto_configure [... snipped ...] @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ /usr/lib/python3/dist-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/_pytest/runner.py:250: in <lambda> lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/logging.py:858: in pytest_runtest_setup yield /usr/lib/python3/dist-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) /usr/lib/python3/dist-packages/_pytest/runner.py:536: in setup col.setup() /usr/lib/python3/dist-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() /usr/lib/python3/dist-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FixtureDef argname='schema_validator' scope='class' baseid='tests/validators/test_union.py::TestModelClassSimilar'> request = <SubRequest 'schema_validator' for <Function test_model_b_preferred>> def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError /usr/lib/python3/dist-packages/_pytest/fixtures.py:1221: AssertionError _______ ERROR at setup of TestModelClassSimilar.test_model_b_not_ignored _______ cls = <class '_pytest.runner.CallInfo'> func = <function call_and_report.<locals>.<lambda> at 0x7fa61d60ca90> when = 'setup' reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ /usr/lib/python3/dist-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/_pytest/runner.py:250: in <lambda> lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/logging.py:858: in pytest_runtest_setup yield /usr/lib/python3/dist-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) /usr/lib/python3/dist-packages/_pytest/runner.py:536: in setup col.setup() /usr/lib/python3/dist-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() /usr/lib/python3/dist-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3/dist-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <FixtureDef argname='schema_validator' scope='class' baseid='tests/validators/test_union.py::TestModelClassSimilar'> request = <SubRequest 'schema_validator' for <Function test_model_b_not_ignored>> def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError /usr/lib/python3/dist-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_python_fs ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkSimpleModel::test_core_json_fs ERROR tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_python ERROR tests/benchmarks/test_micro_benchmarks.py::TestModelLarge::test_core_json_fs ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_python ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_model_core_json ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_raw ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_str ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateTime::test_core_future_str ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_date ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_str ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDateX::test_date_from_datetime_str ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_core ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_string_pyd ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_core ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_uuid_from_uuid_pyd ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_python ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_model_core_json ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_raw ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkUUID::test_core_str ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_core ERROR tests/benchmarks/test_micro_benchmarks.py::TestBenchmarkDecimal::test_decimal_from_string_pyd ERROR tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict ERROR tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_dict_filter ERROR tests/benchmarks/test_serialization_micro.py::TestBenchmarkSimpleModel::test_core_json ERROR tests/validators/test_union.py::TestModelClass::test_model_a - pytest.P... ERROR tests/validators/test_union.py::TestModelClass::test_model_b - Assertio... ERROR tests/validators/test_union.py::TestModelClass::test_exact_check - Asse... ERROR tests/validators/test_union.py::TestModelClass::test_error - AssertionE... ERROR tests/validators/test_union.py::TestModelClassSimilar::test_model_a - p... ERROR tests/validators/test_union.py::TestModelClassSimilar::test_model_b_preferred ERROR tests/validators/test_union.py::TestModelClassSimilar::test_model_b_not_ignored ========== 5758 passed, 127 skipped, 10 xfailed, 34 errors in 23.13s =========== E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_pydantic-core/build; python3.14 -m pytest tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.14" --dir pydantic-core --parallel=2 returned exit code 13 make[1]: *** [debian/rules:35: override_dh_auto_test] Error 25 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:18: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 --------------------------------------------------------------------------------

