|
From: Michael R.
|
When Valgrind says "Conditional jump or move depends on uninitialised value(s)," it does not give an address or a size, so if I'm looking at a line like
1264 if (inet_addr_equal(ip, ae->ip_addr, addrlen) && (ifc == ae->ifc)) {
I really have very little idea what's going on.
Before I go try to patch Valgrind so that it will print out some information about where the undefinedness is, I thought I'd ask: Is there some technical reason why Valgrind doesn't already do this?
|
|
From: Michael R.
|
A related question: I treasure the user request macros that let me look at the address-valid and data-valid bits that correspond to arbitrary bytes in memory, but of course there's no way to use those in the debugger. Does any way to inspect these bits dynamically (ie, without modifying my code) exist? I'm assuming no. If I were really ambitious, I would go work on making one. I am probably not really ambitious, but let's pretend for a moment. Would anyone like to recommend a path of least resistence?
-----Original Message-----
From: Michael Rosellini [mailto:M.R...@f5...]
Sent: Monday, December 01, 2008 3:16 PM
To: val...@li...
Subject: [Valgrind-users] move depends on [WHICH?] uninitialised value(s)
When Valgrind says "Conditional jump or move depends on uninitialised value(s)," it does not give an address or a size, so if I'm looking at a line like
1264 if (inet_addr_equal(ip, ae->ip_addr, addrlen) && (ifc == ae->ifc)) {
I really have very little idea what's going on.
Before I go try to patch Valgrind so that it will print out some information about where the undefinedness is, I thought I'd ask: Is there some technical reason why Valgrind doesn't already do this?
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Valgrind-users mailing list
Val...@li...
https://lists.sourceforge.net/lists/listinfo/valgrind-users
|
|
From: Nicholas N. <nj...@cs...> - 2008-12-04 08:26:38
|
On Mon, 1 Dec 2008, Michael Rosellini wrote:
> When Valgrind says "Conditional jump or move depends on uninitialised
> value(s)," it does not give an address or a size, so if I'm looking at a
> line like
>
> 1264 if (inet_addr_equal(ip, ae->ip_addr, addrlen) && (ifc == ae->ifc)) {
>
> I really have very little idea what's going on.
>
> Before I go try to patch Valgrind so that it will print out some
> information about where the undefinedness is, I thought I'd ask: Is there
> some technical reason why Valgrind doesn't already do this?
http://www.valgrind.org/docs/origin-tracking2007.pdf has more detail on this
than you ever wanted to know. In short, it's difficult.
Nonetheless, it's been implemented (albeit in a simpler, less efficient but
more robust way than that described in the paper). Check out the current
SVN trunk (see http://www.valgrind.org/downloads/repository.html for how)
and try the --track-origins=yes option.
Nick
|