When turning on the import functionality in test/format an assert gets hit:
[2021/05/07 04:44:57.277] [1620362689:383685][40914:0x7f7ded7fa700], t: __posix_file_read, 423: !pfh->direct_io || S2C(session)->buffer_alignment == 0 || (!((uintptr_t)buf & (uintptr_t)(S2C(session)->buffer_alignment - 1)) && len >= S2C(session)->buffer_alignment && len % S2C(session)->buffer_alignment == 0) [2021/05/07 04:44:57.277] [1620362689:383711][40914:0x7f7ded7fa700], t: __wt_abort, 28: aborting WiredTiger library
The backtrace shows as
(gdb) bt #0 0x00007f0e9a2b793f in raise () from /lib64/libc.so.6 #1 0x00007f0e9a2a1c95 in abort () from /lib64/libc.so.6 #2 0x000000000041358a in __wt_abort (session=session@entry=0x7f0e3c027140) at ../src/os_common/os_abort.c:30 #3 0x0000000000414603 in __posix_file_read (file_handle=0x7f0e3c059a70, wt_session=0x7f0e3c027140, offset=0, len=<optimized out>, buf=0x7f0e3e0f47f0) at ../src/os_posix/os_fs.c:420 #4 0x00000000004c4536 in __wt_read (buf=0x7f0e3e0f47f0, len=131072, offset=0, fh=0x7f0e3e0b0fe0, session=0x7f0e3c027140) at ../src/include/os_fhandle_inline.h:106 #5 __wt_copy_and_sync (wt_session=wt_session@entry=0x7f0e3c027140, from=from@entry=0x64941a "import.wt", to=to@entry=0x7f0e567fb680 "../import.wt") at ../src/os_common/filename.c:141 #6 0x000000000043de2a in copy_file_into_directory (name=0x64941a "import.wt", session=0x7f0e3c027140) at ../../../test/format/import.c:222 #7 import (arg=<optimized out>) at ../../../test/format/import.c:104 #8 0x00007f0e9a8632de in start_thread () from /lib64/libpthread.so.0 #9 0x00007f0e9a37ca63 in clone () from /lib64/libc.so.6
It seems to be trying to do a __wt_copy_and_sync and fails when reading in the import.wt file, the information around the assert shows as:
(gdb) print $3->buffer_alignment $4 = 512 (gdb) print pfh->direct_io $5 = true