Re: [Valgrind-users] Atos can find line of an address, but valgrind doesn't print it.

2013-01-23 Thread Julian Seward
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.

2013-01-23 Thread Dave Goodell
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.

2013-01-21 Thread Julian Seward

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.

2013-01-21 Thread Nick Overdijk
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