Conflicting store by thread x at 0x........ size 4 at 0x........: counter::~counter() (annotate_smart_pointer.cpp:?) by 0x........: smart_ptr::set(counter*, AtomicInt32*) (annotate_smart_pointer.cpp:?) by 0x........: smart_ptr::operator=(counter*) (annotate_smart_pointer.cpp:?) by 0x........: main (annotate_smart_pointer.cpp:?) Address 0x........ is at offset ... from 0x......... Allocation context: at 0x........: malloc (vg_replace_malloc.c:...) by 0x........: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib) by 0x........: main (annotate_smart_pointer.cpp:?) Done. ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)