Bug#997029: pysph: FTBFS in testing and unstable
Graham Inggs
ginggs at debian.org
Fri Oct 22 17:45:01 BST 2021
Source: pysph
Version: 1.0~b0~20191115.gite3d5e10-5
Severity: serious
Tags: ftbfs
Hi Maintainer
As can be seen in reproducible builds [1], pysph sometimes FTBS in
both testing and unstable. I've copied what I hope is the relevant
part of the log below.
Regards
Graham
[1] https://tests.reproducible-builds.org/debian/rb-pkg/pysph.html
=================================== FAILURES ===================================
_________________ MPIReduceArrayTestCase.test_parallel_reduce __________________
self = <pysph.parallel.tests.test_parallel.MPIReduceArrayTestCase
testMethod=test_parallel_reduce>
@mark.parallel
def test_parallel_reduce(self):
args = ['--directory=%s' % self.root]
> run_parallel_script.run(
filename='simple_reduction.py', args=args, nprocs=nprocs, path=path
)
pysph/parallel/tests/test_parallel.py:101:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
filename = 'simple_reduction.py', args = ['--directory=/tmp/tmpr8h_5ft1']
nprocs = 2, timeout = 30.0
path = '/build/1st/pysph-1.0~b0~20191115.gite3d5e10/.pybuild/cpython3_3.9/build/pysph/parallel/tests'
def run(filename, args=None, nprocs=2, timeout=30.0, path=None):
"""Run a python script with MPI or in serial (if nprocs=1).
Kill process
if it takes longer than the specified timeout.
Parameters:
-----------
filename - filename of python script to run under mpi.
args - List of arguments to pass to script.
nprocs - number of processes to run (1 => serial non-mpi run).
timeout - time in seconds to wait for the script to finish running,
else raise a RuntimeError exception.
path - the path under which the script is located
Defaults to the location of this file (__file__), not curdir.
"""
if args is None:
args = []
file_path = abspath(join(path, filename))
cmd = [sys.executable, file_path] + args
if nprocs > 1:
cmd = ['mpiexec', '-n', str(nprocs)] + cmd
print('running test:', cmd)
process = Popen(cmd, stdout=PIPE, stderr=PIPE)
timer = Timer(timeout, kill_process, [process])
timer.start()
out, err = process.communicate()
timer.cancel()
retcode = process.returncode
if retcode:
msg = 'test ' + filename + ' failed with returncode ' + str(retcode)
print(out.decode('utf-8'))
print(err.decode('utf-8'))
print('#'*80)
print(msg)
print('#'*80)
> raise RuntimeError(msg)
E RuntimeError: test simple_reduction.py failed with returncode -9
pysph/tools/run_parallel_script.py:54: RuntimeError
More information about the debian-science-maintainers
mailing list