[Debian-med-packaging] Bug#848410: python-biom-format: FTBFS randomly (failing tests)

Andreas Tille tille at debian.org
Tue Dec 20 08:06:31 UTC 2016


Hi Daniel,

thanks for the quick response.

On Mon, Dec 19, 2016 at 11:42:33PM -0800, Daniel McDonald wrote:
> Try a different seed? Same issue: it's a stochastic test.

Hmmm, shouldn't the verification routine of the test result be able to
cope with the randomness instead to fail for a random set of seeds?  I
simply sticked to your 123 example for the seed in the patch I uploaded:

   https://anonscm.debian.org/cgit/debian-med/python-biom-format.git/tree/debian/patches/random_seed_for_test.patch

I'm now wondering what might be a more promissing guess for the seed and
moreover the failure was in a different test file than I have patched -
so may be several tests would need a seed, right?

> Other option is
> bump the number of iterations it performs.

Could you provide a patch that implements this.

Kind regards

     Andreas.
 
> Best,
> Daniel
> 
> On Dec 19, 2016 23:32, "Andreas Tille" <andreas at fam-tille.de> wrote:
> 
> > Hi Daniel,
> >
> > thanks for the helpful hint.  I've uploaded a package with the suggested
> > fix and I hope this random error will be solved now.  However, there seems
> > to be another issue which happens on i386 architecture only:
> >
> >
> > I: pybuild base:184: cd /«BUILDDIR»/python-biom-
> > format-2.1.5+dfsg/.pybuild/pythonX.Y_2.7/build; python2.7 -m nose tests
> > ............................................................
> > ............................................................
> > ............................................................
> > ............................................................
> > ...........S.............
> > ----------------------------------------------------------------------
> > Ran 265 tests in 2.759s
> >
> > OK (SKIP=1)
> >         pybuild --test --test-nose -i python{version} -p 3.5
> > I: pybuild pybuild:212: cp -r /«BUILDDIR»/python-biom-format-2.1.5+dfsg/examples
> > /«BUILDDIR»/python-biom-format-2.1.5+dfsg/tests /«BUILDDIR»/python-biom-
> > format-2.1.5+dfsg/.pybuild/pythonX.Y_3.5/build
> > I: pybuild base:184: cd /«BUILDDIR»/python-biom-
> > format-2.1.5+dfsg/.pybuild/pythonX.Y_3.5/build; python3.5 -m nose tests
> > ............................................................
> > ............................................................
> > ..........................F.................................
> > ............................................................
> > ...........S.............
> > ======================================================================
> > FAIL: test_subsample (tests.test_table.SparseTableTests)
> > ----------------------------------------------------------------------
> > Traceback (most recent call last):
> >   File "/«BUILDDIR»/python-biom-format-2.1.5+dfsg/.pybuild/
> > pythonX.Y_3.5/build/tests/test_table.py", line 2263, in test_subsample
> >     (3, 1, 1)})
> > AssertionError: Items in the second set but not the first:
> > (3, 0, 0)
> >
> > ----------------------------------------------------------------------
> > Ran 265 tests in 3.098s
> >
> > FAILED (SKIP=1, failures=1)
> >
> >
> > You can find the full build log here:
> >
> >    https://buildd.debian.org/status/fetch.php?pkg=python-
> > biom-format&arch=i386&ver=2.1.5%2Bdfsg-6&stamp=1482186822
> >
> > Any idea what might be wrong here?
> >
> > Kind regards
> >
> >       Andreas.
> >
> > On Tue, Dec 20, 2016 at 05:25:10AM +1100, Daniel McDonald wrote:
> > > Thanks, Greg.
> > >
> > > Andreas, the particular test that is failing as it is stochastic. It is
> > > likely possible to just set a random seed at entry into the test here:
> > >
> > > https://github.com/biocore/biom-format/blob/master/tests/
> > test_util.py#L48
> > >
> > > Specifically, doing something like "np.random.seed(123)"
> > >
> > > Best,
> > > Daniel
> > >
> > > On Tue, Dec 20, 2016 at 5:15 AM, Greg Caporaso <gregcaporaso at gmail.com>
> > > wrote:
> > >
> > > > Hi Andreas, I'm cc'ing Daniel McDonald on this message, who is the
> > primary
> > > > maintainer of the biom-format package these days. Daniel, could you
> > follow
> > > > up with Andreas?
> > > >
> > > > On Sat, Dec 17, 2016 at 3:53 PM, Andreas Tille <andreas at an3as.eu>
> > wrote:
> > > >
> > > >> Hi Greg,
> > > >>
> > > >> the Debian packaged biom-format received a bug report which leaves me
> > > >> clueless how to track it down.  Is there possibly some way to make the
> > > >> test suite more verbose to find out what part might cause the random
> > > >> failure which you can see in the buil logs linked from the bug page
> > > >>
> > > >>    https://bugs.debian.org/848410
> > > >>
> > > >> Thanks for any idea to track this down
> > > >>
> > > >>       Andreas.
> > > >>
> > > >> On Sat, Dec 17, 2016 at 01:34:49PM +0100, Santiago Vila wrote:
> > > >> > Package: src:python-biom-format
> > > >> > Version: 2.1.5+dfsg-5
> > > >> > Severity: serious
> > > >> >
> > > >> > Dear maintainer:
> > > >> >
> > > >> > I tried to build this package in stretch with "dpkg-buildpackage -A"
> > > >> > (which is what the "Arch: all" autobuilder would do to build it)
> > > >> > but it failed:
> > > >> >
> > > >> > ------------------------------------------------------------
> > > >> --------------------
> > > >> > [...]
> > > >> >  debian/rules build-indep
> > > >> > dh build-indep --with python2,python3,bash-completion,sphinxdoc
> > > >> --buildsystem=pybuild
> > > >> >    dh_testdir -i -O--buildsystem=pybuild
> > > >> >    dh_update_autotools_config -i -O--buildsystem=pybuild
> > > >> >    dh_auto_configure -i -O--buildsystem=pybuild
> > > >> >       pybuild --configure --test-nose -i python{version} -p 2.7
> > > >> > I: pybuild base:184: python2.7 setup.py config
> > > >> > running config
> > > >> >       pybuild --configure --test-nose -i python{version} -p 3.5
> > > >> > I: pybuild base:184: python3.5 setup.py config
> > > >> > running config
> > > >> >    debian/rules override_dh_auto_build
> > > >> > make[1]: Entering directory '/<<BUILDDIR>>/python-biom-for
> > > >> mat-2.1.5+dfsg'
> > > >> >
> > > >> > [... snipped ...]
> > > >> >
> > > >> > ImportError: No module named _filter
> > > >> > /<<BUILDDIR>>/python-biom-format-2.1.5+dfsg/doc/
> > documentation/table_objects.rst:1:
> > > >> WARNING: autodoc: failed to import module u'biom.table'; the following
> > > >> exception was raised:
> > > >> > Traceback (most recent call last):
> > > >> >   File "/usr/lib/python2.7/dist-packages/sphinx/ext/autodoc.py",
> > line
> > > >> 526, in import_object
> > > >> >     __import__(self.modname)
> > > >> >   File "/<<BUILDDIR>>/python-biom-format-2.1.5+dfsg/biom/__init_
> > _.py",
> > > >> line 53, in <module>
> > > >> >     from .table import Table
> > > >> >   File "/<<BUILDDIR>>/python-biom-format-2.1.5+dfsg/biom/table.py",
> > > >> line 195, in <module>
> > > >> >     from ._filter import _filter
> > > >> > ImportError: No module named _filter
> > > >> > looking for now-outdated files... none found
> > > >> > pickling environment... done
> > > >> > checking consistency... done
> > > >> > writing... biom.1 { documentation/index documentation/biom_format
> > > >> documentation/format_versions/biom-1.0 documentation/format_versions/
> > biom-2.0
> > > >> documentation/format_versions/biom-2.1 documentation/quick_usage_
> > examples
> > > >> documentation/table_objects documentation/biom_conversion
> > > >> documentation/adding_metadata documentation/summarizing_biom_tables
> > > >> BIOM_LICENSE }
> > > >> > build succeeded, 3 warnings.
> > > >> > make[1]: Leaving directory '/<<BUILDDIR>>/python-biom-for
> > > >> mat-2.1.5+dfsg'
> > > >> >    dh_auto_test -i -O--buildsystem=pybuild
> > > >> >       pybuild --test --test-nose -i python{version} -p 2.7
> > > >> > I: pybuild pybuild:212: cp -r /<<BUILDDIR>>/python-biom-
> > format-2.1.5+dfsg/examples
> > > >> /<<BUILDDIR>>/python-biom-format-2.1.5+dfsg/tests
> > > >> /<<BUILDDIR>>/python-biom-format-2.1.5+dfsg/.pybuild/
> > pythonX.Y_2.7/build
> > > >> > I: pybuild base:184: cd /<<BUILDDIR>>/python-biom-form
> > > >> at-2.1.5+dfsg/.pybuild/pythonX.Y_2.7/build; python2.7 -m nose tests
> > > >> > ............................................................
> > > >> ............................................................
> > > >> ............................................................
> > > >> ............................................................
> > > >> ...........S.............
> > > >> > ------------------------------------------------------------
> > ----------
> > > >> > Ran 265 tests in 3.736s
> > > >> >
> > > >> > OK (SKIP=1)
> > > >> >       pybuild --test --test-nose -i python{version} -p 3.5
> > > >> > I: pybuild pybuild:212: cp -r /<<BUILDDIR>>/python-biom-
> > format-2.1.5+dfsg/examples
> > > >> /<<BUILDDIR>>/python-biom-format-2.1.5+dfsg/tests
> > > >> /<<BUILDDIR>>/python-biom-format-2.1.5+dfsg/.pybuild/
> > pythonX.Y_3.5/build
> > > >> > I: pybuild base:184: cd /<<BUILDDIR>>/python-biom-form
> > > >> at-2.1.5+dfsg/.pybuild/pythonX.Y_3.5/build; python3.5 -m nose tests
> > > >> > ............................................................
> > > >> ............................................................
> > > >> ............................................................
> > > >> ............................................................
> > > >> ...........S......F......
> > > >> > ============================================================
> > ==========
> > > >> > FAIL: test_generate_subsamples (tests.test_util.UtilTests)
> > > >> > ------------------------------------------------------------
> > ----------
> > > >> > Traceback (most recent call last):
> > > >> >   File "/<<BUILDDIR>>/python-biom-format-2.1.5+dfsg/.pybuild/python
> > > >> X.Y_3.5/build/tests/test_util.py", line 58, in
> > test_generate_subsamples
> > > >> >     (3, 1, 1)})
> > > >> > AssertionError: Items in the second set but not the first:
> > > >> > (3, 0, 0)
> > > >> >
> > > >> > ------------------------------------------------------------
> > ----------
> > > >> > Ran 265 tests in 3.575s
> > > >> >
> > > >> > FAILED (SKIP=1, failures=1)
> > > >> > E: pybuild pybuild:276: test: plugin distutils failed with: exit
> > > >> code=1: cd /<<BUILDDIR>>/python-biom-format-2.1.5+dfsg/.pybuild/
> > pythonX.Y_3.5/build;
> > > >> python3.5 -m nose tests
> > > >> > dh_auto_test: pybuild --test --test-nose -i python{version} -p 3.5
> > > >> returned exit code 13
> > > >> > debian/rules:18: recipe for target 'build-indep' failed
> > > >> > make: *** [build-indep] Error 25
> > > >> > dpkg-buildpackage: error: debian/rules build-indep gave error exit
> > > >> status 2
> > > >> > ------------------------------------------------------------
> > > >> --------------------
> > > >> >
> > > >> > The failure happens randomly on the single-CPU KVM/QEMU virtual
> > machines
> > > >> > I use as autobuilders. The approximate failure rate is about 1%.
> > > >> >
> > > >> > I attach several build logs (made on different autobuilders).
> > > >> >
> > > >> > If you could not reproduce this using sbuild on a single CPU virtual
> > > >> > machine (as I did), of course trying a lot of times (because of the
> > > >> > failure rate above), please do not downgrade or mark as
> > unreproducible,
> > > >> > I would then consider giving you access to a virtual machine on
> > which
> > > >> > I can reproduce it so that you can as well. (In such case, please
> > > >> > contact me off-list for details).
> > > >> >
> > > >> > Thanks.
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >> > _______________________________________________
> > > >> > Debian-med-packaging mailing list
> > > >> > Debian-med-packaging at lists.alioth.debian.org
> > > >> > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debi
> > > >> an-med-packaging
> > > >>
> > > >>
> > > >> --
> > > >> http://fam-tille.de
> > > >>
> > > >
> > > >
> >
> > --
> > http://fam-tille.de
> >

> _______________________________________________
> Debian-med-packaging mailing list
> Debian-med-packaging at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging


-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list