Re: valgrind output

From: Axel Naumann <Axel.Naumann_at_cern.ch>
Date: Wed, 27 Jul 2011 18:33:23 +0200


Hi Chiara,

The second one is not due to ROOT.

You can use the valgrind flag
--suppressions=$ROOTSYS/etc/valgrind-root.supp to ignore the known and intentional ROOT leaks.

Cheers, Axel.

On 07/27/2011 05:33 PM, Chiara Zampolli wrote:
> Dear all,
>
> When trying to inspect possible leaks in my code, I ran it with valgrind ("valgrind --leak-check=full --log-file=valgrind.out --error-limit=no" options). Most of the errors I got are of the form:
>
> ==29354== 44 bytes in 1 blocks are possibly lost in loss record 70,362 of 113,643
> ==29354== at 0x4A062CA: operator new[](unsigned long) (vg_replace_malloc.c:264)
> ==29354== by 0x19212541: TStringRef::GetRep(int, int) (TString.cxx:145)
> ==29354== by 0x19215685: TString::TString(char const*) (TString.cxx:338)
> ==29354== by 0x192B76BC: TRealData::TRealData(char const*, long, TDataMember*) (TRealData.cxx:42)
> ==29354== by 0x1929CF2E: TBuildRealData::Inspect(TClass*, char const*, char const*, void const*) (TClass.cxx:523)
> ==29354== by 0x175474E5: AliCTPTimeParams::ShowMembers(TMemberInspector&) (G__STEER.cxx:15002)
> ==29354== by 0x19291B12: TClass::CallShowMembers(void*, TMemberInspector&, int) const (TClass.cxx:1741)
> ==29354== by 0x19292FE2: TClass::BuildRealData(void*, bool) (TClass.cxx:1592)
> ==29354== by 0x1A54FE06: TBufferFile::WriteClassBuffer(TClass const*, void*) (TBufferFile.cxx:3648)
> ==29354== by 0x1738973C: AliCTPTimeParams::Streamer(TBuffer&) (G__STEER.cxx:14990)
> ==29354== by 0x19291A17: TClass::StreamerTObject(void*, TBuffer&, TClass const*) const (TClass.cxx:4954)
> ==29354== by 0x19288A73: TClass::StreamerDefault(void*, TBuffer&, TClass const*) const (TClass.cxx:5017)
>
> and
>
> ==29354== 44 (40 direct, 4 indirect) bytes in 1 blocks are definitely lost in loss record 70,372 of 113,643
> ==29354== at 0x4A0666E: operator new(unsigned long) (vg_replace_malloc.c:220)
> ==29354== by 0x192110A8: TStorage::ObjectAlloc(unsigned long) (TStorage.cxx:328)
> ==29354== by 0x173503E3: AliLHCData::FillScalarRecord(int*, char const*, char const*) (TObject.h:156)
> ==29354== by 0x17351014: AliLHCData::FillData(double, double) (AliLHCData.cxx:217)
> ==29354== by 0x173510CD: AliLHCData::FillData(char const*, double, double) (AliLHCData.cxx:126)
> ==29354== by 0x17351192: AliLHCData::AliLHCData(char const*, double, double) (AliLHCData.cxx:107)
> ==29354== by 0x17312D38: AliGRPPreprocessor::ProcessLHCData(AliGRPObject*) (AliGRPPreprocessor.cxx:1083)
> ==29354== by 0x17318971: AliGRPPreprocessor::Process(TMap*) (AliGRPPreprocessor.cxx:619)
> ==29354== by 0x23AF047D: AliTestShuttle::Process() (AliTestShuttle.cxx:596)
> ==29354== by 0x23AF97CF: G__dict_242_0_13(G__value*, char const*, G__param*, int) (dict.cxx:851)
> ==29354== by 0x19B29A6E: Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (Api.cxx:393)
> ==29354== by 0x19C2608C: G__execute_call (newlink.cxx:2406)
> ==29354==
>
> and
>
> ==29354== 44 bytes in 1 blocks are possibly lost in loss record 70,361 of 113,643
> ==29354== at 0x4A0666E: operator new(unsigned long) (vg_replace_malloc.c:220)
> ==29354== by 0x3F6569A520: std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.8)
> ==29354== by 0x3F6569B024: ??? (in /usr/lib64/libstdc++.so.6.0.8)
> ==29354== by 0x3F6569B1D1: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib64/libstdc++.so.6.0.8)
> ==29354== by 0x192892C3: TClass::AddClass(TClass*) (TClass.cxx:230)
> ==29354== by 0x1929753A: TClass::Init(char const*, short, std::type_info const*, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&), char const*, char const*, int, int, bool) (TClass.cxx:932)
> ==29354== by 0x192984C6: TClass::TClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&), char const*, char const*, int, int, bool) (TClass.cxx:842)
> ==29354== by 0x192985DD: ROOT::CreateClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&), char const*, char const*, int, int) (TClass.cxx:4299)
> ==29354== by 0x4C73F67: ROOT::TDefaultInitBehavior::CreateClass(char const*, short, std::type_info const&, TVirtualIsAProxy*, void (*)(void*, TMemberInspector&), char const*, char const*, int, int) const (
> Rtypes.h:252)
> ==29354== by 0x192ADC78: ROOT::TGenericClassInfo::GetClass() (TGenericClassInfo.cxx:219)
> ==29354== by 0x1738901A: AliTriggerCluster::Class() (G__STEER.cxx:6591)
> ==29354== by 0x194BA5DE: TInstrumentedIsAProxy<TObject>::operator()(void const*) (TIsAProxy.h:83)
> ==29354==
>
>
> which seem to be related to ROOT. Is this something known? Can I ignore these errors?
>
> Thanks for your help, and Best Regards,
>
> Chiara
>
>
Received on Wed Jul 27 2011 - 18:33:27 CEST

This archive was generated by hypermail 2.2.0 : Wed Jul 27 2011 - 23:50:01 CEST