Hi, Several nvml test suite failures were found with QEMU's nvdimm device. They don't look immediately obvious to me so I'm posting them for discussion.
The majority of tests are passing. The failure logs are below. Full details: https://bugzilla.redhat.com/show_bug.cgi?id=1365721 Stefan --- # ./RUNTESTS pmem_is_pmem pmem_is_pmem/TEST1: SETUP (check/pmem/debug) pmem_is_pmem/TEST1: START: pmem_is_pmem pmem_is_pmem/TEST1 crashed (signal 6). err1.log below. {pmem_is_pmem.c:91 main} pmem_is_pmem/TEST1: Error: assertion failure: ret[0] (0x1) == ret[i] (0x0) {ut_backtrace.c:193 ut_sighandler} pmem_is_pmem/TEST1: {ut_backtrace.c:194 ut_sighandler} pmem_is_pmem/TEST1: Signal 6, backtrace: {ut_backtrace.c:144 ut_dump_backtrace} pmem_is_pmem/TEST1: 0: ./pmem_is_pmem() [0x404293] {ut_backtrace.c:144 ut_dump_backtrace} pmem_is_pmem/TEST1: 1: ./pmem_is_pmem() [0x404388] {ut_backtrace.c:144 ut_dump_backtrace} pmem_is_pmem/TEST1: 2: /lib64/libc.so.6(+0x35250) [0x7f5bbab7f250] {ut_backtrace.c:144 ut_dump_backtrace} pmem_is_pmem/TEST1: 3: /lib64/libc.so.6(gsignal+0x37) [0x7f5bbab7f1d7] {ut_backtrace.c:144 ut_dump_backtrace} pmem_is_pmem/TEST1: 4: /lib64/libc.so.6(abort+0x148) [0x7f5bbab808c8] {ut_backtrace.c:144 ut_dump_backtrace} pmem_is_pmem/TEST1: 5: ./pmem_is_pmem() [0x402c31] {ut_backtrace.c:144 ut_dump_backtrace} pmem_is_pmem/TEST1: 6: ./pmem_is_pmem() [0x401bdf] {ut_backtrace.c:144 ut_dump_backtrace} pmem_is_pmem/TEST1: 7: /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f5bbab6bb35] {ut_backtrace.c:144 ut_dump_backtrace} pmem_is_pmem/TEST1: 8: ./pmem_is_pmem() [0x401809] {ut_backtrace.c:196 ut_sighandler} pmem_is_pmem/TEST1: out1.log below. pmem_is_pmem/TEST1 out1.log pmem_is_pmem/TEST1: START: pmem_is_pmem pmem_is_pmem/TEST1 out1.log ./pmem_is_pmem /mnt/pmem/test_pmem_is_pmem1/testfile1 pmem1.log below. pmem_is_pmem/TEST1 pmem1.log <libpmem>: <1> [out.c:241 out_init] pid 710: program: /home/src/nvml/src/test/pmem_is_pmem/pmem_is_pmem pmem_is_pmem/TEST1 pmem1.log <libpmem>: <1> [out.c:243 out_init] libpmem version 1.0 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <1> [out.c:244 out_init] src version SRCVERSION:1.1-313-gcfddcb2 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [mmap.c:59 util_mmap_init] pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [libpmem.c:56 libpmem_init] pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem.c:1162 pmem_init] pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem.c:1100 pmem_get_cpuinfo] clflush supported pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem.c:1132 pmem_get_cpuinfo] using clflush pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem.c:1137 pmem_get_cpuinfo] movnt supported pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem.c:1149 pmem_get_cpuinfo] using movnt pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem.c:455 pmem_is_pmem_init] pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem.c:455 pmem_is_pmem_init] pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 0 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 1 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 0 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [pmem_linux.c:135 is_pmem_proc] returning 0 pmem_is_pmem/TEST1 pmem1.log <libpmem>: <3> [libpmem.c:69 libpmem_fini] RUNTESTS: stopping: pmem_is_pmem/TEST1 failed, TEST=check FS=pmem BUILD=debug # ./RUNTESTS obj_tx_add_range obj_tx_add_range/TEST0: SETUP (check/pmem/debug) obj_tx_add_range/TEST0: START: obj_tx_add_range obj_tx_add_range/TEST0: PASS obj_tx_add_range/TEST1: SKIP not compiled with support for Valgrind pmemcheck obj_tx_add_range/TEST2: SETUP (check/pmem/debug) obj_tx_add_range/TEST2: START: obj_tx_add_range RUNTESTS: stopping: obj_tx_add_range/TEST2 timed out, TEST=check FS=pmem BUILD=debug # ./RUNTESTS obj_pool_lock obj_pool_lock/TEST0: SETUP (check/pmem/debug) obj_pool_lock/TEST0: START: obj_pool_lock obj_pool_lock/TEST0: PASS obj_pool_lock/TEST0: SETUP (check/pmem/nondebug) obj_pool_lock/TEST0: START: obj_pool_lock obj_pool_lock/TEST0: PASS obj_pool_lock/TEST0: SETUP (check/pmem/static-debug) obj_pool_lock/TEST0: START: obj_pool_lock obj_pool_lock/TEST0: PASS obj_pool_lock/TEST0: SETUP (check/pmem/static-nondebug) obj_pool_lock/TEST0: START: obj_pool_lock obj_pool_lock/TEST0: PASS obj_pool_lock/TEST0: SETUP (check/non-pmem/debug) obj_pool_lock/TEST0: START: obj_pool_lock obj_pool_lock/TEST0: PASS obj_pool_lock/TEST0: SETUP (check/non-pmem/nondebug) obj_pool_lock/TEST0: START: obj_pool_lock obj_pool_lock/TEST0: PASS obj_pool_lock/TEST0: SETUP (check/non-pmem/static-debug) obj_pool_lock/TEST0: START: obj_pool_lock obj_pool_lock/TEST0: PASS obj_pool_lock/TEST0: SETUP (check/non-pmem/static-nondebug) obj_pool_lock/TEST0: START: obj_pool_lock obj_pool_lock/TEST0 crashed (signal 6). err0.log below. {obj_pool_lock.c:97 test_open_in_different_process} obj_pool_lock/TEST0: Error: create: Resource temporarily unavailable {ut_backtrace.c:193 ut_sighandler} obj_pool_lock/TEST0: {ut_backtrace.c:194 ut_sighandler} obj_pool_lock/TEST0: Signal 6, backtrace: {obj_pool_lock.c:90 test_open_in_different_process} obj_pool_lock/TEST0: Error: pmemobj_open after fork failed but for unexpected reason: Invalid argument {ut_backtrace.c:193 ut_sighandler} obj_pool_lock/TEST0: {ut_backtrace.c:194 ut_sighandler} obj_pool_lock/TEST0: Signal 6, backtrace: {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 0: ./obj_pool_lock.static-nondebug() [0x4187ca] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 1: ./obj_pool_lock.static-nondebug() [0x4188bf] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 2: /lib64/libc.so.6(+0x35250) [0x7f0782b09250] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 3: /lib64/libc.so.6(gsignal+0x37) [0x7f0782b091d7] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 4: /lib64/libc.so.6(abort+0x148) [0x7f0782b0a8c8] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 5: ./obj_pool_lock.static-nondebug() [0x417241] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 6: ./obj_pool_lock.static-nondebug() [0x4031aa] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 7: ./obj_pool_lock.static-nondebug() [0x4032ed] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 8: /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f0782af5b35] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 9: ./obj_pool_lock.static-nondebug() [0x402e92] {ut_backtrace.c:196 ut_sighandler} obj_pool_lock/TEST0: {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 0: ./obj_pool_lock.static-nondebug() [0x4187ca] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 1: ./obj_pool_lock.static-nondebug() [0x4188bf] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 2: /lib64/libc.so.6(+0x35250) [0x7f0782b09250] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 3: /lib64/libc.so.6(gsignal+0x37) [0x7f0782b091d7] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 4: /lib64/libc.so.6(abort+0x148) [0x7f0782b0a8c8] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 5: ./obj_pool_lock.static-nondebug() [0x417241] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 6: ./obj_pool_lock.static-nondebug() [0x40315c] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 7: ./obj_pool_lock.static-nondebug() [0x4032ed] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 8: /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f0782af5b35] {ut_backtrace.c:144 ut_dump_backtrace} obj_pool_lock/TEST0: 9: ./obj_pool_lock.static-nondebug() [0x402e92] {ut_backtrace.c:196 ut_sighandler} obj_pool_lock/TEST0: out0.log below. obj_pool_lock/TEST0 out0.log obj_pool_lock/TEST0: START: obj_pool_lock obj_pool_lock/TEST0 out0.log ./obj_pool_lock.static-nondebug /tmp/test_obj_pool_lock0/testfile RUNTESTS: stopping: obj_pool_lock/TEST0 failed, TEST=check FS=non-pmem BUILD=static-nondebug
signature.asc
Description: PGP signature