Bug 201530 - Valgrind does not display debug information about stack variables on powerpc-linux
Summary: Valgrind does not display debug information about stack variables on powerpc-...
Status: CONFIRMED
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (other bugs)
Version First Reported In: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-26 10:24 UTC by Bart Van Assche
Modified: 2016-07-18 17:28 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bart Van Assche 2009-07-26 10:24:39 UTC
Version:            (using KDE 4.1.4)
Compiler:          gcc 4.1.2 gcc version 4.1.2 20070502 (Red Hat 4.1.2-12)
OS:                Linux
Installed from:    SuSE RPMs

One of the new features in Valgrind 3.4.0 is that tools can obtain debug information about variables through VG_(get_data_description)(). Apparently this information is available on x86 but not on ppc.

$ uname -a
Linux cell11 2.6.22-5.20070920bsc #1 SMP Tue Sep 25 10:49:16 CEST 2007 ppc64 ppc64 ppc64 GNU/Linux

$ perl tests/vg_regtest helgrind/tests/hg05_race2
hg05_race2:      valgrind   --read-var-info=yes ./hg05_race2
*** hg05_race2 failed (stderr) ***

== 1 test, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/hg05_race2                (stderr)

$ cat helgrind/tests/hg05_race2.stderr.diff                                                                                
--- hg05_race2.stderr.exp       2009-07-26 03:19:11.000000000 -0400             
+++ hg05_race2.stderr.out       2009-07-26 03:55:29.000000000 -0400             
@@ -17,8 +17,6 @@                                                               
    at 0x........: th (hg05_race2.c:17)                                         
    by 0x........: mythread_wrapper (hg_intercepts.c:...)                       
    ...                                                                         
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],                   
- declared at hg05_race2.c:24, in frame #x of thread x                          
                                                                                
 Possible data race during write of size 4 at 0x........ by thread #x
    at 0x........: th (hg05_race2.c:17)
@@ -28,7 +26,5 @@
    at 0x........: th (hg05_race2.c:17)
    by 0x........: mythread_wrapper (hg_intercepts.c:...)
    ...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x

 ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)

$ ./vg-in-place -v --tool=helgrind --read-var-info=yes helgrind/tests/hg05_race2                                           
==16108== Helgrind, a thread error detector.                                    
==16108== Copyright (C) 2007-2009, and GNU GPL'd, by OpenWorks LLP et al.       
==16108== Using Valgrind-3.5.0.SVN and LibVEX; rerun with -h for copyright info 
==16108==                                                                       
--16108-- Command line                                                          
--16108--    helgrind/tests/hg05_race2                                          
--16108-- Startup, with flags:                                                  
--16108--    -v                                                                 
--16108--    --tool=helgrind                                                    
--16108--    --read-var-info=yes                                                
--16108-- Contents of /proc/version:                                            
--16108--   Linux version 2.6.22-5.20070920bsc (jordics@blade.bsc.es) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-51)) #1 SMP Tue Sep 25 10:49:16 CEST 2007      
--16108-- Arch and hwcaps: PPC64, ppc64-int-flt-vmx-FX-GX                       
--16108-- Page sizes: currently 65536, max supported 65536                      
--16108-- Valgrind library directory: /home/bart/software/valgrind-ppc/./.in_place                                                                              
--16108-- Reading syms from /net/home/bart/software/valgrind-ppc/helgrind/tests/hg05_race2 (0x10000000)                                                         
--16108-- Reading syms from /net/home/bart/software/valgrind-ppc/helgrind/helgrind-ppc64-linux (0x38000000)                                                     
--16108--    object doesn't have a dynamic symbol table                         
--16108-- Reading syms from /lib64/ld-2.6.so (0x8081110000)                     
--16108-- Reading suppressions file: /home/bart/software/valgrind-ppc/./.in_place/default.supp                                                                  
--16108-- Reading syms from /net/home/bart/software/valgrind-ppc/coregrind/vgpreload_core-ppc64-linux.so (0x4000000)                                            
--16108-- Reading syms from /net/home/bart/software/valgrind-ppc/helgrind/vgpreload_helgrind-ppc64-linux.so (0x4020000)                                         
--16108-- REDIR: 0x8081133eb0 (strcmp) redirected to 0x402975c (strcmp)         
--16108-- REDIR: 0x8081135020 (memcpy) redirected to 0x4029a40 (memcpy)         
--16108-- Reading syms from /lib64/libpthread-2.6.so (0x8081410000)             
--16108-- Reading syms from /lib64/libc-2.6.so (0x8081160000)                   
--16108-- REDIR: 0x8081211e20 (memcpy) redirected to 0x40297d8 (memcpy)         
--16108-- REDIR: 0x808120f4a4 (index) redirected to 0x4029360 (index)           
--16108-- REDIR: 0x808141ad60 (pthread_create@@GLIBC_2.3) redirected to 0x402ad60 (pthread_create@*)                                                            
--16108-- REDIR: 0x808120a540 (calloc) redirected to 0x4024790 (calloc)         
--16108-- REDIR: 0x808120c140 (realloc) redirected to 0x402587c (realloc)       
--16108-- REDIR: 0x808120be90 (free) redirected to 0x40252e0 (free)             
==16108== Thread #3 was created                                                 
==16108==    at 0x8081277A94: clone (in /lib64/libc-2.6.so)                     
==16108==    by 0x808141ABCB: do_clone (in /lib64/libpthread-2.6.so)            
==16108==    by 0x808141B0CF: pthread_create@@GLIBC_2.3 (in /lib64/libpthread-2.6.so)                                                                           
==16108==    by 0x402AC9B: pthread_create_WRK (hg_intercepts.c:218)             
==16108==    by 0x402AD77: pthread_create@* (hg_intercepts.c:249)               
==16108==    by 0x100006E3: main (hg05_race2.c:29)                              
==16108==                                                                       
==16108== Thread #2 was created                                                 
==16108==    at 0x8081277A94: clone (in /lib64/libc-2.6.so)                     
==16108==    by 0x808141ABCB: do_clone (in /lib64/libpthread-2.6.so)            
==16108==    by 0x808141B0CF: pthread_create@@GLIBC_2.3 (in /lib64/libpthread-2.6.so)                                                                           
==16108==    by 0x402AC9B: pthread_create_WRK (hg_intercepts.c:218)             
==16108==    by 0x402AD77: pthread_create@* (hg_intercepts.c:249)               
==16108==    by 0x100006B7: main (hg05_race2.c:27)                              
==16108==                                                                       
==16108== Possible data race during read of size 4 at 0x7ff00ee08 by thread #3  
==16108==    at 0x10000650: th (hg05_race2.c:17)                                
==16108==    by 0x402AE63: mythread_wrapper (hg_intercepts.c:194)               
==16108==    by 0x808141B917: start_thread (in /lib64/libpthread-2.6.so)        
==16108==    by 0x8081277ADB: clone (in /lib64/libc-2.6.so)                     
==16108==  This conflicts with a previous write of size 4 by thread #2          
==16108==    at 0x10000664: th (hg05_race2.c:17)                                
==16108==    by 0x402AE63: mythread_wrapper (hg_intercepts.c:194)               
==16108==    by 0x808141B917: start_thread (in /lib64/libpthread-2.6.so)        
==16108==    by 0x8081277ADB: clone (in /lib64/libc-2.6.so)                     
==16108==                                                                       
==16108== Possible data race during write of size 4 at 0x7ff00ee08 by thread #3 
==16108==    at 0x10000664: th (hg05_race2.c:17)                                
==16108==    by 0x402AE63: mythread_wrapper (hg_intercepts.c:194)               
==16108==    by 0x808141B917: start_thread (in /lib64/libpthread-2.6.so)        
==16108==    by 0x8081277ADB: clone (in /lib64/libc-2.6.so)                     
==16108==  This conflicts with a previous write of size 4 by thread #2          
==16108==    at 0x10000664: th (hg05_race2.c:17)                                
==16108==    by 0x402AE63: mythread_wrapper (hg_intercepts.c:194)               
==16108==    by 0x808141B917: start_thread (in /lib64/libpthread-2.6.so)        
==16108==    by 0x8081277ADB: clone (in /lib64/libc-2.6.so)                     
--16108-- REDIR: 0x808141bdf0 (pthread_join) redirected to 0x40268e0 (pthread_join)                                                                             
--16108-- REDIR: 0x808141d290 (pthread_mutex_lock) redirected to 0x4026c10 (pthread_mutex_lock)                                                                 
--16108-- REDIR: 0x808141f170 (pthread_mutex_unlock) redirected to 0x40271d4 (pthread_mutex_unlock)                                                             
==16108==                                                                       
==16108== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 11 from 2)       
==16108==                                                                       
==16108== 1 errors in context 1 of 2:                                           
==16108== Possible data race during write of size 4 at 0x7ff00ee08 by thread #3 
==16108==    at 0x10000664: th (hg05_race2.c:17)                                
==16108==    by 0x402AE63: mythread_wrapper (hg_intercepts.c:194)               
==16108==    by 0x808141B917: start_thread (in /lib64/libpthread-2.6.so)        
==16108==    by 0x8081277ADB: clone (in /lib64/libc-2.6.so)                     
==16108==  This conflicts with a previous write of size 4 by thread #2          
==16108==    at 0x10000664: th (hg05_race2.c:17)                                
==16108==    by 0x402AE63: mythread_wrapper (hg_intercepts.c:194)               
==16108==    by 0x808141B917: start_thread (in /lib64/libpthread-2.6.so)        
==16108==    by 0x8081277ADB: clone (in /lib64/libc-2.6.so)                     
==16108==                                                                       
==16108== 1 errors in context 2 of 2:                                           
==16108== Possible data race during read of size 4 at 0x7ff00ee08 by thread #3  
==16108==    at 0x10000650: th (hg05_race2.c:17)                                
==16108==    by 0x402AE63: mythread_wrapper (hg_intercepts.c:194)               
==16108==    by 0x808141B917: start_thread (in /lib64/libpthread-2.6.so)        
==16108==    by 0x8081277ADB: clone (in /lib64/libc-2.6.so)                     
==16108==  This conflicts with a previous write of size 4 by thread #2          
==16108==    at 0x10000664: th (hg05_race2.c:17)                                
==16108==    by 0x402AE63: mythread_wrapper (hg_intercepts.c:194)               
==16108==    by 0x808141B917: start_thread (in /lib64/libpthread-2.6.so)        
==16108==    by 0x8081277ADB: clone (in /lib64/libc-2.6.so)                     
==16108==                                                                       
--16108-- supp:      9 helgrind-glibc2X-001                                     
--16108-- supp:      2 helgrind-glibc2X-112                                     
==16108==                                                                       
==16108== IN SUMMARY: 2 errors from 2 contexts (suppressed: 11 from 2)          
==16108==                                                                       

   WordSet "univ_tsets":
      addTo                 0 (0 uncached)
      delFrom               0 (0 uncached)
      union                 0             
      intersect             0 (0 uncached) [nb. incl isSubsetOf]
      minus                 0 (0 uncached)                      
      elem                  0                                   
      doubleton             0                                   
      isEmpty               0                                   
      isSingleton           0                                   
      anyElementOf          0                                   
      isSubsetOf            0                                   

   WordSet "univ_lsets":
      addTo                32 (1 uncached)
      delFrom              32 (1 uncached)
      union                 0             
      intersect             1 (0 uncached) [nb. incl isSubsetOf]
      minus                 0 (0 uncached)                      
      elem                 16                                   
      doubleton             0                                   
      isEmpty              16                                   
      isSingleton           0                                   
      anyElementOf          0                                   
      isSubsetOf            1                                   

   WordSet "univ_laog":
      addTo                 0 (0 uncached)
      delFrom               0 (0 uncached)
      union                 0             
      intersect             0 (0 uncached) [nb. incl isSubsetOf]
      minus                 0 (0 uncached)                      
      elem                  0                                   
      doubleton             0                                   
      isEmpty               0                                   
      isSingleton           0                                   
      anyElementOf          0                                   
      isSubsetOf            0                                   

        locksets:        2 unique lock sets
      threadsets:        1 unique thread sets
       univ_laog:        1 unique lock sets  
  LockN-to-P map:        0 queries (0 map size)
string table map:        0 queries (0 map size)
            LAOG:        0 map size            
 LAOG exposition:        0 map size            
           locks:       16 acquires, 16 releases
   sanity checks:        1                      

<<< BEGIN libhb stats >>>
 secmaps:      2,945 allocd (  24,125,440 g-a-range)
  linesZ:    376,960 allocd (  18,094,080 bytes occupied)
  linesF:          0 allocd (           0 bytes occupied)
 secmaps:          0 iterator steppings                  
 secmaps:    389,047 searches (       7,061 slow)        

   cache: 70,770 totrefs (2,794 misses)
   cache:          2,794 Z-fetch,                 0 F-fetch
   cache:             80 Z-wback,                 0 F-wback
   cache:              1 invals,                  0 flushes
   cache:     24,963,828 arange_New      24,878,400 direct-to-Zreps

   cline:      2,794 normalises
   cline: c rds 8/4/2/1:        12,769         1,409           524         6,207
   cline: c wrs 8/4/2/1:        17,125           899            16           735
   cline: s wrs 8/4/2/1:        31,094             1             0             0
   cline: s rd1s 0, s copy1s 0                                                  
   cline:    splits: 8to4           78    4to2           73    2to1          141
   cline: pulldowns: 8to4        3,579    4to2        3,127    2to1        3,770

   libhb:        20,634 msmcread  (2,674 changed)
   libhb:        18,758 msmcwrite (906 changed)  
   libhb:         3,282 cmpLEQ queries (108 misses)
   libhb:         2,718 join2  queries (126 misses)

   libhb: 45 entries in vts_table (approximately 1080 bytes)
   libhb: 45 entries in vts_set

   libhb: ctxt__rcdec: 1=1565(607 eq), 2=2, 3=0
   libhb: ctxt__rcdec: calls 1567, discards 0
   libhb: contextTab: 196613 slots, 1537 max ents
   libhb: contextTab: 3580 queries, 2051 cmps
<<< END libhb stats >>>

--16108-- translate:            fast SP updates identified: 0 (  0.0%)
--16108-- translate:   generic_known SP updates identified: 112 ( 71.3%)
--16108-- translate: generic_unknown SP updates identified: 45 ( 28.6%)
--16108--     tt/tc: 3,694 tt lookups requiring 3,719 probes
--16108--     tt/tc: 3,694 fast-cache updates, 4 flushes
--16108--  transtab: new        1,735 (52,580 -> 558,908; ratio 106:10) [0 scs]
--16108--  transtab: dumped     0 (0 -> ??)
--16108--  transtab: discarded  8 (400 -> ??)
--16108-- scheduler: 31,342 jumps (bb entries).
--16108-- scheduler: 0/2,124 major/minor sched events.
--16108--    sanity: 1 cheap, 1 expensive checks.
--16108--    exectx: 769 lists, 290 contexts (avg 0 per list)
--16108--    exectx: 378 searches, 150 full compares (396 per 1000)
--16108--    exectx: 0 cmp2, 63 cmp4, 0 cmpAll
--16108--  errormgr: 11 supplist searches, 111 comparisons during search
--16108--  errormgr: 13 errlist searches, 63 comparisons during search