[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Urgent: Spades Update before freeze



Hi Andreas, Hi Juhani,

Andreas Tille, on 2021-02-26 22:13:29 +0100:
> On Fri, Feb 26, 2021 at 09:58:11PM +0200, Juhani Numminen wrote:
> > Now when I run the self-tests, I get an Illegal Instruction error.
> > 
> > > $ metaspades --test
> > >
> > ...
> > >
> > > == Error ==  system call for: "['/usr/libexec/spades/spades-hammer', '/home/juhani/Projektit/deb/spades/spades/spades_test/corrected/configs/config.info']" finished abnormally, OS return value: -4
> > >
> > > In case you have troubles running SPAdes, you can write to spades.support@cab.spbu.ru
> > > or report an issue on our GitHub repository github.com/ablab/spades
> > > Please provide us with params.txt and spades.log files from the output directory.
> > >
> > > SPAdes log can be found here: /home/juhani/Projektit/deb/spades/spades/spades_test/spades.log
> > 
> > Here's a GDB session.
> > 
> > > $ gdb /usr/libexec/spades/spades-hammer
> > ...
> > > (gdb) r /home/juhani/Projektit/deb/spades/spades/spades_test/corrected/configs/config.info
> > ...
> > 
> >   0:00:00.333     1M / 83M   INFO   K-mer Counting           (kmer_data.cpp             : 309)   Filtering singleton k-mers
> >   0:00:00.336     1M / 83M   INFO   K-mer Counting           (kmer_data.cpp             : 315)   Processing /usr/share/spades/test_dataset/ecoli_1K_1.fq.gz
> > Thread 3 "spades-hammer" received signal SIGILL, Illegal instruction.
> > [Switching to Thread 0x7ffff7221700 (LWP 17206)]
> > offset_lower_bound (qf=0x7fffffffb760, qf=0x7fffffffb760, slot_index=2699) at ./assembler/ext/src/gqf/gqf.c:496
> > warning: Source file is more recent than executable.
> > 496			return popcnt(occupieds) - popcnt(runends);
> > (gdb) bt
> > #0  offset_lower_bound (qf=0x7fffffffb760, qf=0x7fffffffb760, slot_index=2699) at ./assembler/ext/src/gqf/gqf.c:496
> > #1  is_empty (slot_index=2699, qf=0x7fffffffb760) at ./assembler/ext/src/gqf/gqf.c:503
> > #2  insert1 (qf=0x7fffffffb760, hash=<optimized out>, lock=lock@entry=true, spin=<optimized out>) at ./assembler/ext/src/gqf/gqf.c:1032
> > #3  0x00005555555ec218 in qf_insert (qf=qf@entry=0x7fffffffb760, key=<optimized out>, value=value@entry=0, count=count@entry=1, lock=lock@entry=true, spin=spin@entry=true) at ./assembler/ext/src/gqf/gqf.c:1629
> > #4  0x00005555555a6f7f in qf::cqf::add (spin=true, lock=true, count=1, d=<optimized out>, this=0x7fffffffb760) at ./assembler/src/common/adt/cqf.hpp:44
> > #5  qf::cqf_with_hasher<Seq<21ul, unsigned long> >::add (spin=true, lock=true, count=1, o=..., this=0x7fffffffb760) at ./assembler/src/common/adt/cqf.hpp:131
> > #6  KMerMultiplicityCounter::operator() (this=0x7fffffffb760, r=std::unique_ptr<Read> = {...}) at ./assembler/src/projects/hammer/kmer_data.cpp:215
> > #7  0x000055555559c397 in hammer::ReadProcessor::_ZN6hammer13ReadProcessor3RunI11ireadstream23KMerMultiplicityCounterEEbRT_RT0_._omp_fn.0(void) () at /usr/include/c++/10/bits/unique_ptr.h:172
> > #8  0x00007ffff7c27de6 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
> > #9  0x00007ffff7f67ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
> > #10 0x00007ffff7b2adef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
> > (gdb)
> > 
> 
> I'd recommend forwarding this in another issue.  Spades upstream is very
> quick in responding and supportive as we have seen.

This is a baseline violation caused by inlined assembler code.
If that helps, I pushed a small patch this morning to replace by
a call to __builtin_popcount, which looked more portable.  I now
hit a segmentation fault when running autopkgtest and am short
on time myself to investigate further.

Anyway, I hope this helps,
-- 
Étienne Mollier <etienne.mollier@mailoo.org>
Fingerprint:  8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
Sent from /dev/pts/1, please excuse my verbosity.

Attachment: signature.asc
Description: PGP signature


Reply to: