Package: src:python-hmmlearn Version: 0.3.2-3 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/202603/ 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:python-hmmlearn, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild 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 dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:142: Building wheel for python3.14 with "build" module I: pybuild base:384: python3.14 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn * Building wheel... /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. [... snipped ...] hmmlearn/tests/test_kl_divergence.py ..... [ 76%] hmmlearn/tests/test_multinomial_hmm.py ................ [ 81%] hmmlearn/tests/test_poisson_hmm.py ............ [ 85%] hmmlearn/tests/test_utils.py ... [ 86%] hmmlearn/tests/test_variational_categorical.py ............ [ 90%] hmmlearn/tests/test_variational_gaussian.py ............................ [ 98%] .... [100%] =============================== warnings summary =============================== .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gaussian_hmm.py: 1 warning .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_multisequence.py: 5 warnings .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py: 12 warnings .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_poisson_hmm.py: 1 warning .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 27 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/base.py:509: RuntimeWarning: underflow encountered in multiply posteriors = fwdlattice * bwdlattice .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_multisequence.py: 4 warnings .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py: 13 warnings .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_poisson_hmm.py: 1 warning .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 27 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/utils.py:29: RuntimeWarning: underflow encountered in divide a /= a_sum .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithSphericalCovars::test_fit_zero_variance[scaling] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/base.py:598: RuntimeWarning: overflow encountered in exp return np.exp(self._compute_log_likelihood(X)) .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithSphericalCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithSphericalCovars::test_fit_zero_variance[log] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/utils.py:55: RuntimeWarning: invalid value encountered in subtract a -= a_lse .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[log] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/hmm.py:744: RuntimeWarning: invalid value encountered in divide self.weights_ = w_n / w_d .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[log] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/hmm.py:756: RuntimeWarning: invalid value encountered in divide self.means_ = m_n / m_d[:, :, None] .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[log] .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithFullCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithFullCovars::test_fit_zero_variance[log] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/hmm.py:809: RuntimeWarning: invalid value encountered in divide self.covars_ = c_n / c_d .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[log] .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithFullCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithFullCovars::test_fit_zero_variance[log] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/_emissions.py:208: RuntimeWarning: divide by zero encountered in log log_cur_weights = np.log(self.weights_[i_comp]) .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_variational_categorical.py: 10 warnings .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 20 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/base.py:1215: RuntimeWarning: underflow encountered in exp self.startprob_subnorm_ = np.exp(startprob_log_subnorm) .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_variational_categorical.py: 8 warnings .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 12 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/base.py:1220: RuntimeWarning: underflow encountered in exp self.transmat_subnorm_ = np.exp(transmat_log_subnorm) .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_variational_categorical.py: 1 warning .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 31 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/base.py:1153: RuntimeWarning: underflow encountered in exp return np.exp(self._compute_subnorm_log_likelihood(X)) .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 30 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/_emissions.py:153: RuntimeWarning: underflow encountered in matmul stats['obs'] += posteriors.T @ X .pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 12 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_hmmlearn/build/hmmlearn/_emissions.py:157: RuntimeWarning: underflow encountered in matmul stats['obs**2'] += posteriors.T @ X**2 -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ========== 294 passed, 17 xfailed, 9 xpassed, 230 warnings in 26.30s =========== I: pybuild base:384: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build; python3.13 -m pytest --pyargs hmmlearn set RNG seed to 1165331465 ============================= test session starts ============================== platform linux -- Python 3.13.12, pytest-9.0.2, pluggy-1.6.0 rootdir: /<<PKGBUILDDIR>> configfile: setup.cfg plugins: typeguard-4.4.4 collected 320 items hmmlearn/tests/test_base.py ................ [ 5%] hmmlearn/tests/test_categorical_hmm.py ...................... [ 11%] hmmlearn/tests/test_gaussian_hmm.py .................................... [ 23%] ......................................F....................... [ 42%] hmmlearn/tests/test_gmm_hmm.py xxxxxXxxxxxXxxxxxX [ 48%] hmmlearn/tests/test_gmm_hmm_multisequence.py ........ [ 50%] hmmlearn/tests/test_gmm_hmm_new.py ..............XX................XX... [ 62%] .............XX................xx........ [ 75%] hmmlearn/tests/test_kl_divergence.py ..... [ 76%] hmmlearn/tests/test_multinomial_hmm.py ................ [ 81%] hmmlearn/tests/test_poisson_hmm.py ............ [ 85%] hmmlearn/tests/test_utils.py ... [ 86%] hmmlearn/tests/test_variational_categorical.py ............ [ 90%] hmmlearn/tests/test_variational_gaussian.py ............................ [ 98%] .... [100%] =================================== FAILURES =================================== _________ TestGaussianHMMWithTiedCovars.test_fit_with_priors[scaling] __________ self = <hmmlearn.tests.test_gaussian_hmm.TestGaussianHMMWithTiedCovars object at 0x7f48b8f25f40> implementation = 'scaling', init_params = 'mc', params = 'stmc', n_iter = 20 @pytest.mark.parametrize("implementation", ["scaling", "log"]) def test_fit_with_priors(self, implementation, init_params='mc', params='stmc', n_iter=20): # We have a few options to make this a robust test, such as # a. increase the amount of training data to ensure convergence # b. Only learn some of the parameters (simplify the problem) # c. Increase the number of iterations # # (c) seems to not affect the ci/cd time too much. startprob_prior = 10 * self.startprob + 2.0 transmat_prior = 10 * self.transmat + 2.0 means_prior = self.means means_weight = 2.0 covars_weight = 2.0 if self.covariance_type in ('full', 'tied'): covars_weight += self.n_features covars_prior = self.covars h = hmm.GaussianHMM(self.n_components, self.covariance_type, implementation=implementation) h.startprob_ = self.startprob h.startprob_prior = startprob_prior h.transmat_ = normalized( self.transmat + np.diag(self.prng.rand(self.n_components)), 1) h.transmat_prior = transmat_prior h.means_ = 20 * self.means h.means_prior = means_prior h.means_weight = means_weight h.covars_ = self.covars h.covars_prior = covars_prior h.covars_weight = covars_weight lengths = [200] * 10 X, _state_sequence = h.sample(sum(lengths), random_state=self.prng) # Re-initialize the parameters and check that we can converge to # the original parameter values. h_learn = hmm.GaussianHMM(self.n_components, self.covariance_type, init_params=init_params, params=params, implementation=implementation,) # don't use random parameters for testing init = 1. / h_learn.n_components h_learn.startprob_ = np.full(h_learn.n_components, init) h_learn.transmat_ = \ np.full((h_learn.n_components, h_learn.n_components), init) h_learn.n_iter = 0 h_learn.fit(X, lengths=lengths) assert_log_likelihood_increasing(h_learn, X, lengths, n_iter) # Make sure we've converged to the right parameters. # In general, to account for state switching, # compare sorted values. # a) means assert_allclose(sorted(h.means_.ravel().tolist()), sorted(h_learn.means_.ravel().tolist()), 0.01) # b) covars are hard to estimate precisely from a relatively small # sample, thus the large threshold # account for how we store the covars_compressed orig = np.broadcast_to(h._covars_, h_learn._covars_.shape) > assert_allclose( sorted(orig.ravel().tolist()), sorted(h_learn._covars_.ravel().tolist()), 10) E AssertionError: E Not equal to tolerance rtol=10, atol=0 E E Mismatched elements: 2 / 9 (22.2%) E Max absolute difference among violations: 0.02119294 E Max relative difference among violations: 48.39799969 E ACTUAL: array([-0.215859, -0.215859, -0.020755, -0.020755, 0.370281, 0.370281, E 0.624374, 0.679083, 3.635532]) E DESIRED: array([-1.927959e-01, -1.927959e-01, 4.378887e-04, 4.378887e-04, E 3.559196e-01, 3.559196e-01, 6.293362e-01, 6.718302e-01, E 3.494150e+00]) hmmlearn/tests/test_gaussian_hmm.py:251: AssertionError =============================== warnings summary =============================== .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gaussian_hmm.py: 2 warnings .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_multisequence.py: 4 warnings .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py: 13 warnings .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_poisson_hmm.py: 1 warning .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 27 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/utils.py:29: RuntimeWarning: underflow encountered in divide a /= a_sum .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gaussian_hmm.py: 2 warnings .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 30 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/_emissions.py:153: RuntimeWarning: underflow encountered in matmul stats['obs'] += posteriors.T @ X .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gaussian_hmm.py: 1 warning .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_multisequence.py: 5 warnings .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py: 12 warnings .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_poisson_hmm.py: 1 warning .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 27 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/base.py:509: RuntimeWarning: underflow encountered in multiply posteriors = fwdlattice * bwdlattice .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gaussian_hmm.py::TestGaussianHMMWithFullCovars::test_fit_zero_variance[scaling] /usr/lib/python3/dist-packages/numpy/_core/numeric.py:995: RuntimeWarning: underflow encountered in multiply return multiply(a.ravel()[:, newaxis], b.ravel()[newaxis, :], out) .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithSphericalCovars::test_fit_zero_variance[scaling] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/base.py:598: RuntimeWarning: overflow encountered in exp return np.exp(self._compute_log_likelihood(X)) .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithSphericalCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithSphericalCovars::test_fit_zero_variance[log] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/utils.py:55: RuntimeWarning: invalid value encountered in subtract a -= a_lse .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[log] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/hmm.py:744: RuntimeWarning: invalid value encountered in divide self.weights_ = w_n / w_d .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[log] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/hmm.py:756: RuntimeWarning: invalid value encountered in divide self.means_ = m_n / m_d[:, :, None] .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[log] .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithFullCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithFullCovars::test_fit_zero_variance[log] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/hmm.py:809: RuntimeWarning: invalid value encountered in divide self.covars_ = c_n / c_d .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithDiagCovars::test_fit_zero_variance[log] .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithFullCovars::test_fit_zero_variance[scaling] .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_gmm_hmm_new.py::TestGMMHMMWithFullCovars::test_fit_zero_variance[log] /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/_emissions.py:208: RuntimeWarning: divide by zero encountered in log log_cur_weights = np.log(self.weights_[i_comp]) .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_variational_categorical.py: 10 warnings .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 20 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/base.py:1215: RuntimeWarning: underflow encountered in exp self.startprob_subnorm_ = np.exp(startprob_log_subnorm) .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_variational_categorical.py: 8 warnings .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 12 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/base.py:1220: RuntimeWarning: underflow encountered in exp self.transmat_subnorm_ = np.exp(transmat_log_subnorm) .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_variational_categorical.py: 1 warning .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 31 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/base.py:1153: RuntimeWarning: underflow encountered in exp return np.exp(self._compute_subnorm_log_likelihood(X)) .pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/tests/test_variational_gaussian.py: 12 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build/hmmlearn/_emissions.py:157: RuntimeWarning: underflow encountered in matmul stats['obs**2'] += posteriors.T @ X**2 -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED hmmlearn/tests/test_gaussian_hmm.py::TestGaussianHMMWithTiedCovars::test_fit_with_priors[scaling] ===== 1 failed, 293 passed, 17 xfailed, 9 xpassed, 235 warnings in 26.23s ====== E: pybuild pybuild:483: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_hmmlearn/build; python3.13 -m pytest --pyargs hmmlearn dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13 make: *** [debian/rules:9: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 --------------------------------------------------------------------------------

