hi,

While valgrinding a program of mine, I get this warning:
==4350== Thread 2:
==4350== Invalid read of size 8
==4350==    at 0x5F5D092: ns3::StackTrampoline::SignalHandler(int)
(pthread-fiber-manager.cc:168)
==4350==    by 0x37FB40F0EF: ??? (in /lib64/libpthread-2.11.2.so)
==4350==    by 0x37FB40EFBA: raise (pt-raise.c:42)
==4350==  Address 0x67494f0 is on thread 2's stack

which corresponds to the following assembly code:
0x0000000005f5d092 <ns3::StackTrampoline::SignalHandler(int)+50>:       mov
  -0x8(%rbp),%rax
0x0000000005f5d096 <ns3::StackTrampoline::SignalHandler(int)+54>:       mov
  0xd0(%rax),%rax

with the program counter being
(gdb) p $pc
$2 = (void (*)(void)) 0x5f5d092 <ns3::StackTrampoline::SignalHandler(int)+50>
and the frame pointer:
(gdb) p $rbp
$3 = (void *) 0x67494f8

So, yes, this code is accessing a variable located on the stack. But,
what is wrong with that ?

The stack page is allocated with mmap, it is set with sigaltstack and
registered with VALGRIND_STACK_REGISTER

What could I have done wrong to trigger this warning ?

Mathieu
-- 
Mathieu Lacage <mathieu.lac...@gmail.com>

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to