I get valgrind errors coming from std:: . Therefore, I divided my program into a very simple βHello Worldβ example:
#include <iostream> using namespace std; int main(int argc, char *argv[]){ cout << "Hello World!" << endl; // (Line 8) }
But I still get the following error:
==1311== Conditional jump or move depends on uninitialised value(s) ==1311== at 0x1004E8C3F: _platform_memchr$VARIANT$Haswell (in /usr/lib/system/libsystem_platform.dylib) ==1311== by 0x1002DCB96: __sfvwrite (in /usr/lib/system/libsystem_c.dylib) ==1311== by 0x1002DD0AA: fwrite (in /usr/lib/system/libsystem_c.dylib) ==1311== by 0x100029D29: std::__1::__stdoutbuf<char>::overflow(int) (in /usr/lib/libc++.1.dylib) ==1311== by 0x10001F91C: std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsputn(char const*, long) (in /usr/lib/libc++.1.dylib) ==1311== by 0x100001C88: std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) (streambuf:360) ==1311== by 0x1000016A6: std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) (ostream:743) ==1311== by 0x1000012C3: std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<< <std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) (ostream:882) ==1311== by 0x100001257: main (main.cpp:8) ==1311== Uninitialised value was created by a stack allocation ==1311== at 0x100029CD8: std::__1::__stdoutbuf<char>::overflow(int) (in /usr/lib/libc++.1.dylib)
Commands to compile and run valgrind (on OSX Yosemite):
g++ -o main main.cpp --std=c++0x -O0 -g valgrind --log-file=vg1.txt --leak-check=full --track-origins=yes ./main
I am not sure how to handle this error:
I think this is really not my fault. But maybe there is something wrong with the configuration of these libraries?
Should I worry about the error? If not, can there be a way to filter such errors?
source share