Hi Michael, As you can see in the output of the second gObjectTable->Print(), you have a beautiful memory leak: TObjArray 64149 64149 40 2565960 256596 TkrLayer 64000 64000 36 2304000 2304000 StripID 35502 35502 16 568032 568032 You never delete the TkrLayer objects. Each of these objects has a TObjArray of StripID. I do not see any indication in Event.h where these objects are created. Looking into your Event destructor, I see that you have commented the end. This was may be very relevant. I have a comment on your destructor. You can replace the lines of code like: int nEntries = m_CAL->GetEntries(); for (int i=0; i<nEntries; i++) delete m_CAL->At(i); m_CAL->Clear(); by m_CAL->Delete(); Rene Brun Michael Kuss wrote: > > Hi Rene, > > thanks for the quick reply. > > > If you have a file named ".rootrc" in your current directory, add the following > > 2 lines: > > Root.MemStat: 1 > > Root.ObjectStat: 1 > > Indeed, this made it more verbose: > > Object statistics > class cnt on heap size total size heap size > ============================================================================ > TTree 2 2 256 512 512 > TObject 54 54 12 648 648 > TObjArray 139 139 40 5560 5560 > TBranchObject 14 14 268 3752 3752 > TBranch 8 8 256 2048 2048 > TLeafI 8 8 72 576 576 > TBasket 21 21 116 2436 2436 > TKey 4 4 80 320 320 > TLeafObject 14 14 68 952 952 > L1T 1 1 36 36 36 > Tagger 1 1 24 24 24 > Event 1 1 44 44 44 > TFile 2 2 176 352 352 > TStreamerBasicType 36 36 92 3312 3312 > TRealData 417 417 36 15012 15012 > TDataMember 156 156 36 5616 5616 > TList 186 186 44 8184 8184 > TDataType 83 83 32 2656 2656 > TStreamerString 4 4 88 352 352 > TStreamerObject 5 5 92 460 460 > TMethodCall 6 6 60 360 360 > TClass 58 58 80 4640 4640 > THashTable 8 8 40 320 320 > TObjectTable 1 1 24 24 24 > TStreamerBase 10 10 88 880 880 > TVirtualX 1 1 84 84 84 > TStreamerObjectAny 2 2 92 184 184 > TStyle 5 5 744 3720 3720 > TBuffer 21 21 52 1092 1092 > TBaseClass 21 21 32 672 672 > TOrdCollection 5 5 44 220 220 > TFolder 16 16 36 576 576 > TSystemDirectory 1 1 36 36 36 > TStreamerInfo 10 10 76 760 760 > TStreamerObjectPointer 1 1 92 92 92 > TRandom 1 1 32 32 32 > TStreamerBasicPointer 3 3 112 336 336 > THashList 8 8 48 384 384 > TFree 1 1 20 20 20 > TROOT 1 0 256 256 0 > TCint 1 1 224 224 224 > TClassTable 1 1 12 12 12 > TMessageHandler 1 1 56 56 56 > TUnixSystem 1 1 320 320 320 > TEnv 1 1 24 24 24 > TGuiFactory 1 1 28 28 28 > ---------------------------------------------------------------------------- > Total: 1342 1341 4580 68204 67948 > ============================================================================ > > Object statistics > class cnt on heap size total size heap size > ============================================================================ > TTree 2 2 256 512 512 > TObject 54 54 12 648 648 > TObjArray 64149 64149 40 2565960 2565960 > TBranchObject 14 14 268 3752 3752 > TBranch 8 8 256 2048 2048 > TLeafI 8 8 72 576 576 > TBasket 136 136 116 15776 15776 > TKey 5 5 80 400 400 > TLeafObject 14 14 68 952 952 > L1T 1 1 36 36 36 > Tagger 1 1 24 24 24 > Event 1 1 44 44 44 > TFile 2 2 176 352 352 > TStreamerBasicType 36 36 92 3312 3312 > TRealData 417 417 36 15012 15012 > TDataMember 156 156 36 5616 5616 > TList 198 198 44 8712 8712 > TDataType 83 83 32 2656 2656 > TStreamerString 4 4 88 352 352 > TStreamerObject 5 5 92 460 460 > TMethodCall 6 6 60 360 360 > TClass 63 63 80 5040 5040 > THashTable 8 8 40 320 320 > TObjectTable 1 1 24 24 24 > TStreamerBase 10 10 88 880 880 > TVirtualX 1 1 84 84 84 > TStreamerObjectAny 2 2 92 184 184 > TStyle 5 5 744 3720 3720 > TBuffer 136 136 52 7072 7072 > TBaseClass 23 23 32 736 736 > TOrdCollection 5 5 44 220 220 > TFolder 16 16 36 576 576 > TSystemDirectory 1 1 36 36 36 > TStreamerInfo 10 10 76 760 760 > TStreamerObjectPointer 1 1 92 92 92 > TRandom 1 1 32 32 32 > TStreamerBasicPointer 3 3 112 336 336 > THashList 8 8 48 384 384 > TFree 1 1 20 20 20 > TROOT 1 0 256 256 0 > TCint 1 1 224 224 224 > TClassTable 1 1 12 12 12 > TMessageHandler 1 1 56 56 56 > TUnixSystem 1 1 320 320 320 > TEnv 1 1 24 24 24 > TGuiFactory 1 1 28 28 28 > TkrLayer 64000 64000 36 2304000 2304000 > StripID 35502 35502 16 568032 568032 > TExMap 115 115 24 2760 2760 > ---------------------------------------------------------------------------- > Total: 165219 165218 4656 5523788 5523532 > ============================================================================ > > Heap statistics > size alloc free diff > ================================================ > 3 6 0 6 > 4 47 17 30 > 8 106 0 106 > 12 340941 340913 28 > 16 36781 327 36454 > 17 12 10 2 > 18 308 299 9 > 19 356 348 8 > 20 3059 3048 11 > 21 2212 2201 11 > 22 2166 2156 10 > 23 89 74 15 > 24 4121 4037 84 > 25 89 80 9 > 26 55 52 3 > 27 5 4 1 > 28 1362 600 762 > 29 12 11 1 > 30 24 17 7 > 31 21 18 3 > 32 110 1 109 > 33 1 0 1 > 34 3 2 1 > 35 4 2 2 > 36 64759 0 64759 > 38 1 0 1 > 39 1 0 1 > 40 66108 2027 64081 > 43 3 0 3 > 44 305 17 288 > 45 3 0 3 > 46 1 0 1 > 47 18 15 3 > 48 8 6 2 > 49 1 0 1 > 50 1 0 1 > 51 2 0 2 > 52 368 363 5 > 53 3 0 3 > 55 4 0 4 > 56 37 34 3 > 57 1 0 1 > 59 2 0 2 > 60 78 69 9 > 62 3 2 1 > 64 66134 2399 63735 > 66 2 0 2 > 67 1 0 1 > 68 15 14 1 > 69 1 0 1 > 71 16 15 1 > 72 14 8 6 > 76 19 0 19 > 80 74 11 63 > 84 1 0 1 > 86 1 0 1 > 88 14 0 14 > 92 44 0 44 > 108 0 1 -1 > 112 3 0 3 > 128 2254 2007 247 > 140 0 10 -10 > 200 39 35 4 > 204 0 1 -1 > 236 0 1 -1 > 256 45 13 32 > 320 0 1 -1 > 400 1 0 1 > 404 9 8 1 > 744 5 0 5 > 1228 1 0 1 > 4000 280 279 1 > 10023 597 591 6 > ------------------------------------------------ > Total: 82633248 71658677 10974571 > ================================================ > > > To tell more about the problem, I need your Event.h and Event.cxx files > > and also all the classes referenced by this class. > > I hope everything needed is in the attached tar file. > > Thanks, > > Michael > > -------------------------------------------------------------------------------- > > Name: event.tar > event.tar Type: Unix Tape Archive (APPLICATION/x-tar) > Encoding: BASE64 > Description: tar file
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:37 MET