Source: python-prometheus-client
Version: 0.7.1-1.1
Severity: serious
Justification: FTBFS on ppc64el
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201209 ftbfs-bullseye ftbfs-ppc64el
Hi,
During a rebuild of all packages in sid, your package failed to build
on ppc64el. At the same time, it did not fail on amd64.
I'm marking this bug as severity:serious since your package has only
Architecture:all binary packages, and should thus, in theory, build
everywhere. Failure to build on ppc64el might indicate a serious issue
in this package or in another package.
But feel free to downgrade or close if you believe that this is only a
build-time issue. (I would personnally prefer a severity:minor bug just to
track that the package can only be built on specific architectures.)
Relevant part (hopefully):
> debian/rules build
> dh build --with python3 --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> pybuild --configure --test-pytest -i python{version} -p 3.9
> I: pybuild base:232: python3.9 setup.py config
> running config
> dh_auto_build -O--buildsystem=pybuild
> pybuild --build --test-pytest -i python{version} -p 3.9
> I: pybuild base:232: /usr/bin/python3 setup.py build
> running build
> running build_py
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/context_managers.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/values.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/samples.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/registry.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/process_collector.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/platform_collector.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/multiprocess.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/mmap_dict.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/metrics_core.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/metrics.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/gc_collector.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/exposition.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/core.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> copying prometheus_client/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client/bridge
> copying prometheus_client/bridge/graphite.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client/bridge
> copying prometheus_client/bridge/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client/bridge
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client/openmetrics
> copying prometheus_client/openmetrics/parser.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client/openmetrics
> copying prometheus_client/openmetrics/exposition.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client/openmetrics
> copying prometheus_client/openmetrics/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client/openmetrics
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client/twisted
> copying prometheus_client/twisted/_exposition.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client/twisted
> copying prometheus_client/twisted/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/prometheus_client/twisted
> dh_auto_test -O--buildsystem=pybuild
> pybuild --test --test-pytest -i python{version} -p 3.9
> I: pybuild base:232: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build; python3.9 -m
> pytest tests
> ============================= test session starts
> ==============================
> platform linux -- Python 3.9.1, pytest-4.6.11, py-1.9.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>
> collected 232 items
>
> tests/test_core.py ..................................................... [
> 22%]
> ........... [
> 27%]
> tests/test_exposition.py ............................................... [
> 47%]
> ........... [
> 52%]
> tests/test_gc_collector.py .. [
> 53%]
> tests/test_graphite_bridge.py .... [
> 55%]
> tests/test_multiprocess.py .................... [
> 63%]
> tests/test_parser.py ........................ [
> 74%]
> tests/test_platform_collector.py .. [
> 75%]
> tests/test_process_collector.py FFF. [
> 76%]
> tests/test_twisted.py s [
> 77%]
> tests/openmetrics/test_exposition.py ............... [
> 83%]
> tests/openmetrics/test_parser.py ......................................
> [100%]
>
> =================================== FAILURES
> ===================================
> _____________________ TestProcessCollector.test_namespace
> ______________________
>
> self = <tests.test_process_collector.TestProcessCollector
> testMethod=test_namespace>
>
> def test_namespace(self):
> collector = ProcessCollector(proc=self.test_proc, pid=lambda: 26231,
> registry=self.registry, namespace='n')
> collector._ticks = 100
>
> self.assertEqual(17.21,
> self.registry.get_sample_value('n_process_cpu_seconds_total'))
> self.assertEqual(56274944.0,
> self.registry.get_sample_value('n_process_virtual_memory_bytes'))
> > self.assertEqual(8114176,
> > self.registry.get_sample_value('n_process_resident_memory_bytes'))
> E AssertionError: 8114176 != 129826816.0
>
> tests/test_process_collector.py:32: AssertionError
> ______________________ TestProcessCollector.test_working
> _______________________
>
> self = <tests.test_process_collector.TestProcessCollector
> testMethod=test_working>
>
> def test_working(self):
> collector = ProcessCollector(proc=self.test_proc, pid=lambda: 26231,
> registry=self.registry)
> collector._ticks = 100
>
> self.assertEqual(17.21,
> self.registry.get_sample_value('process_cpu_seconds_total'))
> self.assertEqual(56274944.0,
> self.registry.get_sample_value('process_virtual_memory_bytes'))
> > self.assertEqual(8114176,
> > self.registry.get_sample_value('process_resident_memory_bytes'))
> E AssertionError: 8114176 != 129826816.0
>
> tests/test_process_collector.py:20: AssertionError
> ____________________ TestProcessCollector.test_working_584
> _____________________
>
> self = <tests.test_process_collector.TestProcessCollector
> testMethod=test_working_584>
>
> def test_working_584(self):
> collector = ProcessCollector(proc=self.test_proc, pid=lambda:
> "584\n", registry=self.registry)
> collector._ticks = 100
>
> self.assertEqual(0.0,
> self.registry.get_sample_value('process_cpu_seconds_total'))
> self.assertEqual(10395648.0,
> self.registry.get_sample_value('process_virtual_memory_bytes'))
> > self.assertEqual(634880,
> > self.registry.get_sample_value('process_resident_memory_bytes'))
> E AssertionError: 634880 != 10158080.0
>
> tests/test_process_collector.py:44: AssertionError
> =============================== warnings summary
> ===============================
> .pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py::TestCounter::test_function_decorator
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py:45:
> DeprecationWarning: inspect.getargspec() is deprecated since Python 3.0, use
> inspect.signature() or inspect.getfullargspec()
> self.assertEqual((["r"], None, None, None), inspect.getargspec(f))
>
> .pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py::TestGauge::test_inprogress_function_decorator
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py:95:
> DeprecationWarning: inspect.getargspec() is deprecated since Python 3.0, use
> inspect.signature() or inspect.getfullargspec()
> self.assertEqual(([], None, None, None), inspect.getargspec(f))
>
> .pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py::TestGauge::test_time_function_decorator
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py:122:
> DeprecationWarning: inspect.getargspec() is deprecated since Python 3.0, use
> inspect.signature() or inspect.getfullargspec()
> self.assertEqual(([], None, None, None), inspect.getargspec(f))
>
> .pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py::TestSummary::test_function_decorator
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py:173:
> DeprecationWarning: inspect.getargspec() is deprecated since Python 3.0, use
> inspect.signature() or inspect.getfullargspec()
> self.assertEqual(([], None, None, None), inspect.getargspec(f))
>
> .pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py::TestHistogram::test_function_decorator
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py:302:
> DeprecationWarning: inspect.getargspec() is deprecated since Python 3.0, use
> inspect.signature() or inspect.getfullargspec()
> self.assertEqual(([], None, None, None), inspect.getargspec(f))
>
> .pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py::TestCollectorRegistry::test_restricted_registry
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build/tests/test_core.py:697:
> DeprecationWarning: Please use assertEqual instead.
> self.assertEquals([m], registry.restricted_registry(['s_sum']).collect())
>
> -- Docs: https://docs.pytest.org/en/latest/warnings.html
> ========= 3 failed, 228 passed, 1 skipped, 6 warnings in 4.33 seconds
> ==========
> E: pybuild pybuild:353: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_prometheus-client/build; python3.9 -m
> pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9
> returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2020/12/09/python-prometheus-client_0.7.1-1.1_unstable.log
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 marking 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 me
so that we can identify if something relevant changed in the meantime.
About the archive rebuild: The rebuild was done on a Power8 cluster part of the
Grid'5000 testbed. Hardware specs:
https://www.grid5000.fr/w/Grenoble:Hardware#drac