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

Reply via email to