Re: [Valgrind-users] Atos can find line of an address, but valgrind doesn't print it.
On 01/21/2013 01:38 PM, Nick Overdijk wrote: Ah of course. I didn't do that, I ran it myself manually on stage1. such as: dsymutil stage1 valgrind stage1 That's because the call to valgrind is a bit hidden in some scripts that are also used on linux. Should my way work? I think it should; not sure why it doesn't. But anyway, does -dsymutil=yes help? J -- Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d ___ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users
Re: [Valgrind-users] Atos can find line of an address, but valgrind doesn't print it.
On Jan 20, 2013, at 3:50 PM CST, Nick Overdijk wrote: I have a nice stacktrace from some memory error in valgrind, and it fails to print the source file + line number somewhere. Here's the trace: ==63113== Conditional jump or move depends on uninitialised value(s) […] ==63113== Uninitialised value was created by a stack allocation ==63113==at 0x10002D7D4: run_image(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (in /Users/nick/Documents/Code/diag/REPO/BIN/stage1) […] This is on my Mac, running OSX 10.7, running valgrind 3.8.1 I was wondering why atos can give me source + line number and valgrind can't. How exactly are you building the source file that contains this particular line? I've encountered some weirdness if I do a direct .c--a.out build without first creating .o files. That is: 8 gcc foo.c dsymutil a.out 8 will NOT show file/line info in valgrind, but: 8 gcc -c foo.c gcc foo.o dsymutil a.out 8 will. This sometimes happens even if gdb can show me the correct debug info. I never thought too much of it and assumed it was Darwin's fault, since the .dSYM system is such a bad idea for other reasons. I suppose that it could be a Valgrind issue though... -Dave -- Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d ___ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users
Re: [Valgrind-users] Atos can find line of an address, but valgrind doesn't print it.
Did you use --dsymutil=yes ? J On 01/20/2013 10:50 PM, Nick Overdijk wrote: Howdy! I have a nice stacktrace from some memory error in valgrind, and it fails to print the source file + line number somewhere. Here's the trace: ==63113== Conditional jump or move depends on uninitialised value(s) ==63113==at 0x52FBA8: __vfprintf (in /usr/lib/system/libsystem_c.dylib) ==63113==by 0x52F18D: vfprintf_l (in /usr/lib/system/libsystem_c.dylib) ==63113==by 0x538D99: fprintf (in /usr/lib/system/libsystem_c.dylib) ==63113==by 0x100046718: write_regfit(char*, Regfit*) (clsf_io.cc:505) ==63113==by 0x1000466B5: write_regfit(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , Regfit*) (clsf_io.cc:492) ==63113==by 0x10002F7AC: run_image(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (stage1.cc:335) ==63113==by 0x10002D2C5: run_study(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (stage1.cc:266) ==63113==by 0x10002B83B: run_case(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (stage1.cc:222) ==63113==by 0x100029748: main (stage1.cc:173) ==63113== Uninitialised value was created by a stack allocation ==63113==at 0x10002D7D4: run_image(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (in /Users/nick/Documents/Code/diag/REPO/BIN/stage1) As you can see, it doesn't say what source file + line number is where the uninitialized was created, but when I pass these values into atos (addr2line for BSD, basically): nick@Nicks-MacBook-Pro:~/Documents/Code/diag/REPO/BIN$ atos -o stage1 0x10002D7D4 run_image(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (in stage1) (stage1.cc:284) This is on my Mac, running OSX 10.7, running valgrind 3.8.1 I was wondering why atos can give me source + line number and valgrind can't. Thanks in advance! -- Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_123012 ___ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users -- Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122412 ___ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users
Re: [Valgrind-users] Atos can find line of an address, but valgrind doesn't print it.
Ah of course. I didn't do that, I ran it myself manually on stage1. such as: dsymutil stage1 valgrind stage1 That's because the call to valgrind is a bit hidden in some scripts that are also used on linux. Should my way work? On 2013-21-01, at 12:10:28 , Julian Seward wrote: Did you use --dsymutil=yes ? J On 01/20/2013 10:50 PM, Nick Overdijk wrote: Howdy! I have a nice stacktrace from some memory error in valgrind, and it fails to print the source file + line number somewhere. Here's the trace: ==63113== Conditional jump or move depends on uninitialised value(s) ==63113==at 0x52FBA8: __vfprintf (in /usr/lib/system/libsystem_c.dylib) ==63113==by 0x52F18D: vfprintf_l (in /usr/lib/system/libsystem_c.dylib) ==63113==by 0x538D99: fprintf (in /usr/lib/system/libsystem_c.dylib) ==63113==by 0x100046718: write_regfit(char*, Regfit*) (clsf_io.cc:505) ==63113==by 0x1000466B5: write_regfit(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , Regfit*) (clsf_io.cc:492) ==63113==by 0x10002F7AC: run_image(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (stage1.cc:335) ==63113==by 0x10002D2C5: run_study(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (stage1.cc:266) ==63113==by 0x10002B83B: run_case(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (stage1.cc:222) ==63113==by 0x100029748: main (stage1.cc:173) ==63113== Uninitialised value was created by a stack allocation ==63113==at 0x10002D7D4: run_image(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (in /Users/nick/Documents/Code/diag/REPO/BIN/stage1) As you can see, it doesn't say what source file + line number is where the uninitialized was created, but when I pass these values into atos (addr2line for BSD, basically): nick@Nicks-MacBook-Pro:~/Documents/Code/diag/REPO/BIN$ atos -o stage1 0x10002D7D4 run_image(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , std::__1::basic_ostreamchar, std::__1::char_traitschar ) (in stage1) (stage1.cc:284) This is on my Mac, running OSX 10.7, running valgrind 3.8.1 I was wondering why atos can give me source + line number and valgrind can't. Thanks in advance! -- Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_123012 ___ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users -- Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122412 ___ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users