==$(N)== Memcheck, a memory error detector
==$(N)== Copyright $(*)
==$(N)== Using $(*)
==$(N)== Command: $(*)
==$(N)== Parent PID: $(*)
==$(N)==
==$(N)== Invalid write of size 4
==$(N)== at 0x$(X): main (obj_constructor.c:$(N))
==$(N)== Address 0x$(X) is $(N) bytes after a block of size $(N) free'd
==$(N)== at 0x$(X): alloc_prep_block (palloc.c:$(N))
==$(N)== by 0x$(X): palloc_reservation_create (palloc.c:$(N))
==$(N)== by 0x$(X): palloc_operation (palloc.c:$(N))
==$(N)== by 0x$(X): pmalloc_operation (pmalloc.c:$(N))
==$(N)== by 0x$(X): obj_alloc_construct (obj.c:$(N))
==$(N)== by 0x$(X): pmemobj_alloc (obj.c:$(N))
==$(N)== by 0x$(X): main (obj_constructor.c:$(N))
$(OPT)==$(N)== Block was alloc'd at
$(OPT)==$(N)== at 0x$(X): alloc_prep_block (palloc.c:$(N))
$(OPT)==$(N)== by 0x$(X): palloc_reservation_create (palloc.c:$(N))
$(OPT)==$(N)== by 0x$(X): palloc_operation (palloc.c:$(N))
$(OPT)==$(N)== by 0x$(X): pmalloc_operation (pmalloc.c:$(N))
$(OPT)==$(N)== by 0x$(X): obj_alloc_construct (obj.c:$(N))
$(OPT)==$(N)== by 0x$(X): pmemobj_alloc (obj.c:$(N))
$(OPT)==$(N)== by 0x$(X): main (obj_constructor.c:$(N))
==$(N)==
==$(N)== Unaddressable byte(s) found during client check request
==$(N)== at 0x$(X): pmem_flush (pmem.c:$(N))
==$(N)== by 0x$(X): pmem_persist (pmem.c:$(N))
==$(N)== by 0x$(X): obj_norep_persist (obj.c:$(N))
==$(N)== by 0x$(X): pmemops_persist (pmemops.h:$(N))
==$(N)== by 0x$(X): pmemobj_persist (obj.c:$(N))
==$(N)== by 0x$(X): main (obj_constructor.c:$(N))
==$(N)== Address 0x$(X) is 16 bytes after a block of size 112 free'd
==$(N)== at 0x$(X): alloc_prep_block (palloc.c:$(N))
==$(N)== by 0x$(X): palloc_reservation_create (palloc.c:$(N))
==$(N)== by 0x$(X): palloc_operation (palloc.c:$(N))
==$(N)== by 0x$(X): pmalloc_operation (pmalloc.c:$(N))
==$(N)== by 0x$(X): obj_alloc_construct (obj.c:$(N))
==$(N)== by 0x$(X): pmemobj_alloc (obj.c:$(N))
==$(N)== by 0x$(X): main (obj_constructor.c:$(N))
$(OPT)==$(N)== Block was alloc'd at
$(OPT)==$(N)== at 0x$(X): alloc_prep_block (palloc.c:$(N))
$(OPT)==$(N)== by 0x$(X): palloc_reservation_create (palloc.c:$(N))
$(OPT)==$(N)== by 0x$(X): palloc_operation (palloc.c:$(N))
$(OPT)==$(N)== by 0x$(X): pmalloc_operation (pmalloc.c:$(N))
$(OPT)==$(N)== by 0x$(X): obj_alloc_construct (obj.c:$(N))
$(OPT)==$(N)== by 0x$(X): pmemobj_alloc (obj.c:$(N))
$(OPT)==$(N)== by 0x$(X): main (obj_constructor.c:$(N))
==$(N)==
==$(N)==
==$(N)== HEAP SUMMARY:
$(OPT)==$(N)== in use at exit: 0 bytes in 0 blocks
$(OPX)==$(N)== in use at exit: $(NC) bytes in $(N) blocks
==$(N)== total heap usage: $(NC) allocs, $(NC) frees, $(NC) bytes allocated
==$(N)==
$(OPT)==$(N)== All heap blocks were freed -- no leaks are possible
$(OPT)==$(N)==
$(OPX)==$(N)== LEAK SUMMARY:
$(OPT)==$(N)== definitely lost: 0 bytes in 0 blocks
$(OPT)==$(N)== indirectly lost: 0 bytes in 0 blocks
$(OPT)==$(N)== possibly lost: 0 bytes in 0 blocks
$(OPT)==$(N)== still reachable: 0 bytes in 0 blocks
$(OPT)==$(N)== suppressed: $(NC) bytes in $(N) blocks
$(OPT)==$(N)== Reachable blocks (those to which a pointer was found) are not shown.
$(OPT)==$(N)== To see them, rerun with: --leak-check=full --show-leak-kinds=all
$(OPT)==$(N)==
==$(N)== For counts of detected and suppressed errors, rerun with: -v
==$(N)== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: $(N) from $(N))