[Debian-astro-maintainers] Bug#907908: healpy: FTBFS randomly (failing tests)
Santiago Vila
sanvila at debian.org
Mon Sep 3 23:32:16 BST 2018
Package: src:healpy
Version: 1.12.4-2
Severity: important
Tags: ftbfs
Dear maintainer:
I tried to build this package in buster but it failed:
--------------------------------------------------------------------------------
[...]
debian/rules build-indep
I: Activating LinkTimeOptimisation
dh build-indep --with python2,python3 --buildsystem=pybuild
dh_update_autotools_config -i -O--buildsystem=pybuild
dh_autoreconf -i -O--buildsystem=pybuild
dh_auto_configure -i -O--buildsystem=pybuild
I: pybuild base:217: python2.7 setup.py config
running config
I: pybuild base:217: python3.6 setup.py config
running config
dh_auto_build -i -O--buildsystem=pybuild
I: pybuild base:217: /usr/bin/python setup.py build
running build
running build_py
[... snipped ...]
healpy/test/test_visufunc.py::TestNoCrash::test_mollview_nocrash PASSED [ 95%]
healpy/test/test_visufunc.py::TestNoCrash::test_mollzoom_histnocrash PASSED [ 96%]
healpy/test/test_visufunc.py::TestNoCrash::test_mollzoom_ma_hist_nocrash PASSED [ 96%]
healpy/test/test_visufunc.py::TestNoCrash::test_mollzoom_ma_nocrash PASSED [ 97%]
healpy/test/test_visufunc.py::TestNoCrash::test_mollzoom_nocrash PASSED [ 98%]
healpy/test/test_visufunc.py::TestNoCrash::test_orthview_ma_nocrash PASSED [ 99%]
healpy/test/test_visufunc.py::TestNoCrash::test_orthview_nocrash PASSED [100%]
=================================== FAILURES ===================================
__________________ test_rotate_map_polarization_with_spectrum __________________
def test_rotate_map_polarization_with_spectrum():
"""Rotation of reference frame should not change the angular power spectrum.
In this test we create a map from a spectrum with a pure EE signal and check
that the spectrum of this map and the spectrum of the same map rotated
from Galactic to Ecliptic agrees.
This test checks if the QU rotation is correct"""
nside = 32
cl = np.zeros((6, 96), dtype=np.double)
# Set ell=1 for EE to 1
cl[1][2] = 1
gal2ecl = Rotator(coord=["G", "E"])
m_original = hp.synfast(cl, nside=nside, new=True)
cl_from_m_original = hp.anafast(m_original)
m_rotated = gal2ecl.rotate_map(m_original)
cl_from_m_rotated = hp.anafast(m_rotated)
> assert np.abs(cl_from_m_rotated - cl_from_m_original).sum() < 0.011
E AssertionError: assert 0.011555226184421424 < 0.011
E + where 0.011555226184421424 = <built-in method sum of numpy.ndarray object at 0x7f80d0583d50>()
E + where <built-in method sum of numpy.ndarray object at 0x7f80d0583d50> = array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n 0.00000000e+00, 0.00000000e+00, 0.00000000... 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]).sum
E + where array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n 0.00000000e+00, 0.00000000e+00, 0.00000000... 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]) = <ufunc 'absolute'>((array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n 0.00000000e+00, 0.00000000e+00, 0.00000000... 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]) - array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n 0.00000000e+00, 0.00000000e+00, 0.00000000... 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])))
E + where <ufunc 'absolute'> = np.abs
healpy/test/test_rotator.py:54: AssertionError
----------------------------- Captured stdout call -----------------------------
Sigma is 0.000000 arcmin (0.000000 rad)
-> fwhm is 0.000000 arcmin
==================== 1 failed, 127 passed in 10.47 seconds =====================
E: pybuild pybuild:338: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.6_healpy/build; python3.6 -m pytest --doctest-modules
dh_auto_test: pybuild --test --test-pytest -i python{version} -p 3.6 returned exit code 13
make[1]: *** [debian/rules:38: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:27: build-indep] Error 2
dpkg-buildpackage: error: debian/rules build-indep subprocess returned exit status 2
--------------------------------------------------------------------------------
This is just how the build ends. I've put full build logs here:
https://people.debian.org/~sanvila/build-logs/healpy/
I've just reported a bug like this in garli. Apparently, the tests
perform some kind of simulation based on random numbers.
Please make this reproducible by using a fixed seed, so that the
random numbers are always the same. Otherwise the package will always
fail with a probability > 0.
To reproduce, just build the package a few times with sbuild on a
single-CPU machine as I did. If you need a test machine where this
happens please say so.
If this is really a bug in one of the build-depends, please use reassign and affects,
so that this is still visible in the BTS web page for this package.
Thanks.
More information about the Debian-astro-maintainers
mailing list