pmem / issues

Old issues repo for PMDK.
http://pmem.io
13 stars 7 forks source link

Test: obj_recovery/TEST[1,4,7]: SETUP (all/pmem/debug/memcheck) #1107

Closed Greg091 closed 5 years ago

Greg091 commented 5 years ago

ISSUE:

Environment Information

./RUNTESTS obj_recovery -s TEST1 -m force-enable -t all
./RUNTESTS obj_recovery -s TEST4 -m force-enable -t all
./RUNTESTS obj_recovery -s TEST7 -m force-enable -t all

How often bug is revealed: (always, often, rare): Always

Actual behavior:

./RUNTESTS obj_recovery -s TEST1 -m force-enable -t all
obj_recovery/TEST1: SETUP (all/pmem/debug/memcheck)
obj_recovery/TEST1 failed with Valgrind. See memcheck1.log. First 20 lines below.
obj_recovery/TEST1 memcheck1.log ==69586==    by 0x4E7625F: tx_free_existing_vec_entry (tx.c:328)
obj_recovery/TEST1 memcheck1.log ==69586==    by 0x4E6F8A3: pvector_pop_back (pvector.c:278)
obj_recovery/TEST1 memcheck1.log ==69586==    by 0x4E764ED: tx_clear_undo_log (tx.c:391)
obj_recovery/TEST1 memcheck1.log ==69586==    by 0x4E765A0: tx_abort_alloc (tx.c:415)
obj_recovery/TEST1 memcheck1.log ==69586==    by 0x4E77B40: tx_abort (tx.c:920)
obj_recovery/TEST1 memcheck1.log ==69586==    by 0x4E7C146: lane_transaction_recovery (tx.c:2308)
obj_recovery/TEST1 memcheck1.log ==69586==    by 0x4E5D1D3: lane_recover_and_section_boot (lane.c:305)
obj_recovery/TEST1 memcheck1.log ==69586==    by 0x4E65CEF: obj_runtime_init_common (obj.c:770)
obj_recovery/TEST1 memcheck1.log ==69586==    by 0x4E671EC: obj_runtime_init (obj.c:1154)
obj_recovery/TEST1 memcheck1.log ==69586==  Address 0x65c05c0 is in a rw- mapped file /mnt/mem/test_obj_recovery1🟟⠝⠧⠍⠇ɗPMDKӜ⥺🟟/testfile segment
obj_recovery/TEST1 memcheck1.log ==69586== 
obj_recovery/TEST1 memcheck1.log ==69586== 
obj_recovery/TEST1 memcheck1.log ==69586== HEAP SUMMARY:
obj_recovery/TEST1 memcheck1.log ==69586==     in use at exit: 0 bytes in 0 blocks
obj_recovery/TEST1 memcheck1.log ==69586==   total heap usage: 21,304 allocs, 21,302 frees, 14,249,629 bytes allocated
obj_recovery/TEST1 memcheck1.log ==69586== 
obj_recovery/TEST1 memcheck1.log ==69586== All heap blocks were freed -- no leaks are possible
obj_recovery/TEST1 memcheck1.log ==69586== 
obj_recovery/TEST1 memcheck1.log ==69586== For counts of detected and suppressed errors, rerun with: -v
obj_recovery/TEST1 memcheck1.log ==69586== ERROR SUMMARY: 6 errors from 4 contexts (suppressed: 0 from 0)
RUNTESTS: stopping: obj_recovery/TEST1 failed, TEST=all FS=pmem BUILD=debug
./RUNTESTS obj_recovery -s TEST4 -m force-enable -t all
obj_recovery/TEST4: SETUP (all/pmem/debug/memcheck)
obj_recovery/TEST4 failed with Valgrind. See memcheck4.log. First 20 lines below.
obj_recovery/TEST4 memcheck4.log ==69792==    by 0x4E7625F: tx_free_existing_vec_entry (tx.c:328)
obj_recovery/TEST4 memcheck4.log ==69792==    by 0x4E6F8A3: pvector_pop_back (pvector.c:278)
obj_recovery/TEST4 memcheck4.log ==69792==    by 0x4E764ED: tx_clear_undo_log (tx.c:391)
obj_recovery/TEST4 memcheck4.log ==69792==    by 0x4E765A0: tx_abort_alloc (tx.c:415)
obj_recovery/TEST4 memcheck4.log ==69792==    by 0x4E77B40: tx_abort (tx.c:920)
obj_recovery/TEST4 memcheck4.log ==69792==    by 0x4E7C146: lane_transaction_recovery (tx.c:2308)
obj_recovery/TEST4 memcheck4.log ==69792==    by 0x4E5D1D3: lane_recover_and_section_boot (lane.c:305)
obj_recovery/TEST4 memcheck4.log ==69792==    by 0x4E65CEF: obj_runtime_init_common (obj.c:770)
obj_recovery/TEST4 memcheck4.log ==69792==    by 0x4E671EC: obj_runtime_init (obj.c:1154)
obj_recovery/TEST4 memcheck4.log ==69792==  Address 0x65c05c0 is in a rw- mapped file /mnt/mem/test_obj_recovery4🟟⠝⠧⠍⠇ɗPMDKӜ⥺🟟/testfile1 segment
obj_recovery/TEST4 memcheck4.log ==69792== 
obj_recovery/TEST4 memcheck4.log ==69792== 
obj_recovery/TEST4 memcheck4.log ==69792== HEAP SUMMARY:
obj_recovery/TEST4 memcheck4.log ==69792==     in use at exit: 0 bytes in 0 blocks
obj_recovery/TEST4 memcheck4.log ==69792==   total heap usage: 21,333 allocs, 21,331 frees, 14,303,612 bytes allocated
obj_recovery/TEST4 memcheck4.log ==69792== 
obj_recovery/TEST4 memcheck4.log ==69792== All heap blocks were freed -- no leaks are possible
obj_recovery/TEST4 memcheck4.log ==69792== 
obj_recovery/TEST4 memcheck4.log ==69792== For counts of detected and suppressed errors, rerun with: -v
obj_recovery/TEST4 memcheck4.log ==69792== ERROR SUMMARY: 6 errors from 4 contexts (suppressed: 0 from 0)
RUNTESTS: stopping: obj_recovery/TEST4 failed, TEST=all FS=pmem BUILD=debug
./RUNTESTS obj_recovery -s TEST7 -m force-enable -t all
obj_recovery/TEST7: SETUP (all/pmem/debug/memcheck)
obj_recovery/TEST7 failed with Valgrind. See memcheck7.log. First 20 lines below.
obj_recovery/TEST7 memcheck7.log ==70023==    by 0x4E7625F: tx_free_existing_vec_entry (tx.c:328)
obj_recovery/TEST7 memcheck7.log ==70023==    by 0x4E6F8A3: pvector_pop_back (pvector.c:278)
obj_recovery/TEST7 memcheck7.log ==70023==    by 0x4E764ED: tx_clear_undo_log (tx.c:391)
obj_recovery/TEST7 memcheck7.log ==70023==    by 0x4E765A0: tx_abort_alloc (tx.c:415)
obj_recovery/TEST7 memcheck7.log ==70023==    by 0x4E77B40: tx_abort (tx.c:920)
obj_recovery/TEST7 memcheck7.log ==70023==    by 0x4E7C146: lane_transaction_recovery (tx.c:2308)
obj_recovery/TEST7 memcheck7.log ==70023==    by 0x4E5D1D3: lane_recover_and_section_boot (lane.c:305)
obj_recovery/TEST7 memcheck7.log ==70023==    by 0x4E65CEF: obj_runtime_init_common (obj.c:770)
obj_recovery/TEST7 memcheck7.log ==70023==    by 0x4E671EC: obj_runtime_init (obj.c:1154)
obj_recovery/TEST7 memcheck7.log ==70023==  Address 0x65c05c0 is in a rw- mapped file /mnt/mem/test_obj_recovery7🟟⠝⠧⠍⠇ɗPMDKӜ⥺🟟/testfile segment
obj_recovery/TEST7 memcheck7.log ==70023== 
obj_recovery/TEST7 memcheck7.log ==70023== 
obj_recovery/TEST7 memcheck7.log ==70023== HEAP SUMMARY:
obj_recovery/TEST7 memcheck7.log ==70023==     in use at exit: 0 bytes in 0 blocks
obj_recovery/TEST7 memcheck7.log ==70023==   total heap usage: 21,304 allocs, 21,302 frees, 14,249,629 bytes allocated
obj_recovery/TEST7 memcheck7.log ==70023== 
obj_recovery/TEST7 memcheck7.log ==70023== All heap blocks were freed -- no leaks are possible
obj_recovery/TEST7 memcheck7.log ==70023== 
obj_recovery/TEST7 memcheck7.log ==70023== For counts of detected and suppressed errors, rerun with: -v
obj_recovery/TEST7 memcheck7.log ==70023== ERROR SUMMARY: 6 errors from 4 contexts (suppressed: 0 from 0)
RUNTESTS: stopping: obj_recovery/TEST7 failed, TEST=all FS=pmem BUILD=debug

Expected behavior:

Tests should pass.

Details

Additional information about Priority and Help Requested:

The same issue as pmem/issues#1106

Are you willing to submit a pull request with a proposed change? (Yes, No)

Requested priority: (Showstopper, High, Medium, Low)

janekmi commented 5 years ago
==970== Invalid read of size 8
==970==    at 0x4E617E9: memblock_header_compact_get_size (memblock.c:106)
==970==    by 0x4E632AE: memblock_from_offset_opt (memblock.c:858)
==970==    by 0x4E633A9: memblock_from_offset (memblock.c:872)
==970==    by 0x4E6D5F4: palloc_usable_size (palloc.c:635)
==970==    by 0x4E76308: tx_clear_undo_log_vg (tx.c:351)
==970==    by 0x4E76492: tx_clear_undo_log (tx.c:380)
==970==    by 0x4E765A0: tx_abort_alloc (tx.c:415)
==970==    by 0x4E77B40: tx_abort (tx.c:920)
==970==    by 0x4E7C146: lane_transaction_recovery (tx.c:2308)
==970==    by 0x4E5D1D3: lane_recover_and_section_boot (lane.c:305)
==970==    by 0x4E65CEF: obj_runtime_init_common (obj.c:770)
==970==    by 0x4E671EC: obj_runtime_init (obj.c:1154)
==970==  Address 0x65c05c0 is in a rw- mapped file /mnt/mem/test_obj_recovery1😘⠝⠧⠍⠇ɗPMDKӜ⥺🙋/testfile segment

Ref: pmem/issues#705

pbalcer commented 5 years ago

Please always include entire logs when reporting a bug from valgrind.