Package: valgrind Version: 1:3.3.1-3 Severity: normal Program (copy paste from https://computing.llnl.gov/tutorials/pthreads/) #include <pthread.h> #include <stdio.h> #define NUM_THREADS 5
void *PrintHello(void *threadid) { long tid; tid = (long)threadid; printf("Hello World! It's me, thread #%ld!\n", tid); pthread_exit(NULL); } int main (int argc, char *argv[]) { pthread_t threads[NUM_THREADS]; int rc; long t; for(t=0; t<NUM_THREADS; t++){ printf("In main: creating thread %ld\n", t); rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t); if (rc){ printf("ERROR; return code from pthread_create() is %d\n", rc); exit(-1); } } pthread_exit(NULL); } sundb...@fs1:~$ valgrind --error-exitcode=1 --leak-check=full --show-reachable=yes --gen-suppressions=all ./silly ==32444== Memcheck, a memory error detector. ==32444== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==32444== Using LibVEX rev 1854, a library for dynamic binary translation. ==32444== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==32444== Using valgrind-3.3.1-Debian, a dynamic binary instrumentation framework. ==32444== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==32444== For more details, rerun with: -v ==32444== In main: creating thread 0 In main: creating thread 1 Hello World! It's me, thread #1! Hello World! It's me, thread #0! In main: creating thread 2 Hello World! It's me, thread #2! In main: creating thread 3 Hello World! It's me, thread #3! In main: creating thread 4 Hello World! It's me, thread #4! ==32444== ==32444== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 17 from 2) ==32444== malloc/free: in use at exit: 1,588 bytes in 10 blocks. ==32444== malloc/free: 10 allocs, 0 frees, 1,588 bytes allocated. ==32444== For counts of detected errors, rerun with: -v ==32444== searching for pointers to 10 not-freed blocks. ==32444== checked 42,017,180 bytes. ==32444== ==32444== 19 bytes in 1 blocks are still reachable in loss record 1 of 6 ==32444== at 0x4023D6E: malloc (vg_replace_malloc.c:207) ==32444== by 0x400A551: (within /lib/ld-2.7.so) ==32444== by 0x4005FB2: (within /lib/ld-2.7.so) ==32444== by 0x4007E0C: (within /lib/ld-2.7.so) ==32444== by 0x4011B46: (within /lib/ld-2.7.so) ==32444== by 0x400DA15: (within /lib/ld-2.7.so) ==32444== by 0x401154D: (within /lib/ld-2.7.so) ==32444== by 0x41652A1: (within /lib/i686/cmov/libc-2.7.so) ==32444== by 0x400DA15: (within /lib/ld-2.7.so) ==32444== by 0x4165464: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.7.so) ==32444== by 0x403FDC6: pthread_cancel_init (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x403FEF0: _Unwind_ForcedUnwind (in /lib/i686/cmov/libpthread-2.7.so) { <insert a suppression name here> Memcheck:Leak fun:malloc obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/i686/cmov/libc-2.7.so obj:/lib/ld-2.7.so fun:__libc_dlopen_mode fun:pthread_cancel_init fun:_Unwind_ForcedUnwind } ==32444== ==32444== ==32444== 19 bytes in 1 blocks are still reachable in loss record 2 of 6 ==32444== at 0x4023D6E: malloc (vg_replace_malloc.c:207) ==32444== by 0x4004D7E: (within /lib/ld-2.7.so) ==32444== by 0x400809B: (within /lib/ld-2.7.so) ==32444== by 0x4011B46: (within /lib/ld-2.7.so) ==32444== by 0x400DA15: (within /lib/ld-2.7.so) ==32444== by 0x401154D: (within /lib/ld-2.7.so) ==32444== by 0x41652A1: (within /lib/i686/cmov/libc-2.7.so) ==32444== by 0x400DA15: (within /lib/ld-2.7.so) ==32444== by 0x4165464: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.7.so) ==32444== by 0x403FDC6: pthread_cancel_init (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x403FEF0: _Unwind_ForcedUnwind (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x403D900: __pthread_unwind (in /lib/i686/cmov/libpthread-2.7.so) { <insert a suppression name here> Memcheck:Leak fun:malloc obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/i686/cmov/libc-2.7.so obj:/lib/ld-2.7.so fun:__libc_dlopen_mode fun:pthread_cancel_init fun:_Unwind_ForcedUnwind fun:__pthread_unwind } ==32444== ==32444== ==32444== 28 bytes in 1 blocks are still reachable in loss record 3 of 6 ==32444== at 0x4023D6E: malloc (vg_replace_malloc.c:207) ==32444== by 0x400C355: (within /lib/ld-2.7.so) ==32444== by 0x4011BA6: (within /lib/ld-2.7.so) ==32444== by 0x400DA15: (within /lib/ld-2.7.so) ==32444== by 0x401154D: (within /lib/ld-2.7.so) ==32444== by 0x41652A1: (within /lib/i686/cmov/libc-2.7.so) ==32444== by 0x400DA15: (within /lib/ld-2.7.so) ==32444== by 0x4165464: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.7.so) ==32444== by 0x403FDC6: pthread_cancel_init (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x403FEF0: _Unwind_ForcedUnwind (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x403D900: __pthread_unwind (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x4037A1F: pthread_exit (in /lib/i686/cmov/libpthread-2.7.so) { <insert a suppression name here> Memcheck:Leak fun:malloc obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/i686/cmov/libc-2.7.so obj:/lib/ld-2.7.so fun:__libc_dlopen_mode fun:pthread_cancel_init fun:_Unwind_ForcedUnwind fun:__pthread_unwind fun:pthread_exit } ==32444== ==32444== ==32444== 224 bytes in 1 blocks are still reachable in loss record 4 of 6 ==32444== at 0x4021E22: calloc (vg_replace_malloc.c:397) ==32444== by 0x400F44D: (within /lib/ld-2.7.so) ==32444== by 0x4011E3E: (within /lib/ld-2.7.so) ==32444== by 0x400DA15: (within /lib/ld-2.7.so) ==32444== by 0x401154D: (within /lib/ld-2.7.so) ==32444== by 0x41652A1: (within /lib/i686/cmov/libc-2.7.so) ==32444== by 0x400DA15: (within /lib/ld-2.7.so) ==32444== by 0x4165464: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.7.so) ==32444== by 0x403FDC6: pthread_cancel_init (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x403FEF0: _Unwind_ForcedUnwind (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x403D900: __pthread_unwind (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x4037A1F: pthread_exit (in /lib/i686/cmov/libpthread-2.7.so) { <insert a suppression name here> Memcheck:Leak fun:calloc obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/i686/cmov/libc-2.7.so obj:/lib/ld-2.7.so fun:__libc_dlopen_mode fun:pthread_cancel_init fun:_Unwind_ForcedUnwind fun:__pthread_unwind fun:pthread_exit } ==32444== ==32444== ==32444== 618 bytes in 1 blocks are still reachable in loss record 5 of 6 ==32444== at 0x4021E22: calloc (vg_replace_malloc.c:397) ==32444== by 0x400A2EA: (within /lib/ld-2.7.so) ==32444== by 0x4005FB2: (within /lib/ld-2.7.so) ==32444== by 0x4007E0C: (within /lib/ld-2.7.so) ==32444== by 0x4011B46: (within /lib/ld-2.7.so) ==32444== by 0x400DA15: (within /lib/ld-2.7.so) ==32444== by 0x401154D: (within /lib/ld-2.7.so) ==32444== by 0x41652A1: (within /lib/i686/cmov/libc-2.7.so) ==32444== by 0x400DA15: (within /lib/ld-2.7.so) ==32444== by 0x4165464: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.7.so) ==32444== by 0x403FDC6: pthread_cancel_init (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x403FEF0: _Unwind_ForcedUnwind (in /lib/i686/cmov/libpthread-2.7.so) { <insert a suppression name here> Memcheck:Leak fun:calloc obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/ld-2.7.so obj:/lib/i686/cmov/libc-2.7.so obj:/lib/ld-2.7.so fun:__libc_dlopen_mode fun:pthread_cancel_init fun:_Unwind_ForcedUnwind } ==32444== ==32444== ==32444== 680 bytes in 5 blocks are possibly lost in loss record 6 of 6 ==32444== at 0x4021E22: calloc (vg_replace_malloc.c:397) ==32444== by 0x4010C7B: _dl_allocate_tls (in /lib/ld-2.7.so) ==32444== by 0x4036672: pthread_create@@GLIBC_2.1 (in /lib/i686/cmov/libpthread-2.7.so) ==32444== by 0x8048539: main (silly.c:20) { <insert a suppression name here> Memcheck:Leak fun:calloc fun:_dl_allocate_tls fun:pthread_create@@GLIBC_2.1 fun:main } ==32444== ==32444== LEAK SUMMARY: ==32444== definitely lost: 0 bytes in 0 blocks. ==32444== possibly lost: 680 bytes in 5 blocks. ==32444== still reachable: 908 bytes in 5 blocks. ==32444== suppressed: 0 bytes in 0 blocks. -- System Information: Debian Release: 5.0.5 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.26-2-686 (SMP w/4 CPU cores) Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages valgrind depends on: ii libc6 2.7-18lenny4 GNU C Library: Shared libraries Versions of packages valgrind recommends: ii gdb 6.8-3 The GNU Debugger Versions of packages valgrind suggests: pn alleyoop <none> (no description available) pn kcachegrind <none> (no description available) pn libc6-dbg <none> (no description available) -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org