valgrind ./atomictest ==17841== Memcheck, a memory error detector. ==17841== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==17841== Using LibVEX rev 1732, a library for dynamic binary translation. ==17841== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==17841== Using valgrind-3.2.3, a dynamic binary instrumentation framework. ==17841== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==17841== For more details, rerun with: -v ==17841== ATOMIC OPERATIONS OVERHEAD TESTER Use optimized builds, send report of output to developer@svanfeldt.com Config: x86(32) Unix GCC MemSize: 2kB L1 hits Regular operations Test 1: Addition, single threaded: 22176187 Test 2: Subtraction, single threaded: 23120147 ==17841== Thread 2: ==17841== Invalid read of size 4 ==17841== at 0x4349AB7: pthread_cond_wait@@GLIBC_2.3.2 (in /lib/tls/i686/cmov/libpthread-2.7.so) ==17841== by 0x41A6A58: CS::Threading::Implementation::(anonymous namespace)::proxyFunc(void*) (pthread_condition.h:76) ==17841== Address 0xBE9FD52C is not stack'd, malloc'd or (recently) free'd ==17841== ==17841== Invalid read of size 4 ==17841== at 0x4349AC1: pthread_cond_wait@@GLIBC_2.3.2 (in /lib/tls/i686/cmov/libpthread-2.7.so) ==17841== by 0x41A6A58: CS::Threading::Implementation::(anonymous namespace)::proxyFunc(void*) (pthread_condition.h:76) ==17841== Address 0xBE9FD554 is not stack'd, malloc'd or (recently) free'd ==17841== ==17841== Invalid read of size 4 ==17841== at 0x4349AF2: pthread_cond_wait@@GLIBC_2.3.2 (in /lib/tls/i686/cmov/libpthread-2.7.so) ==17841== by 0x41A6A58: CS::Threading::Implementation::(anonymous namespace)::proxyFunc(void*) (pthread_condition.h:76) ==17841== Address 0xBE9FD550 is not stack'd, malloc'd or (recently) free'd ==17841== ==17841== Invalid read of size 4 ==17841== at 0x4349AF6: pthread_cond_wait@@GLIBC_2.3.2 (in /lib/tls/i686/cmov/libpthread-2.7.so) ==17841== by 0x41A6A58: CS::Threading::Implementation::(anonymous namespace)::proxyFunc(void*) (pthread_condition.h:76) ==17841== Address 0xBE9FD534 is not stack'd, malloc'd or (recently) free'd ==17841== ==17841== Invalid read of size 4 ==17841== at 0x4349AF9: pthread_cond_wait@@GLIBC_2.3.2 (in /lib/tls/i686/cmov/libpthread-2.7.so) ==17841== by 0x41A6A58: CS::Threading::Implementation::(anonymous namespace)::proxyFunc(void*) (pthread_condition.h:76) ==17841== Address 0xBE9FD538 is not stack'd, malloc'd or (recently) free'd ==17841== ==17841== Invalid read of size 4 ==17841== at 0x4349B34: pthread_cond_wait@@GLIBC_2.3.2 (in /lib/tls/i686/cmov/libpthread-2.7.so) ==17841== by 0x41A6A58: CS::Threading::Implementation::(anonymous namespace)::proxyFunc(void*) (pthread_condition.h:76) ==17841== Address 0xBE9FD52C is not stack'd, malloc'd or (recently) free'd ==17841== ==17841== Invalid read of size 4 ==17841== at 0x434F05F: __pthread_mutex_cond_lock (in /lib/tls/i686/cmov/libpthread-2.7.so) ==17841== by 0x4349B42: pthread_cond_wait@@GLIBC_2.3.2 (in /lib/tls/i686/cmov/libpthread-2.7.so) ==17841== by 0x41A6A58: CS::Threading::Implementation::(anonymous namespace)::proxyFunc(void*) (pthread_condition.h:76) ==17841== Address 0xBE9FD520 is not stack'd, malloc'd or (recently) free'd ==17841== ==17841== Invalid read of size 4 ==17841== at 0x4348A04: __pthread_mutex_unlock_usercnt (in /lib/tls/i686/cmov/libpthread-2.7.so) ==17841== by 0x41A6A60: CS::Threading::Implementation::(anonymous namespace)::proxyFunc(void*) (pthread_mutex.h:64) ==17841== Address 0xBE9FD520 is not stack'd, malloc'd or (recently) free'd Test 3: Addition, 2 threads: 36613180