I accidentally replied tpo Julian only.
Here it is for the list.
  Sorry, jody

---------- Forwarded message ----------
From: jody <[email protected]>
Date: Mon, Feb 1, 2010 at 3:21 PM
Subject: Re: [Valgrind-users] variable goes uninitialized after
'return' of method
To: Julian Seward <[email protected]>


Thank you for your replies

I did run it with 'track-origins=yes' and the culprit was indeed the
array m_apVegetation.

But if m_apVegetation[id] is uninitialized, shouldn't it be reported
as such in the if statement below at line 273 (after this uninitialized
value has been saved in pAgent)?
Or do i misunderstand something on how these uninitialized values behave?

Thank you
 Jody

On Mon, Feb 1, 2010 at 2:55 PM, Julian Seward <[email protected]> wrote:
>
>> The method used in line 611 is in a different class:
>>     267:Agent *Cell::getVegAgent(spcid id) const {
>>     268:  Agent *pAgent = NULL;
>>     269:  if (id < NUM_VEG) {
>>     270:      pAgent = m_apVegetation[id];
>>     271:  }
>>     272:  // this is to check for uninitialized
>>     273:  if (pAgent == NULL) {
>>     274:      pAgent = NULL;
>>     275:  }
>>     276:  return pAgent;
>>     277:}
>>
>> When i run my application with valgrind, the first error to appear is:
>> ==16915== Conditional jump or move depends on uninitialised value(s)
>> ==16915==    at 0x815A0ED:
>> AgentPacker::updateVegiAgentFromArray2(float*, Population const*,
>> unsigned int) (AgentPacker.cpp:613)
>>
>> I inserted various if-statem,ents in the code above to "catch"
>> uninitialized variables,
>> but the ' if (pAgent != NULL) {' is the only one that triggers a
>> 'Conditional jump ..' message from valgrind.
>> It looks like pAgent goes uninitialized between return statement line
>> 276 in the second class and
>> the call in line 611.
>
> I would guess m_apVegetation[id] is uninitialised.
>
> Try --track-origins=yes for Valgrind.  That might help show
> where the root cause of the problem is.
>
> J
>

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to