Bug#1030885: python-cogent: FTBFS (some tests require more than one CPU)

2023-10-19 Thread Andreas Tille
Hi Santiago,

Am Thu, Oct 19, 2023 at 11:55:47PM +0200 schrieb Santiago Vila:
> Anyway, I'll try to find a fix.

Great.  Meanwhile I've added you to the team on Salsa.

Thanks a lot for all your work
   Andreas. 

-- 
http://fam-tille.de



Bug#1030885: python-cogent: FTBFS (some tests require more than one CPU)

2023-10-19 Thread Santiago Vila

found 1030885 2023.2.12a1+dfsg-2
owner 103088 !
thanks

Hi. This is happening again in version 2023.2.12a1+dfsg-2.

This is the way it fails:

=== FAILURES ===
 test_write_db_parallel 

[...]
else:
if max_workers <= 0:

  raise ValueError("max_workers must be greater than 0")

E   ValueError: max_workers must be greater than 0


My theory is that "test_write_db_parallel", which was disabled
in version 2022.10.31a1+dfsg-1, was inadvertedly reenabled
again in commit c0a8fffe ("Refresh patches"). Maybe because of
a git conflict.

Anyway, I'll try to find a fix.

Thanks.



Bug#1030885: python-cogent: FTBFS (some tests require more than one CPU)

2023-02-08 Thread Santiago Vila

Package: src:python-cogent
Version: 2020.12.21a+dfsg-4
Severity: important
Tags: ftbfs patch

Dear maintainer:

During a rebuild of all packages in bookworm, your package failed to build:


[...]
 debian/rules binary-indep
dh binary-indep --with python3 --buildsystem=pybuild
   dh_update_autotools_config -i -O--buildsystem=pybuild
   dh_autoreconf -i -O--buildsystem=pybuild
   dh_auto_configure -i -O--buildsystem=pybuild
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<>'
dh_auto_build
I: pybuild plugin_flit:75: Installing package /<>/src/cogent3 -> 
/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3
I: pybuild plugin_flit:88: Writing dist-info 
/<>/.pybuild/cpython3_3.10_cogent3/build/
set -x; cd doc; PYTHONPATH=/<> http_proxy='127.0.0.1:9' 
/usr/bin/make html
+ cd doc
+ PYTHONPATH=/<> http_proxy=127.0.0.1:9 /usr/bin/make html
make[2]: Entering directory '/<>/doc'

[...]

=== FAILURES ===
__ TestBootstrap.test_bstrap_parallel __

self = 

def test_bstrap_parallel(self):
"""exercising bootstrap with parallel"""
aln = load_aligned_seqs(join(data_dir, "brca1.fasta"), moltype="dna")
aln = aln.take_seqs(aln.names[:3])
aln = aln.omit_gap_pos(allowed_gap_frac=0)
opt_args = dict(max_evaluations=20, limit_action="ignore")
m1 = evo_app.model("F81", opt_args=opt_args)
m2 = evo_app.model("HKY85", opt_args=opt_args)
hyp = evo_app.hypothesis(m1, m2)
strapper = evo_app.bootstrap(hyp, num_reps=2, parallel=True)
result = strapper(aln)

  self.assertIsInstance(result, evo_app.bootstrap_result)

E   AssertionError: NotCompleted(type=ERROR, origin=bootstrap, 
source="/<>/.pybuild/cpython3_3.10_cogent3/build/tests/data/brca1.fasta",
 message="Traceback (most recent call last):
E File 
"/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3/app/composable.py",
 line 312, in _trapped_call
E   val = func(val, *args, **kwargs)
E File 
"/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3/app/evo.py", 
line 461, in run
E   sym_results = [r for r in map_fun(self._fit_sim, 
range(self._num_reps)) if r]
E File 
"/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3/app/evo.py", line 461, 
in 
E   sym_results = [r for r in map_fun(self._fit_sim, 
range(self._num_reps)) if r]
E File 
"/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3/util/parallel.py",
 line 169, in imap
E   chunksize = get_default_chunksize(s, max_workers)
E File 
"/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3/util/parallel.py",
 line 90, in get_default_chunksize
E   chunksize, remainder = divmod(len(s), max_workers * 4)
E   ZeroDivisionError: integer division or modulo by zero
E   ") is not an instance of 

/<>/.pybuild/cpython3_3.10_cogent3/build/tests/test_app/test_evo.py:858:
 AssertionError
 TestIo.test_write_db_parallel _

self = 

def test_write_db_parallel(self):
"""writing with overwrite in parallel should reset db"""
with TemporaryDirectory(dir=".") as dirname:
outdir = join(dirname, "delme.tinydb")
dstore = io_app.get_data_store(self.basedir, suffix="fasta")
members = dstore.filtered(
callback=lambda x: "brca1.fasta" not in x.split("/")
)
reader = io_app.load_unaligned()
aligner = align_app.align_to_ref()
writer = write_db(outdir, create=True, if_exists="overwrite")
process = reader + aligner + writer


  r = process.apply_to(

members, show_progress=False, parallel=True, cleanup=True
)

/<>/.pybuild/cpython3_3.10_cogent3/build/tests/test_app/test_io.py:523:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3/util/progress_display.py:197:
 in f
result = slow_function(*args, **kw)
/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3/app/composable.py:487:
 in apply_to
for result in ui.series(to_do, count=len(inputs)):
/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3/util/progress_display.py:123:
 in series
for (i, item) in enumerate(items):
/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3/util/parallel.py:240:
 in as_completed
yield from _as_completed_mproc(f, s, max_workers)
/<>/.pybuild/cpython3_3.10_cogent3/build/cogent3/util/parallel.py:225:
 in _as_completed_mproc
with concurrentfutures.ProcessPoolExecutor(max_workers=max_workers) as 
executor:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = 
max_workers = 0, mp_context = None, initializer = None, initargs = ()

def __init__(self, max_workers=None, mp_context=None,