veg / tn93

TN93 fast distance calculator
MIT License
15 stars 7 forks source link

"Illegal Instruction" error on version 1.0.9, installed through conda #26

Open pcjentsch opened 2 years ago

pcjentsch commented 2 years ago

Here is the output

$ tn93 sequences.fa 
Read 103 sequences of length 29903
Will perform 5253 pairwise distance calculationsIllegal instruction

Downgrading to 1.0.6 fixes the issue. Here is the CPU info:

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                24
On-line CPU(s) list:   0-23
Thread(s) per core:    1
Core(s) per socket:    24
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 85
Model name:            Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz
Stepping:              4
CPU MHz:               2294.611
BogoMIPS:              4589.38
Hypervisor vendor:     Xen
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              1024K
L3 cache:              16896K
NUMA node0 CPU(s):     0-23
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single intel_ppin fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm xsaveopt
spond commented 2 years ago

Dear @pcjentsch,

This sounds like a bug (probably a memory error or some issue with threading). Could you possibly send the sequences.fa file to me by email (spond at temple dot edu) so that I can see if the error is reproducible?

Alternatively, would you mind running this command through gdb or lldb to check where the fault occurs?

Best, Sergei

pcjentsch commented 2 years ago

I can't send the sequences unfortunately.

On a fresh conda environment, everything seems to work fine, so this environment might just be a mess. Here is the command run through gdb anyway:

Starting program: /global/home/hpc4978/miniconda3/envs/nextstrain/bin/tn93 toronto_iqtree/aligned_from_vcf.fa
Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /global/home/hpc4978/miniconda3/envs/nextstrain/bin/../lib/libgomp.so.1]
warning: File "/usr/lib64/libthread_db-1.0.so" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /global/home/hpc4978/miniconda3/envs/nextstrain/bin/../lib/libstdc++.so.6]
Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) [in module /global/home/hpc4978/miniconda3/envs/nextstrain/bin/../lib/libgcc_s.so.1]
Read 103 sequences of length 29903
Will perform 5253 pairwise distance calculations
Program received signal SIGILL, Illegal instruction.
0x0000555555559054 in main ()