thegenemyers / DALIGNER

Find all significant local alignments between reads
Other
138 stars 61 forks source link

LAsort: segfault with automatic de-dup'ing #92

Open a-ludi opened 4 years ago

a-ludi commented 4 years ago

The changes from 477d5b92459c7e22baf2e15af712b70ee54c838b introduced a serious bug into LAsort that causes a segfault. The code crashes in LAsort.c:377.

When compiling with -fsanitize=address -fsanitize=undefined the sanitizer reports many misaligned accesses and then crashes for some reason. Maybe it is of help anyway:

$ LAsort -v assembly-reference.reads-real-pb.97.las
  assembly-reference.reads-real-pb.97: 175,058 records 6,712,342 trace bytes
LAsort.c:326:25: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:328:70: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:42:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:47:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:52:8: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:57:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:41:6: runtime error: member access within misaligned address 0x7f6c1793b86c for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b86c: note: pointer points here
  0f 64 0e 60 10 65 16 6b  0f 62 04 43 0c 00 00 00  3f 00 00 00 dc 8c 00 00  6b 16 00 00 f8 8e 00 00
              ^ 
LAsort.c:46:6: runtime error: member access within misaligned address 0x7f6c1793b86c for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b86c: note: pointer points here
  0f 64 0e 60 10 65 16 6b  0f 62 04 43 0c 00 00 00  3f 00 00 00 dc 8c 00 00  6b 16 00 00 f8 8e 00 00
              ^ 
LAsort.c:51:8: runtime error: member access within misaligned address 0x7f6c1793b86c for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b86c: note: pointer points here
  0f 64 0e 60 10 65 16 6b  0f 62 04 43 0c 00 00 00  3f 00 00 00 dc 8c 00 00  6b 16 00 00 f8 8e 00 00
              ^ 
LAsort.c:56:6: runtime error: member access within misaligned address 0x7f6c1793b86c for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b86c: note: pointer points here
  0f 64 0e 60 10 65 16 6b  0f 62 04 43 0c 00 00 00  3f 00 00 00 dc 8c 00 00  6b 16 00 00 f8 8e 00 00
              ^ 
LAsort.c:62:6: runtime error: member access within misaligned address 0x7f6c1793feb4 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793feb4: note: pointer points here
  09 e7 12 00 00 00 00 00  22 67 0a 32 02 00 00 00  0b 00 00 00 00 00 00 00  36 15 00 00 4b 00 00 00
              ^ 
LAsort.c:61:6: runtime error: member access within misaligned address 0x7f6c17943ed2 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c17943ed2: note: pointer points here
 19 59  0e 5c 16 53 16 59 11 57  00 0f 0e 00 00 00 79 00  00 00 00 00 00 00 ed 06  00 00 74 02 00 00
              ^ 
LAsort.c:66:6: runtime error: member access within misaligned address 0x7f6c17a08d1c for type 'struct Overlap', which requires 8 byte alignment
0x7f6c17a08d1c: note: pointer points here
  b0 fb 12 00 ba 7f 00 00  00 07 16 37 04 00 00 00  15 00 00 00 5a 09 00 00  0a 3a 00 00 a4 09 00 00
              ^ 
LAsort.c:67:6: runtime error: member access within misaligned address 0x7f6c17a08df6 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c17a08df6: note: pointer points here
 00 00 b0 fb 12 00  ba 7f 00 00 13 47 02 00  00 00 14 00 00 00 53 18  00 00 e0 29 00 00 92 18  00 00
             ^ 
LAsort.c:383:37: runtime error: member access within misaligned address 0x7f6c1793b9c2 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b9c2: note: pointer points here
 07 64  14 66 0a 65 0a 66 10 6e  07 58 10 00 00 00 3f 00  00 00 57 11 01 00 00 00  00 00 ea 13 01 00
              ^ 
LAsort.c:156:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:161:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:166:8: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:171:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:365:36: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:157:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:162:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:167:8: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:172:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793b836: note: pointer points here
 0f 68 0f 68 0f 64  0d 62 0c 5f 09 5f 0e 00  00 00 58 00 00 00 90 8c  00 00 70 0c 00 00 d8 8e  00 00
             ^ 
LAsort.c:177:6: runtime error: member access within misaligned address 0x7f6c1793feb4 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c1793feb4: note: pointer points here
  09 e7 12 00 00 00 00 00  22 67 0a 32 02 00 00 00  0b 00 00 00 00 00 00 00  36 15 00 00 4b 00 00 00
              ^ 
LAsort.c:176:6: runtime error: member access within misaligned address 0x7f6c17943ed2 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c17943ed2: note: pointer points here
 19 59  0e 5c 16 53 16 59 11 57  00 0f 0e 00 00 00 79 00  00 00 00 00 00 00 ed 06  00 00 74 02 00 00
              ^ 
LAsort.c:181:6: runtime error: member access within misaligned address 0x7f6c17a08cc4 for type 'struct Overlap', which requires 8 byte alignment
0x7f6c17a08cc4: note: pointer points here
  b0 fb 12 00 ba 7f 00 00  00 08 1a 3c 04 00 00 00  16 00 00 00 58 09 00 00  fa 36 00 00 a4 09 00 00
              ^ 
LAsort.c:182:6: runtime error: member access within misaligned address 0x7f6c17a08dcc for type 'struct Overlap', which requires 8 byte alignment
0x7f6c17a08dcc: note: pointer points here
  b0 fb 12 00 ba 7f 00 00  00 14 28 54 02 00 00 00  13 00 00 00 53 18 00 00  e5 1b 00 00 92 18 00 00
              ^ 
LAsort.c:186:6: runtime error: member access within misaligned address 0x7f6c18442b6a for type 'struct Overlap', which requires 8 byte alignment
0x7f6c18442b6a: note: pointer points here
 84 fe  12 00 00 00 00 00 07 33  01 17 04 00 00 00 08 00  00 00 29 09 00 00 7f 20  00 00 78 09 00 00
              ^ 
LAsort.c:187:6: runtime error: member access within misaligned address 0x7f6c18442b3e for type 'struct Overlap', which requires 8 byte alignment
0x7f6c18442b3e: note: pointer points here
 13 00 00 00 00 00  09 3a 18 60 00 0e 04 00  00 00 08 00 00 00 29 09  00 00 7f 20 00 00 78 09  00 00
            ^ 
=================================================================
==73018==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7f6c1864fcee at pc 0x7f6c586681e3 bp 0x7ffd28e713a0 sp 0x7ffd28e70b50
READ of size 1762486797 at 0x7f6c1864fcee thread T0
    #0 0x7f6c586681e2 in __interceptor_memmove /sw/tgz/gcc/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:429
    #1 0x4054b8 in main /source/daligner/LAsort.c:377
    #2 0x7f6c5724bc04 in __libc_start_main (/lib64/libc.so.6+0x21c04)
    #3 0x401fe8  (/lustre/projects/project_ludwig_pb_gaps/apps/daligner/2.0.20200322+commit-477d5b9/LAsort+0x401fe8)

0x7f6c1864fcee is located 0 bytes to the right of 13714670-byte region [0x7f6c1793b800,0x7f6c1864fcee)
allocated by thread T0 here:
    #0 0x7f6c586c7c68 in __interceptor_malloc /sw/tgz/gcc/gcc-6.2.0/libsanitizer/asan/asan_malloc_linux.cc:62
    #1 0x405a14 in Malloc /source/daligner/DB.c:67
    #2 0x4048be in main /source/daligner/LAsort.c:293
    #3 0x7f6c5724bc04 in __libc_start_main (/lib64/libc.so.6+0x21c04)

SUMMARY: AddressSanitizer: heap-buffer-overflow /sw/tgz/gcc/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:429 in __interceptor_memmove
Shadow bytes around the buggy address:
  0x0fee030c1f40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fee030c1f50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fee030c1f60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fee030c1f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0fee030c1f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0fee030c1f90: 00 00 00 00 00 00 00 00 00 00 00 00 00[06]fa fa
  0x0fee030c1fa0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fee030c1fb0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fee030c1fc0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fee030c1fd0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0fee030c1fe0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==73018==ABORTING
thegenemyers commented 4 years ago

Could you try changing line 373 to ' fptr += (ovlsize + tsize);'. I think the = sign was a typo and should have been a plus. I guess it's been working for me as all my .las do not have duplicates whereas your test file apparently does (if my guess at the error is correct). Could you please make the change and report back as to whether it works? Thanks, Gene

On 5/22/20, 8:11 AM, Arne wrote:

The changes from 477d5b9 https://github.com/thegenemyers/DALIGNER/commit/477d5b92459c7e22baf2e15af712b70ee54c838b introduced a serious bug into |LAsort| that causes a segfault. The code crashes in |LAsort.c:377| https://github.com/thegenemyers/DALIGNER/blob/477d5b92459c7e22baf2e15af712b70ee54c838b/LAsort.c#L377.

When compiling with |-fsanitize=address -fsanitize=undefined| the sanitizer reports many misaligned accesses and then crashes for some reason. Maybe it is of help anyway:

|$ LAsort -v assembly-reference.reads-real-pb.97.las assembly-reference.reads-real-pb.97: 175,058 records 6,712,342 trace bytes LAsort.c:326:25: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:328:70: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:42:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:47:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:52:8: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:57:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:41:6: runtime error: member access within misaligned address 0x7f6c1793b86c for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b86c: note: pointer points here 0f 64 0e 60 10 65 16 6b 0f 62 04 43 0c 00 00 00 3f 00 00 00 dc 8c 00 00 6b 16 00 00 f8 8e 00 00 ^ LAsort.c:46:6: runtime error: member access within misaligned address 0x7f6c1793b86c for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b86c: note: pointer points here 0f 64 0e 60 10 65 16 6b 0f 62 04 43 0c 00 00 00 3f 00 00 00 dc 8c 00 00 6b 16 00 00 f8 8e 00 00 ^ LAsort.c:51:8: runtime error: member access within misaligned address 0x7f6c1793b86c for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b86c: note: pointer points here 0f 64 0e 60 10 65 16 6b 0f 62 04 43 0c 00 00 00 3f 00 00 00 dc 8c 00 00 6b 16 00 00 f8 8e 00 00 ^ LAsort.c:56:6: runtime error: member access within misaligned address 0x7f6c1793b86c for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b86c: note: pointer points here 0f 64 0e 60 10 65 16 6b 0f 62 04 43 0c 00 00 00 3f 00 00 00 dc 8c 00 00 6b 16 00 00 f8 8e 00 00 ^ LAsort.c:62:6: runtime error: member access within misaligned address 0x7f6c1793feb4 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793feb4: note: pointer points here 09 e7 12 00 00 00 00 00 22 67 0a 32 02 00 00 00 0b 00 00 00 00 00 00 00 36 15 00 00 4b 00 00 00 ^ LAsort.c:61:6: runtime error: member access within misaligned address 0x7f6c17943ed2 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c17943ed2: note: pointer points here 19 59 0e 5c 16 53 16 59 11 57 00 0f 0e 00 00 00 79 00 00 00 00 00 00 00 ed 06 00 00 74 02 00 00 ^ LAsort.c:66:6: runtime error: member access within misaligned address 0x7f6c17a08d1c for type 'struct Overlap', which requires 8 byte alignment 0x7f6c17a08d1c: note: pointer points here b0 fb 12 00 ba 7f 00 00 00 07 16 37 04 00 00 00 15 00 00 00 5a 09 00 00 0a 3a 00 00 a4 09 00 00 ^ LAsort.c:67:6: runtime error: member access within misaligned address 0x7f6c17a08df6 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c17a08df6: note: pointer points here 00 00 b0 fb 12 00 ba 7f 00 00 13 47 02 00 00 00 14 00 00 00 53 18 00 00 e0 29 00 00 92 18 00 00 ^ LAsort.c:383:37: runtime error: member access within misaligned address 0x7f6c1793b9c2 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b9c2: note: pointer points here 07 64 14 66 0a 65 0a 66 10 6e 07 58 10 00 00 00 3f 00 00 00 57 11 01 00 00 00 00 00 ea 13 01 00 ^ LAsort.c:156:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:161:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:166:8: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:171:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:365:36: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:157:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:162:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:167:8: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:172:6: runtime error: member access within misaligned address 0x7f6c1793b836 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793b836: note: pointer points here 0f 68 0f 68 0f 64 0d 62 0c 5f 09 5f 0e 00 00 00 58 00 00 00 90 8c 00 00 70 0c 00 00 d8 8e 00 00 ^ LAsort.c:177:6: runtime error: member access within misaligned address 0x7f6c1793feb4 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c1793feb4: note: pointer points here 09 e7 12 00 00 00 00 00 22 67 0a 32 02 00 00 00 0b 00 00 00 00 00 00 00 36 15 00 00 4b 00 00 00 ^ LAsort.c:176:6: runtime error: member access within misaligned address 0x7f6c17943ed2 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c17943ed2: note: pointer points here 19 59 0e 5c 16 53 16 59 11 57 00 0f 0e 00 00 00 79 00 00 00 00 00 00 00 ed 06 00 00 74 02 00 00 ^ LAsort.c:181:6: runtime error: member access within misaligned address 0x7f6c17a08cc4 for type 'struct Overlap', which requires 8 byte alignment 0x7f6c17a08cc4: note: pointer points here b0 fb 12 00 ba 7f 00 00 00 08 1a 3c 04 00 00 00 16 00 00 00 58 09 00 00 fa 36 00 00 a4 09 00 00 ^ LAsort.c:182:6: runtime error: member access within misaligned address 0x7f6c17a08dcc for type 'struct Overlap', which requires 8 byte alignment 0x7f6c17a08dcc: note: pointer points here b0 fb 12 00 ba 7f 00 00 00 14 28 54 02 00 00 00 13 00 00 00 53 18 00 00 e5 1b 00 00 92 18 00 00 ^ LAsort.c:186:6: runtime error: member access within misaligned address 0x7f6c18442b6a for type 'struct Overlap', which requires 8 byte alignment 0x7f6c18442b6a: note: pointer points here 84 fe 12 00 00 00 00 00 07 33 01 17 04 00 00 00 08 00 00 00 29 09 00 00 7f 20 00 00 78 09 00 00 ^ LAsort.c:187:6: runtime error: member access within misaligned address 0x7f6c18442b3e for type 'struct Overlap', which requires 8 byte alignment 0x7f6c18442b3e: note: pointer points here 13 00 00 00 00 00 09 3a 18 60 00 0e 04 00 00 00 08 00 00 00 29 09 00 00 7f 20 00 00 78 09 00 00 ^

==73018==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7f6c1864fcee at pc 0x7f6c586681e3 bp 0x7ffd28e713a0 sp 0x7ffd28e70b50 READ of size 1762486797 at 0x7f6c1864fcee thread T0

0 0x7f6c586681e2 in __interceptor_memmove /sw/tgz/gcc/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:429

 #1 0x4054b8 in main /source/daligner/LAsort.c:377
 #2 0x7f6c5724bc04 in __libc_start_main (/lib64/libc.so.6+0x21c04)
 #3 0x401fe8  (/lustre/projects/project_ludwig_pb_gaps/apps/daligner/2.0.20200322+commit-477d5b9/LAsort+0x401fe8)

0x7f6c1864fcee is located 0 bytes to the right of 13714670-byte region [0x7f6c1793b800,0x7f6c1864fcee) allocated by thread T0 here:

0 0x7f6c586c7c68 in __interceptor_malloc /sw/tgz/gcc/gcc-6.2.0/libsanitizer/asan/asan_malloc_linux.cc:62

 #1 0x405a14 in Malloc /source/daligner/DB.c:67
 #2 0x4048be in main /source/daligner/LAsort.c:293
 #3 0x7f6c5724bc04 in __libc_start_main (/lib64/libc.so.6+0x21c04)

SUMMARY: AddressSanitizer: heap-buffer-overflow /sw/tgz/gcc/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:429 in __interceptor_memmove Shadow bytes around the buggy address: 0x0fee030c1f40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fee030c1f50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fee030c1f60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fee030c1f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0fee030c1f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =>0x0fee030c1f90: 00 00 00 00 00 00 00 00 00 00 00 00 00[06]fa fa 0x0fee030c1fa0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fee030c1fb0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fee030c1fc0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fee030c1fd0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0fee030c1fe0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Heap right redzone: fb Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack partial redzone: f4 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb ==73018==ABORTING |

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/thegenemyers/DALIGNER/issues/92, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABUSINSP4HA5SRHP42UU55DRSYJQTANCNFSM4NHQO3VA.

a-ludi commented 4 years ago

Thanks Gene, that fixed it.