gmarcais / Jellyfish

A fast multi-threaded k-mer counter
Other
460 stars 136 forks source link

tests/swig_perl flaky - possibly hardware dependent #191

Open emollier opened 1 year ago

emollier commented 1 year ago

Hello,

From time to time, I see Jellyfish build time test suite fail on tests/swig_perl, but triggering another build (not necessarily on the same hardware though) may help. Below is the ./test-suite.log when a failure occurs, which I obtained after adjusting the debian/rules:

=======================================
   jellyfish 2.3.0: ./test-suite.log
=======================================
# TOTAL: 15
# PASS:  12
# SKIP:  2
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
SKIP: tests/big
===============
Skip big test
SKIP tests/big.sh (exit status: 77)
SKIP: tests/swig_ruby
=====================
SKIP tests/swig_ruby.sh (exit status: 77)
FAIL: tests/swig_perl
=====================
Test test_mer_file.t
ok 1 - require jellyfish;
ok 2 - Histogram
ok 3 - Dump
ok 4 - Query identical to read
1..4
Test test_hash_counter.t
ok 1 - require jellyfish;
ok 2 - mer_dna k
ok 3 - Hash size
ok 4 - Hash value length
not ok 5 - Adding to new mer
#   Failed test 'Adding to new mer'
#   at /builds/med-team/jellyfish/debian/output/source_dir/swig/perl5/t/test_hash_counter.t line 31.
not ok 6 - Adding mer to hash
#   Failed test 'Adding mer to hash'
#   at /builds/med-team/jellyfish/debian/output/source_dir/swig/perl5/t/test_hash_counter.t line 48.
1..6
# Looks like you failed 2 tests of 6.
FAIL tests/swig_perl.sh (exit status: 2)

These crashes mostly occur on the buildd build servers farm. For some reason I failed to reproduce the test failure on my own machine nor on virtual machines, so there may be a hardware dependent factor at play, and it makes it quite hard to reproduce. I could produce an example of crash on x86_64 architecture on a debian salsa CI runner, alongside a successfull pass in mostly the same conditions, but this can affect other CPU architectures, such as ppc64el or arm64.

Do you have an idea of what might be a likely source for that problem per chance?

Thanks, Étienne.