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

Reply via email to