Details
Description
Fallout of errors coming from new UBSAN Build variants in WT-7552. Within src/checksum/x86/crc32-x86.c.
[2021/06/28 05:05:12.512] ../src/checksum/x86/crc32-x86.c:62:46: runtime error: load of misaligned address 0x7f3a02f2a014 for type 'const uint64_t' (aka 'const unsigned long'), which requires 8 byte alignment
|
[2021/06/28 05:05:12.512] 0x7f3a02f2a014: note: pointer points here
|
[2021/06/28 05:05:12.512] 54 68 65 20 71 75 69 63 6b 20 62 72 6f 77 6e 20 66 6f 78 20 6a 75 6d 70 73 20 6f 76 65 72 20 74
|
[2021/06/28 05:05:12.512] ^
|
[2021/06/28 05:05:12.512] #0 0x7f3a01dc45ff in __wt_checksum_hw /data/mci/ca8a7d950f1bf956b286e945a18a82e9/wiredtiger/build_posix/../src/checksum/x86/crc32-x86.c:62:46
|
[2021/06/28 05:05:12.512] #1 0x42338f in main /data/mci/ca8a7d950f1bf956b286e945a18a82e9/wiredtiger/build_posix/test/csuite/../../../test/csuite/wt2695_checksum/main.c:108:10
|
[2021/06/28 05:05:12.512] #2 0x7f3a0044dbf6 in __libc_start_main /build/glibc-S9d2JN/glibc-2.27/csu/../csu/libc-start.c:310
|
[2021/06/28 05:05:12.512] #3 0x4036c9 in _start (/data/mci/ca8a7d950f1bf956b286e945a18a82e9/wiredtiger/build_posix/test/csuite/test_wt2695_checksum+0x4036c9)
|
[2021/06/28 05:05:12.512] FAIL test_wt2695_checksum (exit status: 1)
|
The error is pointing towards this line.
p64 = (const uint64_t *)p; |
/* Checksum in 8B chunks. */ |
for (nqwords = len / sizeof(uint64_t); nqwords; nqwords--) { |
__asm__ __volatile__(".byte 0xF2, 0x48, 0x0F, 0x38, 0xF1, 0xF1" |
: "=S"(crc) |
: "0"(crc), "c"(*p64)); |
p64++;
|
}
|
Verify with UBSAN build again once fixed.