[Debian-med-packaging] Bug#775621: python-biopython: FTBFS in jessie: Tests failures

Lucas Nussbaum lucas at debian.org
Sun Jan 18 14:51:43 UTC 2015

On 18/01/15 at 23:50 +1100, Stuart Prescott wrote:
> Control: tag -1 unreproducible
> The actual failure is:
> test_raxml_tool ... FAIL
> […]
> ======================================================================
> ERROR: test_raxml (test_raxml_tool.AppTests)
> Run RAxML using the wrapper.
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/«BUILDDIR»/python-
> biopython-1.64+dfsg/.pybuild/pythonX.Y_2.7/build/Tests/test_raxml_tool.py", 
> line 45, in test_raxml
>     out, err = cmd()
>   File "/«BUILDDIR»/python-
> biopython-1.64+dfsg/.pybuild/pythonX.Y_2.7/build/Bio/Application/__init__.py", 
> line 513, in __call__
>     stdout_str, stderr_str)
> ApplicationError: Non-zero return code 255 from 'raxmlHPC -m PROTCATWAG -n 
> test -p 10000 -s Phylip/interlaced2.phy'
> ----------------------------------------------------------------------
> I cannot reproduce this failure in a jessie chroot. I'm unable to cause 
> raxmlHPC to exit(-1) here when I try (although it certainly has plenty of 
> places where it can do that in its code).

Trying to run raxml manually, I get:

(jessie-amd64-sbuild)user at ip-172-31-5-2:/tmp/python-biopython-1.64+dfsg/Tests$ raxmlHPC -m PROTCATWAG -n test -p 10000 -s Phylip/interlaced2.phy     
Use raxml with SSE3 support (1 cpus)

The number of threads is currently set to 1
Specify the number of threads to run via -T numberOfThreads
NumberOfThreads must be set to an integer value greater than 1

(jessie-amd64-sbuild)user at ip-172-31-5-2:/tmp/python-biopython-1.64+dfsg/Tests$ echo $?

However on my laptop, I get:

*** lucas at grr:/tmp/python-biopython-1.64+dfsg/Tests$ raxmlHPC -m PROTCATWAG -n test -p 10000 -s Phylip/interlaced2.phy
Use raxml with AVX support (2 cpus)

This is the RAxML Master Pthread

This is RAxML Worker Pthread Number: 1

So it seems that raxml tries to guess the fastest possible implementation based
on CPU capabilities. /proc/cpuinfo on EC2 does not include AVX, so it fallbacks
to a SSE3 implementation, that requires specifying the number of threads.
(it works if I add -T 2)

Ideally, there would be a sane default for each RAxML implementation.

It can easily be argued that this is not RC, given that it should be possible
to build the package on a machine where SSE3 is not the default raxml

Another option could be to add '-T 2' to the raxml command-line, but I haven't
checked what happens if -T is specified on an implementation that does not
support threads.  Or just switch to using raxmlHPC-PTHREADS, but then it
defeats the purpose of the test...

More information about the Debian-med-packaging mailing list