[Debichem-devel] Bug#1108309: mdanalysis: FTBFS randomly: autobuilder hangs
Santiago Vila
sanvila at debian.org
Fri Jul 4 18:25:07 BST 2025
found 1108309 2.9.0-9
tags 1108309 patch
thanks
Hi. My autobuilders still hang when trying to build this package.
All the time, as in "tried 50 times and failed 50 times".
I've put recent build logs here:
https://people.debian.org/~sanvila/build-logs/202507/
Those build logs were produced using machines with 2 CPUs.
When using machines with one CPU, the failure rate is only 10%.
Some of the existing PRs here:
https://github.com/MDAnalysis/mdanalysis/pulls
read like "enable parallelization on XXX" or "enable parallelization on YYY".
Also, in page 2 of Issues:
https://github.com/MDAnalysis/mdanalysis/issues?page=2
there is a number of them saying "Implement parallelization or mark as unparallelizable".
I think this is an upstream bug. Maybe the tests are buggy in
a way that they need a minimum number of CPUs to run (probably
in an unintended way), and such number is unfortunately strictly
greater than 2. If that's the case, we (Debian) should be honest
and skip those tests when we know for sure that they will fail
(as in the (untested) attached patch).
But maybe I'm over-diagnosing this, and many of the functions that have
been modified "so that they run in parallel" do not really work ok
in parallel.
Can you please forward this upstream? (Or give me some hint about
how I should word the issue myself, as I have a github account).
Thanks.
-------------- next part --------------
--- a/debian/rules
+++ b/debian/rules
@@ -120,13 +120,13 @@ execute_after_dh_auto_clean:
ifeq (yes,$(findstring yes,$(RUNTEST)))
override_dh_auto_test:
set -e; \
- for py in $(shell py3versions -rv); do \
+ if [ $(nproc) -gt 2 ]; then for py in $(shell py3versions -rv); do \
echo "=== testing with python$$py ==="; \
pydir=`pybuild -p $$py --system=distutils --print {build_dir}`; \
MPLBACKEND=agg PYTHONPATH=$$pydir python$$py -mpytest -v -k "$(SKIP_TESTS)" --disable-pytest-warnings testsuite; \
rm -rf $$pydir/MDAnalysis/.hypothesis; \
rm -rf $$pydir/MDAnalysis/.duecredit.p; \
- done
+ done; fi
endif
execute_after_dh_python3:
More information about the Debichem-devel
mailing list