# Additional valgrind suppression file for ROOT. # # To use, run valgrind with: # valgrind --suppressions=$ROOTSYS/etc/valgrind-root.supp ... # # This file suppresses known and expected / inevitable valgrind # reports, e.g. due to ROOT's runtime type information that must # survive until the end of the process and thus leaks. # It only suppresses leaks, and a few errors generated by X11. ######### ROOT's RTTI { TClass::AddClass()'s std::string Memcheck:Leak fun:_Znw? fun:_ZNSs4_Rep9_S_createE??RKSaIcE ... fun:_ZNSsC1EPKcRKSaIcE fun:_ZN6TClass8AddClassEPS_ } { TCint::CreateListOfBaseClasses(TClass*) Memcheck:Leak fun:_Znw? fun:_ZN8TStorage11ObjectAllocE? fun:_ZN5TCint23CreateListOfBaseClassesEP6TClass } { Memcheck:Leak fun:_Znw? fun:_ZN5TList7NewLinkEP7TObjectP8TObjLink fun:_ZN5TList7AddLastEP7TObject fun:_ZN5TCint23CreateListOfBaseClassesEP6TClass } { TGenericClassInfo's fClass generated by ROOT::TQObjectInitBehavior::CreateClass() Memcheck:Leak fun:_Znw? fun:_ZN8TStorage11ObjectAllocE? fun:_ZN7TObjectnwE? fun:_ZNK4ROOT20TQObjectInitBehavior11CreateClassEPKcsRKSt9type_info* } { TClass long name Memcheck:Leak fun:_Zna? fun:_ZN7TString4InitEii fun:_ZN7TStringC1EPKc fun:_ZN6TClassC2EPKc* } { TDictionary long name Memcheck:Leak fun:_Zna? fun:_ZN7TString4InitEii fun:_ZN7TStringC1EPKc fun:_ZN6TNamedC1EPKcS1_ fun:_ZN11TDictionaryC1EPKc } { TBaseClass long name Memcheck:Leak fun:_Zna? fun:_ZN7TString7ReplaceEiiPKci fun:_ZN7TStringaSEPKc fun:_ZN6TNamed7SetNameEPKc fun:_ZN10TBaseClassC1EPvP6TClass } { TDataType long name Memcheck:Leak fun:_Zna? fun:_ZN7TString7ReplaceEiiPKci fun:_ZN7TStringaSEPKc ... fun:_ZN9TDataTypeC1EPv } { Anything allocated by TClass::Init: new[]() Memcheck:Leak fun:_Zna? ... fun:_ZN6TClass4InitEPKcs* } { Anything allocated by TClass::Init: new() Memcheck:Leak fun:_Znw? ... fun:_ZN6TClass4InitEPKcs* } { TClass thread local storage Memcheck:Leak fun:_Znw? fun:_ZN8TStorage11ObjectAllocE? fun:_ZN7TObjectnwE? fun:_ZN12_GLOBAL__N_118TClassLocalStorage10GetStorageEPK6TClass } { TThread global mutex Memcheck:Leak fun:_Znw? fun:_ZN8TStorage11ObjectAllocE? fun:_ZN7TObjectnwE? fun:_ZN7TThread4InitEv } { TClass's list of base classes (TDataMember elements) Memcheck:Leak fun:_Znw? fun:_ZN5TList7NewLinkEP7TObjectP8TObjLink fun:_ZN5TList7AddLastEP7TObject fun:_ZN5TList3AddEP7TObject fun:_ZN5TCint23CreateListOfBaseClassesEP6TClass } { TClass's list of base classes (G__DataMemberInfo elements) Memcheck:Leak fun:_Znw? fun:_ZN5TCint23CreateListOfBaseClassesEP6TClass } { TClass's list of base classes (TList container) Memcheck:Leak fun:_Znw? fun:_ZN8TStorage11ObjectAllocE? fun:_ZN7TObjectnwE? fun:_ZN5TCint23CreateListOfBaseClassesEP6TClass } { Unloaded TClass and its fClassInfo Memcheck:Leak fun:_Znw? fun:_ZN5TCint12SetClassInfoEP6TClassb fun:_ZN6TClass11SetUnloadedEv } { TClass::Init calling TCint::SetClassInfo Memcheck:Leak fun:_Znw? fun:_ZN5TCint12SetClassInfoEP6TClassb fun:_ZN6TClass4InitEPKcsPKSt9type_infoP16TVirtualIsAProxyPFvPvR16TMemberInspectorES1_S1_iib } { std::string uses in various place. Memcheck:Leak fun:_Znw? fun:_ZNSs4_Rep9_S_createE??RKSaIcE fun:_ZNSs9_M_mutateE??? fun:_ZNSs15_M_replace_safeE??PKc? } { Array of objects allocated in TStreamerInfo::Compile Memcheck:Leak fun:_Zna? fun:_ZN13TStreamerInfo7CompileEv } { Strings allocated in TStreamerInfo::Compile Memcheck:Leak fun:_Zna? fun:_ZN7TString7ReplaceEiiPKci fun:_ZN7TStringaSERK10TSubString fun:_ZN13TStreamerInfo7CompileEv } { String reallocated in TStreamerInfo::Compile Memcheck:Leak fun:_Zna? fun:_ZN7TString7ReplaceEiiPKci fun:_ZN13TStreamerInfo7CompileEv } { StreamerInfo virtual table mechanism Memcheck:Leak fun:_Zna? fun:_ZN13TStreamerInfo8BuildOldEv fun:_ZNK6TClass15GetStreamerInfoEi } { StreamerInfo parts Memcheck:Leak fun:_Znw? fun:_ZN8TStorage11ObjectAllocE? fun:_ZN7TObjectnwE? fun:_ZN4ROOTL13new_TObjArrayEPv fun:_ZNK6TClass3NewENS_8ENewTypeE fun:_ZN11TBufferFile13ReadObjectAnyEPK6TClass fun:_ZrsI9TObjArrayER7TBufferS2_RPT_ fun:_ZN13TStreamerInfo8StreamerER7TBuffer } { StreamerInfo parts Memcheck:Leak fun:_Zna? fun:_ZN8TStorage5AllocE? fun:_ZN9TObjArray4InitEii fun:_ZN9TObjArrayC1Eii fun:_ZN4ROOTL13new_TObjArrayEPv fun:_ZNK6TClass3NewENS_8ENewTypeE fun:_ZN11TBufferFile13ReadObjectAnyEPK6TClass fun:_ZrsI9TObjArrayER7TBufferS2_RPT_ fun:_ZN13TStreamerInfo8StreamerER7TBuffer } { CollectionProxy objects Memcheck:Leak fun:_Znw? fun:_ZN23TCollectionProxyFactory24GenEmulatedClassStreamerEPKc } { CollectionProxy objects Memcheck:Leak fun:_Znw? fun:_ZNK19TGenCollectionProxy8GenerateEv fun:_ZNK6TClass18GetCollectionProxyEv } { CollectionProxy objects Memcheck:Leak fun:_Znw? fun:_ZNK19TGenCollectionProxy8GenerateEv fun:_ZN14TBranchElement4InitEP5TTreeP7TBranchPKcP23TVirtualCollectionProxyiii } { Part of CollectionProxy objects Memcheck:Leak fun:_Znw? ... fun:_ZN19TGenCollectionProxyC1ERKS_ } { Part of CollectionProxy objects Memcheck:Leak fun:_Zna? ... fun:_ZN19TGenCollectionProxyC1ERKS_ } { TClass's list of RealData. Memcheck:Leak fun:_Znw? fun:_ZN5TList7NewLinkEP7TObjectP8TObjLink fun:_ZN5TList7AddLastEP7TObject fun:_ZN5TList3AddEP7TObject fun:_ZN6TClass21BuildEmulatedRealDataEPKclPS_ } { TClass's RealData objects. Memcheck:Leak fun:_Znw? fun:_ZN8TStorage11ObjectAllocE? fun:_ZN7TObjectnwE? fun:_ZN6TClass21BuildEmulatedRealDataEPKclPS_ } { TClass's RealData objects. Memcheck:Leak fun:_Znw? fun:_ZN8TStorage11ObjectAllocE? fun:_ZN7TObjectnwE? fun:_ZN6TClass13BuildRealDataEPvb } { TEmulatedCollectionProxy configuration item Memcheck:Leak fun:_Znw? fun:_ZN24TEmulatedCollectionProxy12InitializeExEv } { ROOT's list of types objects Memcheck:Leak fun:_Znw? fun:_ZN8TStorage11ObjectAllocE? fun:_ZN7TObjectnwE? fun:_ZN5TCint17UpdateListOfTypesEv } { ROOT's list of types Memcheck:Leak fun:_Znw? fun:_ZN5TCint17UpdateListOfTypesEv } { ROOT's list of types internals Memcheck:Leak fun:_Znw? fun:_ZN5TList7NewLinkEP7TObjectP8TObjLink fun:_ZN5TList7AddLastEP7TObject fun:_ZN5TList3AddEP7TObject fun:_ZN10THashTable3AddEP7TObject fun:_ZN10THashTable6RehashEib fun:_ZN10THashTable3AddEP7TObject fun:_ZN5TCint17UpdateListOfTypesEv } ######### ROOT I/O { zlib fill_window issue, see zlib.net FAQ #36 and comment "If n is not on any hash chain, prev[n] is garbage but" in zlib deflate.c. See http://www.zlib.net/zlib_faq.html#faq36. Even though the code was correct, versions 1.2.4 and later was changed to not stimulate these checkers. Memcheck:Cond fun:fill_window fun:deflate_fast fun:deflate } { zlib deflate issue, see zlib.net FAQ #36: http://www.zlib.net/zlib_faq.html#faq36 which says that it was due to changing from calloc to malloc. And notes, that even though the code was correct, versions 1.2.4 and later was changed to not stimulate these checkers. Memcheck:Cond fun:longest_match ... fun:deflate } ######### CINT { CINT's G__rate_parameter_match bogus report Memcheck:Cond fun:G__rate_parameter_match fun:G__overload_match } { CINT's function parameter info Memcheck:Leak fun:malloc fun:G__memfunc_para_setup } { CINT's function parameter info part 2 Memcheck:Leak fun:malloc fun:_ZN9G__paramsixEi fun:G__memfunc_para_setup } { CINT's function info Memcheck:Leak fun:malloc fun:G__memfunc_next } { CINT's function info (name) Memcheck:Leak fun:malloc fun:G__savestring fun:G__memfunc_setup_imp } { CINT's function info (parameter) Memcheck:Leak fun:malloc fun:_ZN9G__paramsixEi fun:G__memfunc_setup_imp } { CINT's compiled function prototype Memcheck:Leak fun:malloc fun:G__make_ifunctable } { CINT's function prototype Memcheck:Leak fun:malloc fun:G__readansiproto } { CINT's NameMap part1 Memcheck:Leak fun:_Znw? fun:_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeIiEE8allocateE?PKv fun:_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE11_M_get_nodeEv fun:_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE14_M_create_nodeERKi fun:_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_EPKSt18_Rb_tree_node_baseS8_RKi fun:_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE16_M_insert_uniqueERKi fun:_ZNSt3setIiSt4lessIiESaIiEE6insertERKi fun:_ZN7NameMap6InsertEPKci } { CINT's NameMap part2 Memcheck:Leak fun:_Znw? fun:_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKcSt3setIiSt4lessIiESaIiEEEEE8allocateE?PKv fun:_ZNSt8_Rb_treeIPKcSt4pairIKS1_St3setIiSt4lessIiESaIiEEESt10_Select1stIS9_EN7NameMap15G__charptr_lessESaIS9_EE11_M_get_nodeEv fun:_ZNSt8_Rb_treeIPKcSt4pairIKS1_St3setIiSt4lessIiESaIiEEESt10_Select1stIS9_EN7NameMap15G__charptr_lessESaIS9_EE14_M_create_nodeERKS9_ fun:_ZNSt8_Rb_treeIPKcSt4pairIKS1_St3setIiSt4lessIiESaIiEEESt10_Select1stIS9_EN7NameMap15G__charptr_lessESaIS9_EE10_M_insert_EPKSt18_Rb_tree_node_baseSI_RKS9_ fun:_ZNSt8_Rb_treeIPKcSt4pairIKS1_St3setIiSt4lessIiESaIiEEESt10_Select1stIS9_EN7NameMap15G__charptr_lessESaIS9_EE16_M_insert_uniqueERKS9_ fun:_ZNSt8_Rb_treeIPKcSt4pairIKS1_St3setIiSt4lessIiESaIiEEESt10_Select1stIS9_EN7NameMap15G__charptr_lessESaIS9_EE17_M_insert_unique_ESt23_Rb_tree_const_iteratorIS9_ERKS9_ fun:_ZNSt3mapIPKcSt3setIiSt4lessIiESaIiEEN7NameMap15G__charptr_lessESaISt4pairIKS1_S6_EEE6insertESt17_Rb_tree_iteratorISB_ERKSB_ fun:_ZNSt3mapIPKcSt3setIiSt4lessIiESaIiEEN7NameMap15G__charptr_lessESaISt4pairIKS1_S6_EEEixERSA_ fun:_ZN7NameMap6InsertEPKci } { CINT's NameMap part3 Memcheck:Leak fun:_Znw? fun:_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKPKcSt3setIiSt4lessIiESaIiEEEEE8allocateE?PKv fun:_ZNSt8_Rb_treeIPKcSt4pairIKS1_St3setIiSt4lessIiESaIiEEESt10_Select1stIS9_EN7NameMap15G__charptr_lessESaIS9_EE11_M_get_nodeEv fun:_ZNSt8_Rb_treeIPKcSt4pairIKS1_St3setIiSt4lessIiESaIiEEESt10_Select1stIS9_EN7NameMap15G__charptr_lessESaIS9_EE14_M_create_nodeERKS9_ fun:* fun:* fun:_ZNSt3mapIPKcSt3setIiSt4lessIiESaIiEEN7NameMap15G__charptr_lessESaISt4pairIKS1_S6_EEE6insertESt17_Rb_tree_iteratorISB_ERKSB_ fun:_ZNSt3mapIPKcSt3setIiSt4lessIiESaIiEEN7NameMap15G__charptr_lessESaISt4pairIKS1_S6_EEEixERSA_ fun:_ZN7NameMap6InsertEPKci } { CINT's variable name Memcheck:Leak fun:malloc fun:G__savestring fun:_ZL16G__allocvariable8G__valuePS_P12G__var_arrayS2_iiPcS3_iRN4Cint19G__DataMemberHandleE } { CINT inheritance Memcheck:Leak fun:malloc fun:_ZN9G__heritsixEi fun:G__inheritance_setup } { CINT compiled global variable info Memcheck:Leak fun:calloc fun:G__malloc fun:* fun:* fun:* fun:* fun:G__getexpr fun:G__memvar_setup fun:_ZL20G__cpp_setup_global0v } ######## ROOT TObject on heap { TObject::TObject() uses uninitialized value Memcheck:Cond fun:_ZN7TObjectC1Ev ... } { TObject::TObject(const TObject&) uses uninitialized value Memcheck:Cond fun:_ZN7TObjectC1ERKS_ ... } { gcc optimizer confuses valgrind on TObject::~TObject() Memcheck:Cond fun:_ZN7TObjectD1Ev ... } ######### Misc { TUnixSystem::Setenv, see its doc Memcheck:Leak fun:_Zna? fun:_ZN11TUnixSystem6SetenvEPKcS1_ } { getpwuid() does a __nss_database_lookup which leaks Memcheck:Leak fun:malloc fun:nss_parse_service_list fun:__nss_database_lookup ... fun:getpwuid_r@@GLIBC_* } { getgrgid() does a __nss_database_lookup which leaks Memcheck:Leak fun:malloc fun:nss_parse_service_list fun:__nss_database_lookup obj:* obj:* fun:getgrgid_r@@GLIBC_* } ######### X11 errors triggered by ROOT { ROOT:X11 - GetWindowSize Memcheck:Param write(buf) fun:__write_nocancel obj:*/libX11.* obj:*/libX11.* fun:_XReply fun:XGetGeometry fun:_ZN5TGX1113GetWindowSizeEmRiS0_RjS1_ } { ROOT:X11 - XFlush Memcheck:Param write(buf) fun:__write_nocancel obj:*/libX11.* obj:*/libX11.* fun:XFlush fun:_ZN7TCanvas5BuildEv } { ROOT:X11 - XDrawString Memcheck:Param write(buf) fun:__write_nocancel obj:*/libX11.* obj:*/libX11.* fun:XDrawString fun:_ZN8TGX11TTF10DrawStringEmmiiPKci } { ROOT:X11 - XPending Memcheck:Param write(buf) fun:__write_nocancel obj:*/libX11.* obj:*/libX11.* fun:_XEventsQueued fun:XPending fun:_ZN8TGClient15ProcessOneEventEv } { ROOT:X11 - XCheckTypedWindowEvent Memcheck:Param write(buf) fun:__write_nocancel obj:*/libX11.* obj:*/libX11.* fun:XCheckTypedWindowEvent fun:_ZN5TGX1110CheckEventEm11EGEventTypeR7Event_t } { ROOT:X11 - XPutImage Memcheck:Param writev(vector[...]) fun:writev obj:*/libX11.* fun:_XSend obj:*/libX11.* fun:XPutImage fun:_ZN8TGX11TTF12RenderStringEiiN9TVirtualX9ETextModeE } { ROOT:X11 - XMoveResizeWindow Memcheck:Param write(buf) fun:__write_nocancel obj:*/libX11.* obj:*/libX11.* fun:XMoveResizeWindow fun:_ZN7TGFrame10MoveResizeEiijj } { ROOT:X11 - XSetTextProperty Memcheck:Param write(buf) fun:__write_nocancel obj:*/libX11.* obj:*/libX11.* fun:XChangeProperty fun:XSetTextProperty fun:_ZN5TGX1113SetWindowNameEmPc } { ROOT:X11 - XDrawLines Memcheck:Param write(buf) fun:__write_nocancel obj:*/libX11.* obj:*/libX11.* fun:XDrawLines fun:_ZN4TPad13PaintPolyLineEiPdS0_PKc } { ROOT:X11 - XDrawLines / _XFlushGCCache Memcheck:Param write(buf) fun:__write_nocancel obj:*/libX11.* obj:*/libX11.* fun:_XFlushGCCache fun:XDrawLines fun:_ZN4TPad13PaintFillAreaEiPdS0_PKc } { ROOT:X11 - XDrawLines / _XSend Memcheck:Param writev(vector[...]) fun:writev obj:*/libX11.* fun:_XSend fun:XDrawLines fun:_ZN4TPad13PaintFillAreaEiPdS0_PKc } { ROOT:X11 - XQueryExtension Memcheck:Param writev(vector[...]) fun:writev obj:*/libxcb.* obj:*/libxcb.* fun:xcb_writev fun:_XSend fun:XQueryExtension }