==$(N)== Memcheck, a memory error detector
==$(N)== Copyright $(*)
==$(N)== Using $(*)
==$(N)== Command: $(*)
==$(N)== Parent PID: $(N)
==$(N)== 
==$(N)== Invalid write of size 4
==$(N)==    at 0x$(X): main ($(*)obj_action$(*))
==$(N)==  Address 0x$(X) is $(*)
==$(N)== 
==$(N)== Invalid write of size 4
==$(N)==    at 0x$(X): main ($(*)obj_action$(*))
==$(N)==  Address 0x$(X) is $(*)
==$(N)== 
==$(N)== Invalid write of size 4
==$(N)==    at 0x$(X): main ($(*)obj_action$(*))
==$(N)==  Address 0x$(X) is $(*)
==$(N)== 
==$(N)== Invalid write of size 4
==$(N)==    at 0x$(X): test_defer_free ($(*)obj_action$(*))
==$(N)==    by 0x$(X): main ($(*)obj_action$(*))
==$(N)==  Address 0x$(X) is 0 bytes inside a block of size 112 free'd
$(OPT)==$(N)==    at 0x$(X): palloc_heap_action_on_process (palloc.c:$(N))
$(OPX)==$(N)==    at 0x$(X): palloc_heap_action_on_process ($(*)src/debug/libpmemobj.so.1.0.0)
$(OPT)==$(N)==    by 0x$(X): palloc_exec_actions (palloc.c:$(N))
$(OPX)==$(N)==    by 0x$(X): palloc_exec_actions ($(*)src/debug/libpmemobj.so.1.0.0)
$(OPT)==$(N)==    by 0x$(X): palloc_publish (palloc.c:$(N))
$(OPX)==$(N)==    by 0x$(X): palloc_publish ($(*)src/debug/libpmemobj.so.1.0.0)
$(OPT)==$(N)==    by 0x$(X): pmemobj_publish (obj.c:$(N))
$(OPX)==$(N)==    by 0x$(X): pmemobj_publish ($(*)src/debug/libpmemobj.so.1.0.0)
==$(N)==    by 0x$(X): test_defer_free ($(*)obj_action$(*))
==$(N)==    by 0x$(X): main ($(*)obj_action$(*))
==$(N)==  Block was alloc'd at
$(OPT)==$(N)==    at 0x$(X): alloc_prep_block (palloc.c:$(N))
$(OPX)==$(N)==    at 0x$(X): alloc_prep_block ($(*)src/debug/libpmemobj.so.1.0.0)
$(OPT)==$(N)==    by 0x$(X): palloc_reservation_create (palloc.c:$(N))
$(OPX)==$(N)==    by 0x$(X): palloc_reservation_create ($(*)src/debug/libpmemobj.so.1.0.0)
$(OPT)==$(N)==    by 0x$(X): palloc_operation (palloc.c:$(N))
$(OPX)==$(N)==    by 0x$(X): palloc_operation ($(*)src/debug/libpmemobj.so.1.0.0)
$(OPT)==$(N)==    by 0x$(X): obj_alloc_construct (obj.c:$(N))
$(OPX)==$(N)==    by 0x$(X): obj_alloc_construct ($(*)src/debug/libpmemobj.so.1.0.0)
$(OPT)==$(N)==    by 0x$(X): pmemobj_alloc (obj.c:$(N))
$(OPX)==$(N)==    by 0x$(X): pmemobj_alloc ($(*)src/debug/libpmemobj.so.1.0.0)
==$(N)==    by 0x$(X): test_defer_free ($(*)obj_action$(*))
==$(N)==    by 0x$(X): main ($(*)obj_action$(*))
==$(N)== 
==$(N)== 
==$(N)== HEAP SUMMARY:
==$(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)== 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
$(OPX)==$(N)==         suppressed: $(NC) bytes in $(N) blocks
$(OPT)==$(N)==
==$(N)== 
==$(N)== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: $(N) from $(N))
