|
From: jody <jod...@gm...> - 2014-07-07 15:33:09
|
Hi
I usually compile my source with "-g" to have the symbols,
gcc -o main -g main.c
That way the valgrind output may become a bit clearer.
I call valgrind like this
valgrind -v --leak-check=full --track-origins=yes --show-reachable=yes
./main
if iwant full information about errors and leaks,
or like this
valgrind -v ./main
if am only interested in the errors.
Hope this helps
Jody
On Mon, Jul 7, 2014 at 4:33 PM, Ying Zhang <zh...@hp...> wrote:
> Hello,
>
> I'm testing valgrind with a very simple C program:
>
> #include <stdio.h>
>
> int main()
> {
> printf ("Hello world\n");
> return 0;
> }
>
> After compile and run it with valgrind
>
> gcc -o main main.c
> valgrind --tool=memcheck --track-origins=yes ./main
>
> I got the following errors. I don't quite understand why there are 54
> errors from 12 contexts (suppressed: 6 from 6) from a simple program. I'd
> appreciate if anyone could give me some insights.
>
> Thank you,
>
> Ying
>
> ----------------------
>
> ==49780== Memcheck, a memory error detector
> ==49780== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
> ==49780== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
> ==49780== Command: ./main
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4F58D05: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x9F8E5D7: ???
> ==49780== by 0x422200F: ???
> ==49780== by 0xFFEFFF387: ???
> ==49780== by 0xFFEFFF37F: ???
> ==49780== by 0xFFEFFF477: ???
> ==49780== by 0x1D: ???
> ==49780== by 0x9D7CD90: ??? (in /lib64/libselinux.so.1)
> ==49780== by 0xC1: ???
> ==49780== by 0xFFEFFF33D: ???
> ==49780== by 0xEF52: ???
> ==49780== by 0xFFF: ???
> ==49780== Uninitialised value was created
> ==49780== at 0x4F0F91A: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x4F0F9C4: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x51BDE7F: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x4EAC918: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x23F: ???
> ==49780== by 0x4EA9029: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x566704E3E3A7: ???
> ==49780== by 0x237: ???
> ==49780== by 0x20FFF: ???
> ==49780== by 0x4E3F73F: ??? (in /lib64/libc-2.12.so)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4F58D3C: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x9F8E5D7: ???
> ==49780== by 0x422200F: ???
> ==49780== by 0xFFEFFF387: ???
> ==49780== by 0xFFEFFF37F: ???
> ==49780== by 0xFFEFFF477: ???
> ==49780== by 0x1D: ???
> ==49780== by 0x9D7CD90: ??? (in /lib64/libselinux.so.1)
> ==49780== by 0xC1: ???
> ==49780== by 0xFFEFFF33D: ???
> ==49780== by 0xEF52: ???
> ==49780== by 0xFFF: ???
> ==49780== Uninitialised value was created
> ==49780== at 0x4F0F91A: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x4F0F9C4: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x51BDE7F: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x4EAC918: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x23F: ???
> ==49780== by 0x4EA9029: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x566704E3E3A7: ???
> ==49780== by 0x237: ???
> ==49780== by 0x20FFF: ???
> ==49780== by 0x4E3F73F: ??? (in /lib64/libc-2.12.so)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4F5976F: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x9F8E5D7: ???
> ==49780== by 0x422200F: ???
> ==49780== by 0xFFEFFF387: ???
> ==49780== by 0xFFEFFF37F: ???
> ==49780== by 0xFFEFFF477: ???
> ==49780== by 0x1D: ???
> ==49780== by 0x9D7CD90: ??? (in /lib64/libselinux.so.1)
> ==49780== by 0xC1: ???
> ==49780== by 0xFFEFFF33D: ???
> ==49780== by 0xEF52: ???
> ==49780== by 0xFFF: ???
> ==49780== Uninitialised value was created
> ==49780== at 0x4F0F91A: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x4F0F9C4: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x51BDE7F: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x4EAC918: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x23F: ???
> ==49780== by 0x4EA9029: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x566704E3E3A7: ???
> ==49780== by 0x237: ???
> ==49780== by 0x20FFF: ???
> ==49780== by 0x4E3F73F: ??? (in /lib64/libc-2.12.so)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4F597EC: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x9F8E5D7: ???
> ==49780== by 0x422200F: ???
> ==49780== by 0xFFEFFF387: ???
> ==49780== by 0xFFEFFF37F: ???
> ==49780== by 0xFFEFFF477: ???
> ==49780== by 0x1D: ???
> ==49780== by 0x9D7CD90: ??? (in /lib64/libselinux.so.1)
> ==49780== by 0xC1: ???
> ==49780== by 0xFFEFFF33D: ???
> ==49780== by 0xEF52: ???
> ==49780== by 0xFFF: ???
> ==49780== Uninitialised value was created
> ==49780== at 0x4F0F91A: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x4F0F9C4: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x51BDE7F: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x4EAC918: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x23F: ???
> ==49780== by 0x4EA9029: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x566704E3E3A7: ???
> ==49780== by 0x237: ???
> ==49780== by 0x20FFF: ???
> ==49780== by 0x4E3F73F: ??? (in /lib64/libc-2.12.so)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4F5939A: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x9F8E5D7: ???
> ==49780== by 0x422200F: ???
> ==49780== by 0xFFEFFF387: ???
> ==49780== by 0xFFEFFF37F: ???
> ==49780== by 0xFFEFFF477: ???
> ==49780== by 0x1D: ???
> ==49780== by 0x9D7CD90: ??? (in /lib64/libselinux.so.1)
> ==49780== by 0xC1: ???
> ==49780== by 0xFFEFFF33D: ???
> ==49780== by 0xEF52: ???
> ==49780== by 0xFFF: ???
> ==49780== Uninitialised value was created
> ==49780== at 0x4F0F91A: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x4F0F9C4: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x51BDE7F: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x4EAC918: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x23F: ???
> ==49780== by 0x4EA9029: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x566704E3E3A7: ???
> ==49780== by 0x237: ???
> ==49780== by 0x20FFF: ???
> ==49780== by 0x4E3F73F: ??? (in /lib64/libc-2.12.so)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4F597E4: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x9F8E5D7: ???
> ==49780== by 0x422200F: ???
> ==49780== by 0xFFEFFF387: ???
> ==49780== by 0xFFEFFF37F: ???
> ==49780== by 0xFFEFFF477: ???
> ==49780== by 0x1D: ???
> ==49780== by 0x9D7CD90: ??? (in /lib64/libselinux.so.1)
> ==49780== by 0xC1: ???
> ==49780== by 0xFFEFFF33D: ???
> ==49780== by 0xEF52: ???
> ==49780== by 0xFFF: ???
> ==49780== Uninitialised value was created
> ==49780== at 0x4F0F91A: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x4F0F9C4: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x51BDE7F: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x4EAC918: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x23F: ???
> ==49780== by 0x4EA9029: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x566704E3E3A7: ???
> ==49780== by 0x237: ???
> ==49780== by 0x20FFF: ???
> ==49780== by 0x4E3F73F: ??? (in /lib64/libc-2.12.so)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4F597E8: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x9F8E5D7: ???
> ==49780== by 0x422200F: ???
> ==49780== by 0xFFEFFF387: ???
> ==49780== by 0xFFEFFF37F: ???
> ==49780== by 0xFFEFFF477: ???
> ==49780== by 0x1D: ???
> ==49780== by 0x9D7CD90: ??? (in /lib64/libselinux.so.1)
> ==49780== by 0xC1: ???
> ==49780== by 0xFFEFFF33D: ???
> ==49780== by 0xEF52: ???
> ==49780== by 0xFFF: ???
> ==49780== Uninitialised value was created
> ==49780== at 0x4F0F91A: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x4F0F9C4: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x51BDE7F: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x51BDED7: ???
> ==49780== by 0x4EAC918: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x23F: ???
> ==49780== by 0x4EA9029: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x566704E3E3A7: ???
> ==49780== by 0x237: ???
> ==49780== by 0x20FFF: ???
> ==49780== by 0x4E3F73F: ??? (in /lib64/libc-2.12.so)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4EB037B: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x636F: ???
> ==49780== Uninitialised value was created by a stack allocation
> ==49780== at 0x88DB3FB: ??? (in /usr/lib64/libinfinipath.so.4.0)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4EB9C7E: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0xA30203A0971: ???
> ==49780== by 0x8AE4FFF: ??? (in /usr/lib64/libinfinipath.so.4.0)
> ==49780== by 0x8DECBCF: ???
> ==49780== by 0x8DD483F: ??? (in
> /opt/gnu/gcc/4.7.2/lib64/libstdc++.so.6.0.17)
> ==49780== by 0x8DD1C8F: ??? (in
> /opt/gnu/gcc/4.7.2/lib64/libstdc++.so.6.0.17)
> ==49780== Uninitialised value was created by a stack allocation
> ==49780== at 0x679F8FB: ??? (in /opt/mellanox/mxm/lib/libmxm.so.0.0.0)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4EB9C93: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x68747541203A0963: ???
> ==49780== by 0x444D416369746E64: ???
> ==49780== by 0x8DE0009: ???
> ==49780== by 0x8DD483F: ??? (in
> /opt/gnu/gcc/4.7.2/lib64/libstdc++.so.6.0.17)
> ==49780== by 0x8DD1C8F: ??? (in
> /opt/gnu/gcc/4.7.2/lib64/libstdc++.so.6.0.17)
> ==49780== Uninitialised value was created by a stack allocation
> ==49780== at 0x679F8FB: ??? (in /opt/mellanox/mxm/lib/libmxm.so.0.0.0)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4EB9C93: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0xA3132203A09796B: ???
> ==49780== by 0x444D416369746DFF: ???
> ==49780== by 0x8DE0009: ???
> ==49780== by 0x8DD483F: ??? (in
> /opt/gnu/gcc/4.7.2/lib64/libstdc++.so.6.0.17)
> ==49780== by 0x8DD1C8F: ??? (in
> /opt/gnu/gcc/4.7.2/lib64/libstdc++.so.6.0.17)
> ==49780== Uninitialised value was created by a stack allocation
> ==49780== at 0x679F8FB: ??? (in /opt/mellanox/mxm/lib/libmxm.so.0.0.0)
> ==49780==
> ==49780== Conditional jump or move depends on uninitialised value(s)
> ==49780== at 0x4EB9C93: ??? (in /lib64/libc-2.12.so)
> ==49780== by 0x444D41203A09656C: ???
> ==49780== by 0x6E6F726574704F1F: ???
> ==49780== by 0x6F725020296D7427: ???
> ==49780== by 0x3620726F73736562: ???
> ==49780== by 0x2020202020383732: ???
> ==49780== by 0x202020202020201F: ???
> ==49780== by 0xA2020201F: ???
> ==49780== by 0x8DD3C3F: ??? (in
> /opt/gnu/gcc/4.7.2/lib64/libstdc++.so.6.0.17)
> ==49780== by 0x8B4272C: ??? (in
> /opt/gnu/gcc/4.7.2/lib64/libstdc++.so.6.0.17)
> ==49780== by 0x8DECBCF: ???
> ==49780== by 0xFFEFFF2BF: ???
> ==49780== Uninitialised value was created by a stack allocation
> ==49780== at 0x679F8FB: ??? (in /opt/mellanox/mxm/lib/libmxm.so.0.0.0)
> ==49780==
> ==49780== Warning: ignored attempt to set SIGKILL handler in sigaction();
> ==49780== the SIGKILL signal is uncatchable
> Hello world
> ==49780==
> ==49780== HEAP SUMMARY:
> ==49780== in use at exit: 0 bytes in 0 blocks
> ==49780== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
> ==49780==
> ==49780== All heap blocks were freed -- no leaks are possible
> ==49780==
> ==49780== For counts of detected and suppressed errors, rerun with: -v
> ==49780== ERROR SUMMARY: 54 errors from 12 contexts (suppressed: 6 from 6)
>
> ------------------------------------------------------------------------------
> Open source business process management suite built on Java and Eclipse
> Turn processes into business applications with Bonita BPM Community Edition
> Quickly connect people, data, and systems into organized workflows
> Winner of BOSSIE, CODIE, OW2 and Gartner awards
> http://p.sf.net/sfu/Bonitasoft
> _______________________________________________
> Valgrind-users mailing list
> Val...@li...
> https://lists.sourceforge.net/lists/listinfo/valgrind-users
>
|