On Wed, Jan 9, 2013 at 7:14 PM, Kalaivani R <[email protected]> wrote:
> Hi,
> I installed valgrind 3.8.1 and when I tried to run with a C++ executable it
> always terminates with SIGSEGV for a C++ static variable initialization.
> Is there any fix available for this issue in valgrind?
> We could not proceed further. We tried to check for patches but we could not
> succeed.
> We faced the same problem with the earlier version of valgrind as well
> (3.1.1)
> glibc version: ldd (GNU libc) 2.3.4
> gcc version:   gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-11)
>
> Thanks,
> Kalai
>
> ==19332== Process terminating with default action of signal 11 (SIGSEGV)
> ==19332==  Access not within mapped region at address 0x0
> ==19332==    at 0x4009A34: memset (mc_replace_strmem.c:1007)
> ==19332==    by 0x40C7D0A: Heap::Heap() (Heap.cpp:61)
> ==19332==    by 0x40CB41E: operator new(unsigned int) (NewDelete.cpp:23)
> ==19332==    by 0x4644055: __static_initialization_and_destruction_0(int,
> int) (LteEgtpCli.cpp:30)
> ==19332==    by 0x46440B2: global constructors keyed to
> SendEgtpuMsg::egtpRxEgtpRB (LteEgtpCli.cpp:994)
> ==19332==    by 0x464C9C0: ??? (in /root/enb/lib/liblteegtp.so)
> ==19332==    by 0x4641C3C: ??? (in /root/enb/lib/liblteegtp.so)
> ==19332==    by 0x25C897: _dl_init (in /lib/ld-2.3.4.so)
> ==19332==    by 0x2507FE: ??? (in /lib/ld-2.3.4.so)
> ==19332==  If you believe this happened as a result of a stack
> ==19332==  overflow in your program's main thread (unlikely but
> ==19332==  possible), you can try to increase the size of the
> ==19332==  main thread stack using the --main-stacksize= flag.
> ==19332==  The main thread stack size used in this run was 10485760.
> ==19332==
> ==19332== HEAP SUMMARY:
> ==19332==     in use at exit: 0 bytes in 0 blocks
> ==19332==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
> ==19332==
> ==19332== All heap blocks were freed -- no leaks are possible
> ==19332==
> ==19332== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 86 from 8)
> ==19332==
> ==19332== 1 errors in context 1 of 1:
> ==19332== Invalid write of size 4
> ==19332==    at 0x4009A34: memset (mc_replace_strmem.c:1007)
> ==19332==    by 0x40C7D0A: Heap::Heap() (Heap.cpp:61)
> ==19332==    by 0x40CB41E: operator new(unsigned int) (NewDelete.cpp:23)
> ==19332==    by 0x4644055: __static_initialization_and_destruction_0(int,
> int) (LteEgtpCli.cpp:30)
> ==19332==    by 0x46440B2: global constructors keyed to
> SendEgtpuMsg::egtpRxEgtpRB (LteEgtpCli.cpp:994)
> ==19332==    by 0x464C9C0: ??? (in /root/enb/lib/liblteegtp.so)
> ==19332==    by 0x4641C3C: ??? (in /root/enb/lib/liblteegtp.so)
> ==19332==    by 0x25C897: _dl_init (in /lib/ld-2.3.4.so)
> ==19332==    by 0x2507FE: ??? (in /lib/ld-2.3.4.so)
> ==19332==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
> ==19332==

Apparently your program is trying to write to a NULL pointer. There's
nothing Valgrind should do about this.
Check your code at Heap.cpp:61 and make sure you're passing the
correct values to memset().

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to