Thanks - i think the client-request VALGRIND_CHECK_VALUE_IS_DEFINED is
what i'm looking for.

Jody

On Tue, Feb 2, 2010 at 8:42 AM, Konstantin Serebryany
<konstantin.s.serebry...@gmail.com> wrote:
>
>
> On Mon, Feb 1, 2010 at 5:22 PM, jody <jody....@gmail.com> wrote:
>>
>> I accidentally replied tpo Julian only.
>> Here it is for the list.
>>  Sorry, jody
>>
>> ---------- Forwarded message ----------
>> From: jody <jody....@gmail.com>
>> Date: Mon, Feb 1, 2010 at 3:21 PM
>> Subject: Re: [Valgrind-users] variable goes uninitialized after
>> 'return' of method
>> To: Julian Seward <jsew...@acm.org>
>>
>>
>> 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)?
>
> Section 5.3 of the FAQ has the
> answer: http://valgrind.org/docs/manual/faq.html#faq.undeferrors
> --kcc
>
>>
>> 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 <jsew...@acm.org> 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
>> Valgrind-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/valgrind-users
>>
>>
>
>

------------------------------------------------------------------------------
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
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to