Source: jsonpickle Version: 4.0.2+dfsg-1 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-20250414 ftbfs-trixie
Hi, During a rebuild of all packages in testing (trixie), your package failed to build on i386. Relevant part (hopefully): > 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.13 with "build" > module > I: pybuild base:311: python3.13 -m build --skip-dependency-check > --no-isolation --wheel --outdir > /build/reproducible-path/jsonpickle-4.0.2+dfsg/.pybuild/cpython3_3.13 > * Building wheel... > running bdist_wheel > running build > running build_py > creating build/lib/jsonpickle > copying jsonpickle/util.py -> build/lib/jsonpickle > copying jsonpickle/handlers.py -> build/lib/jsonpickle > copying jsonpickle/compat.py -> build/lib/jsonpickle > copying jsonpickle/tags.py -> build/lib/jsonpickle > copying jsonpickle/backend.py -> build/lib/jsonpickle > copying jsonpickle/tags_pd.py -> build/lib/jsonpickle > copying jsonpickle/version.py -> build/lib/jsonpickle > copying jsonpickle/pickler.py -> build/lib/jsonpickle > copying jsonpickle/unpickler.py -> build/lib/jsonpickle > copying jsonpickle/errors.py -> build/lib/jsonpickle > copying jsonpickle/__init__.py -> build/lib/jsonpickle > creating build/lib/jsonpickle/ext > copying jsonpickle/ext/pandas.py -> build/lib/jsonpickle/ext > copying jsonpickle/ext/numpy.py -> build/lib/jsonpickle/ext > copying jsonpickle/ext/__init__.py -> build/lib/jsonpickle/ext > copying jsonpickle/ext/gmpy.py -> build/lib/jsonpickle/ext > running egg_info > writing jsonpickle.egg-info/PKG-INFO > writing dependency_links to jsonpickle.egg-info/dependency_links.txt > writing requirements to jsonpickle.egg-info/requires.txt > writing top-level names to jsonpickle.egg-info/top_level.txt > reading manifest file 'jsonpickle.egg-info/SOURCES.txt' > adding license file 'LICENSE' > writing manifest file 'jsonpickle.egg-info/SOURCES.txt' > installing to build/bdist.linux-i686/wheel > running install > running install_lib > creating build/bdist.linux-i686/wheel > creating build/bdist.linux-i686/wheel/jsonpickle > copying build/lib/jsonpickle/util.py -> > build/bdist.linux-i686/wheel/./jsonpickle > copying build/lib/jsonpickle/handlers.py -> > build/bdist.linux-i686/wheel/./jsonpickle > copying build/lib/jsonpickle/compat.py -> > build/bdist.linux-i686/wheel/./jsonpickle > copying build/lib/jsonpickle/tags.py -> > build/bdist.linux-i686/wheel/./jsonpickle > copying build/lib/jsonpickle/backend.py -> > build/bdist.linux-i686/wheel/./jsonpickle > copying build/lib/jsonpickle/tags_pd.py -> > build/bdist.linux-i686/wheel/./jsonpickle > creating build/bdist.linux-i686/wheel/jsonpickle/ext > copying build/lib/jsonpickle/ext/pandas.py -> > build/bdist.linux-i686/wheel/./jsonpickle/ext > copying build/lib/jsonpickle/ext/numpy.py -> > build/bdist.linux-i686/wheel/./jsonpickle/ext > copying build/lib/jsonpickle/ext/__init__.py -> > build/bdist.linux-i686/wheel/./jsonpickle/ext > copying build/lib/jsonpickle/ext/gmpy.py -> > build/bdist.linux-i686/wheel/./jsonpickle/ext > copying build/lib/jsonpickle/version.py -> > build/bdist.linux-i686/wheel/./jsonpickle > copying build/lib/jsonpickle/pickler.py -> > build/bdist.linux-i686/wheel/./jsonpickle > copying build/lib/jsonpickle/unpickler.py -> > build/bdist.linux-i686/wheel/./jsonpickle > copying build/lib/jsonpickle/errors.py -> > build/bdist.linux-i686/wheel/./jsonpickle > copying build/lib/jsonpickle/__init__.py -> > build/bdist.linux-i686/wheel/./jsonpickle > running install_egg_info > Copying jsonpickle.egg-info to > build/bdist.linux-i686/wheel/./jsonpickle-4.0.2+dfsg.egg-info > running install_scripts > creating build/bdist.linux-i686/wheel/jsonpickle-4.0.2+dfsg.dist-info/WHEEL > creating > '/build/reproducible-path/jsonpickle-4.0.2+dfsg/.pybuild/cpython3_3.13/.tmp-n6dcarpy/jsonpickle-4.0.2+dfsg-py3-none-any.whl' > and adding 'build/bdist.linux-i686/wheel' to it > adding 'jsonpickle/__init__.py' > adding 'jsonpickle/backend.py' > adding 'jsonpickle/compat.py' > adding 'jsonpickle/errors.py' > adding 'jsonpickle/handlers.py' > adding 'jsonpickle/pickler.py' > adding 'jsonpickle/tags.py' > adding 'jsonpickle/tags_pd.py' > adding 'jsonpickle/unpickler.py' > adding 'jsonpickle/util.py' > adding 'jsonpickle/version.py' > adding 'jsonpickle/ext/__init__.py' > adding 'jsonpickle/ext/gmpy.py' > adding 'jsonpickle/ext/numpy.py' > adding 'jsonpickle/ext/pandas.py' > adding 'jsonpickle-4.0.2+dfsg.dist-info/LICENSE' > adding 'jsonpickle-4.0.2+dfsg.dist-info/METADATA' > adding 'jsonpickle-4.0.2+dfsg.dist-info/WHEEL' > adding 'jsonpickle-4.0.2+dfsg.dist-info/top_level.txt' > adding 'jsonpickle-4.0.2+dfsg.dist-info/RECORD' > removing build/bdist.linux-i686/wheel > Successfully built jsonpickle-4.0.2+dfsg-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 > /build/reproducible-path/jsonpickle-4.0.2+dfsg/.pybuild/cpython3_3.13/build; > python3.13 -m pytest tests > ============================= test session starts > ============================== > platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0 > rootdir: > /build/reproducible-path/jsonpickle-4.0.2+dfsg/.pybuild/cpython3_3.13/build > configfile: pytest.ini > plugins: typeguard-4.4.2 > collected 386 items > > tests/backend_test.py .............sss [ > 4%] > tests/bson_test.py ...... [ > 5%] > tests/collections_test.py ...... [ > 7%] > tests/datetime_test.py ................. [ > 11%] > tests/document_test.py . [ > 11%] > tests/ecdsa_test.py s [ > 12%] > tests/feedparser_test.py . [ > 12%] > tests/handler_test.py ...... [ > 13%] > tests/jsonpickle_test.py ............................................... [ > 26%] > ........................................................................ [ > 44%] > .................................................. [ > 57%] > tests/numpy_test.py ..................... [ > 63%] > tests/object_test.py ................................................... [ > 76%] > .................... [ > 81%] > tests/pandas_test.py ....F..................... [ > 88%] > tests/sklearn_test.py .. [ > 88%] > tests/sqlalchemy_test.py ... [ > 89%] > tests/stdlib_test.py ... [ > 90%] > tests/util_test.py .................................. [ > 99%] > tests/wizard_test.py .. [ > 99%] > tests/zoneinfo_test.py . > [100%] > > =================================== FAILURES > =================================== > ______________________ test_multindex_dataframe_roundtrip > ______________________ > > left = Index([1, 2], dtype='int64', name='idx_lvl1') > right = Index([1, 2], dtype='int32', name='idx_lvl1') > obj = 'MultiIndex level [1]' > > def _check_types(left, right, obj: str = "Index") -> None: > if not exact: > return > > assert_class_equal(left, right, exact=exact, obj=obj) > assert_attr_equal("inferred_type", left, right, obj=obj) > > # Skip exact dtype checking when `check_categorical` is False > if isinstance(left.dtype, CategoricalDtype) and isinstance( > right.dtype, CategoricalDtype > ): > if check_categorical: > assert_attr_equal("dtype", left, right, obj=obj) > assert_index_equal(left.categories, right.categories, > exact=exact) > return > > > assert_attr_equal("dtype", left, right, obj=obj) > E AssertionError: MultiIndex level [1] are different > E > E Attribute "dtype" are different > E [left]: int64 > E [right]: int32 > > /usr/lib/python3/dist-packages/pandas/_testing/asserters.py:247: > AssertionError > > During handling of the above exception, another exception occurred: > > def test_multindex_dataframe_roundtrip(): > df = pd.DataFrame( > { > 'idx_lvl0': ['a', 'b', 'c'], > 'idx_lvl1': np.int_([1, 1, 2]), > 'an_int': np.int_([1, 2, 3]), > 'a_float': np.float64([2.5, 3.5, 4.5]), > 'a_nan': np.array([np.nan] * 3), > 'a_minus_inf': np.array([-np.inf] * 3), > 'an_inf': np.array([np.inf] * 3), > 'a_str': np.str_('foo'), > } > ) > df = df.set_index(['idx_lvl0', 'idx_lvl1']) > > decoded_df = roundtrip(df) > > assert_frame_equal(decoded_df, df) > > tests/pandas_test.py:114: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > left = Index([1, 1, 2], dtype='int64', name='idx_lvl1') > right = Index([1, 1, 2], dtype='int32', name='idx_lvl1') > obj = 'MultiIndex level [1]' > > def _check_types(left, right, obj: str = "Index") -> None: > if not exact: > return > > assert_class_equal(left, right, exact=exact, obj=obj) > assert_attr_equal("inferred_type", left, right, obj=obj) > > # Skip exact dtype checking when `check_categorical` is False > if isinstance(left.dtype, CategoricalDtype) and isinstance( > right.dtype, CategoricalDtype > ): > if check_categorical: > assert_attr_equal("dtype", left, right, obj=obj) > assert_index_equal(left.categories, right.categories, > exact=exact) > return > > > assert_attr_equal("dtype", left, right, obj=obj) > E AssertionError: MultiIndex level [1] are different > E > E Attribute "dtype" are different > E [left]: int64 > E [right]: int32 > > /usr/lib/python3/dist-packages/pandas/_testing/asserters.py:247: > AssertionError > =============================== warnings summary > =============================== > tests/feedparser_test.py::FeedParserTestCase::test > tests/feedparser_test.py::FeedParserTestCase::test > tests/feedparser_test.py::FeedParserTestCase::test > tests/feedparser_test.py::FeedParserTestCase::test > tests/feedparser_test.py::FeedParserTestCase::test > tests/feedparser_test.py::FeedParserTestCase::test > /usr/lib/python3/dist-packages/feedparser/html.py:152: DeprecationWarning: > 'count' is passed as positional argument > data = re.sub(r'<!((?!DOCTYPE|--|\[))', r'<!\1', data, re.IGNORECASE) > > tests/numpy_test.py::test_ndarray_roundtrip > tests/numpy_test.py::test_ndarray_roundtrip > /usr/lib/python3/dist-packages/numpy/_core/records.py:136: > DeprecationWarning: Data type alias 'a' was deprecated in NumPy 2.0. Use the > 'S' alias instead. > dtype = sb.dtype(formats, aligned) > > tests/numpy_test.py::test_ndarray_roundtrip > tests/sklearn_test.py::test_decision_tree > > /build/reproducible-path/jsonpickle-4.0.2+dfsg/.pybuild/cpython3_3.13/build/jsonpickle/ext/numpy.py:303: > UserWarning: ndarray is defined by reference to an object we do not know how > to serialize. A deep copy is serialized instead, breaking memory aliasing. > warnings.warn(msg) > > -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html > =========================== short test summary info > ============================ > FAILED tests/pandas_test.py::test_multindex_dataframe_roundtrip - > AssertionEr... > ============ 1 failed, 381 passed, 4 skipped, 10 warnings in 2.32s > ============= > E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd > /build/reproducible-path/jsonpickle-4.0.2+dfsg/.pybuild/cpython3_3.13/build; > python3.13 -m pytest tests > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 > returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2025/04/14/jsonpickle_4.0.2+dfsg-1_testing-i386.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250414;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250414&fusertaguser=lu...@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 mark 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.