Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault for specific sequence #5

Closed
LotusIodid opened this issue Sep 10, 2023 · 1 comment
Closed

Segmentation fault for specific sequence #5

LotusIodid opened this issue Sep 10, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@LotusIodid
Copy link

Minimal example:

import pyopal
import archspec
print(archspec.cpu.host())

db = pyopal.Database([
   'MSKPPPKPAKPGQVKVYRALFTFDPRTPDELYFEEGDILYISDTSDSNWWKGTCRGRTGLIPSNYVAEQAESIDNPMHEAAKRGNLSWLRECLDNKVGINGLDKAGNTSLYWACHGGHKDVVEILLSQPNCELNQQNKLGDTPLHAAAWKGYSDIVEMLLNKNARTDVVNNEKKTALDMATNAQCASLLKRKLGGVILRTHSNAEEYLDDEDSD'
   'MSKPPPKPAKPGQVKVFRALFTFDPRTPDELYFEEGDILYISDTSDTNWWKGTCRGRTGLIPSNYVAEQAETIDHPMHEAAKRGNLSWLRECVENKVGINGLDKAGNTALYWACHGGHKDVVELLLNQPSVELNQQNKLGDTVLHAAAWKGYSDIVEMLLDKNARTDIRNNENKLALEMATNAQCASLLKRKQGTNVTRTLSNAEEYLDDDDSD',
   'MSKPPPKPVKPGQVKVFRALYTFEPRTPDELYFEEGDILYIADMSDTNWWKGTCKGKTGLIPSNYVAEQAESIDNPLHEAAKRGNLSWLRECLENRVGVNGLDKAGSTALYWGCHGGHKDVVDMLLAQPNIELNQQNKLGDTALHAAAWKGYADIVELLLVKGARTDLRNNEKKLALDMATNAQCASLLKKKQAQGIVRTSSNADEYLDDEDSD',
   ])
seq = 'MAAEGSEVLKPSPKPIKPGQVKVFRALYTFELRTPEELYFEEADIIYITDMSDTSWWKGTCKGQTGLIPSNYVAEQAESIDNPLHEACLDNPVGVDGRDKAGSTALHWACHGGRKDTVEAPFTRPNTELNQQNKLGDAALHAAAWKGCADIVQLLLAKDARTDLNNEKKLALDMATNAAGASLLKKKRGADAVQTLSNTEDYLFFFFFFF';
print(db.search(seq, mode="full", algorithm="nw"))

Output:

broadwell
Segmentation fault (core dumped)

Stacktrace:

                Found module /root/micromamba/envs/tmp/bin/python3.11 without build-id.
                Found module /root/micromamba/envs/tmp/lib/python3.11/lib-dynload/math.cpython-311-x86_64-linux-gnu.so without build-id.
                Found module /root/micromamba/envs/tmp/lib/python3.11/lib-dynload/select.cpython-311-x86_64-linux-gnu.so without build-id.
                Found module /root/micromamba/envs/tmp/lib/python3.11/site-packages/pyopal/_opal_avx2.cpython-311-x86_64-linux-gnu.so with build-id: a841203005b553c0ce68bb9a84386fadb171eea3
                Found module /root/micromamba/envs/tmp/lib/python3.11/site-packages/pyopal/_opal_sse4.cpython-311-x86_64-linux-gnu.so with build-id: 3fb75bcf716affa84d20a4e00e13343108a7d305
                Found module /root/micromamba/envs/tmp/lib/python3.11/site-packages/pyopal/_opal_sse2.cpython-311-x86_64-linux-gnu.so with build-id: d4b5c00ab2dd9282a1c87572615f0605a0b807e0
                Found module /root/micromamba/envs/tmp/lib/libgcc_s.so.1 without build-id.
                Found module /root/micromamba/envs/tmp/lib/libstdc++.so.6.0.31 without build-id.
                Found module /root/micromamba/envs/tmp/lib/python3.11/lib-dynload/_posixsubprocess.cpython-311-x86_64-linux-gnu.so without build-id.
                Found module /root/micromamba/envs/tmp/lib/python3.11/lib-dynload/_json.cpython-311-x86_64-linux-gnu.so without build-id.
                Found module /root/micromamba/envs/tmp/lib/python3.11/lib-dynload/fcntl.cpython-311-x86_64-linux-gnu.so without build-id.
                Found module /root/micromamba/envs/tmp/lib/python3.11/site-packages/pyopal/_opal.cpython-311-x86_64-linux-gnu.so with build-id: 0db7d37356d05183777036bbe151e63d83383e3d
                Found module linux-vdso.so.1 with build-id: 99df10e56dd5eafb5d4529f48a70e4bd75b2c2b0
                Found module ld-linux-x86-64.so.2 with build-id: 61ef896a699bb1c2e4e231642b2e1688b2f1a61e
                Found module librt.so.1 with build-id: 1030be4690f8aa93b63acd9180b3037d99a974bf
                Found module libc.so.6 with build-id: 69389d485a9793dbe873f0ea2c93e02efaa9aa3d
                Found module libm.so.6 with build-id: 27e82301dba6c3f644404d504e1bb1c97894b433
                Found module libutil.so.1 with build-id: 2bac9e4cf30824d56388dc43b83a2ad87d1bd33d
                Found module libdl.so.2 with build-id: 952123c3bdce7c3370553717942b4878d1fad797
                Found module libpthread.so.0 with build-id: e62798b68557abb4bc5548aba2640cd5ab948f36
                Stack trace of thread 95318:
                #0  0x00007fe5fdea9fa1 n/a (/root/micromamba/envs/tmp/lib/python3.11/site-packages/pyopal/_opal_avx2.cpython-311-x86_64-linux-gnu.so + 0x17fa1)
                #1  0x00007fe5fe88e91b n/a (/root/micromamba/envs/tmp/lib/python3.11/site-packages/pyopal/_opal.cpython-311-x86_64-linux-gnu.so + 0x5991b)
                #2  0x00005623717b636a n/a (/root/micromamba/envs/tmp/bin/python3.11 + 0x22636a)

The bug depends on the sequences. It has not occurred on the same machine, same config, and same binary for multiple hundreds of other sequences.

#lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         46 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  16
  On-line CPU(s) list:   0-15
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
    CPU family:          6
    Model:               79
    Thread(s) per core:  2
    Core(s) per socket:  8
    Socket(s):           1
    Stepping:            1
    CPU max MHz:         3000.0000
    CPU min MHz:         1200.0000
    BogoMIPS:            4600.01
    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 xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid s
                         se4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx xsaveopt
Virtualization features: 
  Hypervisor vendor:     Xen
  Virtualization type:   full
Caches (sum of all):     
  L1d:                   256 KiB (8 instances)
  L1i:                   256 KiB (8 instances)
  L2:                    2 MiB (8 instances)
  L3:                    45 MiB (1 instance)
NUMA:                    
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-15
Vulnerabilities:         
  Gather data sampling:  Not affected
  Itlb multihit:         KVM: Mitigation: VMX unsupported
  L1tf:                  Mitigation; PTE Inversion
  Mds:                   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
  Meltdown:              Mitigation; PTI
  Mmio stale data:       Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
  Retbleed:              Not affected
  Spec store bypass:     Vulnerable
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Retpolines, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
  Srbds:                 Not affected
  Tsx async abort:       Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
@althonos althonos added the bug Something isn't working label Sep 12, 2023
@althonos
Copy link
Owner

Hi @LotusIodid , was able to confirm the bug and trace it back in the Opal source code. Please install v0.4.2, it should work properly now that I have applied a patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants