Dear list, I tried to adapt the example "test/MainEvent" included in the source tree. This works fine and produces me an output root file. When I try to plot one variable included in a TClonesArray afterwards, the procedure is very slow and consumes *TONS* of memory (around one Gig), which is not released afterwards. A second (SIMILAR) Draw crashes my machine, as it runs out of swap. I think the problem is similar to what has been reported by Mathieu Ribordy on http://root.cern.ch/root/roottalk/roottalk02/2340.html and http://root.cern.ch/root/roottalk/roottalk02/1979.html If you want to reproduce: I put the root file on http://www.atlas.uni-wuppertal.de/~harenber/Event.root then follow: root [0] TFile a("Event.root"); Warning in <TClass::TClass>: no dictionary for class Event is available Warning in <TClass::TClass>: no dictionary for class Track is available root [1] gObjectTable->Print(); Object statistics class cnt on heap size total size heap size ================================================================================ TRootGuiFactory 1 1 28 28 28 TSignalHandler 1 1 36 36 36 TFileHandler 2 2 32 64 64 TList 349 348 44 15356 15312 TObject 162 162 12 1944 1944 TStreamerInfo 28 28 84 2352 2352 TClass 63 63 140 8820 8820 TObjArray 109 109 40 4360 4360 TStreamerBase 27 27 104 2808 2808 TStreamerBasicType 121 121 100 12100 12100 TStreamerObject 7 7 96 672 672 TStreamerObjectPointer 7 7 96 672 672 TStreamerString 10 10 96 960 960 TStreamerObjectAny 2 2 96 192 192 TStreamerBasicPointer 3 3 120 360 360 TProcessID 1 1 36 36 36 TObjString 568 568 20 11360 11360 TAssoc 573 573 20 11460 11460 TPluginHandler 34 34 68 2312 2312 TMethod 299 299 52 15548 15548 TDataType 191 191 40 7640 7640 TColor 229 229 56 12824 12824 TRealData 91 91 36 3276 3276 TDataMember 265 265 76 20140 20140 TBaseClass 26 26 40 1040 1040 TMethodArg 2 2 40 80 80 TGGC 31 0 124 3844 0 TFolder 17 17 36 612 612 TRint 1 1 124 124 124 THashTable 12 12 40 480 480 THashList 10 9 48 480 432 TOrdCollection 8 8 44 352 352 TGMimeTypes 1 1 32 32 32 TObjectTable 1 1 24 24 24 TRandom 2 2 32 64 64 TMessageHandler 1 1 56 56 56 TClassMenuItem 63 63 60 3780 3780 TMethodCall 8 8 60 480 480 TGLayoutHints 1 1 32 32 32 TFile 1 1 220 220 220 TGClient 1 1 84 84 84 TMap 2 0 28 56 0 TStyle 5 5 780 3900 3900 TQClass 3 3 152 456 456 TSystemDirectory 1 1 36 36 36 TEnv 1 1 24 24 24 TGuiFactory 1 1 28 28 28 TGX11TTF 1 1 268 268 268 TTimer 1 0 60 60 0 TVirtualX 1 1 84 84 84 TExMap 1 1 24 24 24 TCint 1 1 228 228 228 TClassTable 1 1 12 12 12 TKey 3 3 80 240 240 TBenchmark 1 1 52 52 52 TBits 1 1 24 24 24 TUnixSystem 1 1 376 376 376 TStopwatch 1 0 68 68 0 TPluginManager 1 1 16 16 16 TGPicturePool 1 1 28 28 28 TProcessUUID 1 1 44 44 44 TGFrame 1 1 72 72 72 TROOT 1 0 292 292 0 -------------------------------------------------------------------------------- Total: 3360 3322 5400 153492 149080 ================================================================================ root [2] T->Draw("fgenTracks.x"); <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 root [3] gObjectTable->Print(); Object statistics class cnt on heap size total size heap size ================================================================================ TRootGuiFactory 1 1 28 28 28 TSignalHandler 1 1 36 36 36 TFileHandler 2 2 32 64 64 TList 568 568 44 24992 24992 TObject 173 173 12 2076 2076 TStreamerInfo 28 28 84 2352 2352 TClass 101 101 140 14140 14140 TNamed 3 3 28 84 84 TStreamerElement 1 0 96 96 0 TObjArray 307 307 40 12280 12280 TStreamerBase 27 27 104 2808 2808 TStreamerBasicType 121 121 100 12100 12100 TStreamerObject 7 7 96 672 672 TStreamerObjectPointer 7 7 96 672 672 TStreamerString 10 10 96 960 960 TStreamerObjectAny 2 2 96 192 192 TStreamerBasicPointer 3 3 120 360 360 TClonesArray 1 1 48 48 48 TProcessID 2 2 36 72 72 TTree 1 1 292 292 292 TBranchElement 50 50 340 17000 17000 TLeafElement 50 50 68 3400 3400 TBasket 51 51 112 5712 5712 TKey 3 3 80 240 240 TTreePlayer 1 1 44 44 44 TGMenuTitle 7 7 108 756 756 TGCompositeFrame 1 1 80 80 80 TGFrame 5 5 72 360 360 TCanvas 1 1 648 648 648 TBits 15 15 24 360 360 TH1F 1 1 588 588 588 THistPainter 1 1 180 180 180 TUtilHist 1 1 28 28 28 TFrame 1 1 76 76 76 TLatex 5 5 124 620 620 TPaveText 1 1 176 176 176 TGViewPort 1 1 92 92 92 TGCanvas 1 1 88 88 88 TRootCanvas 1 1 264 264 264 TGMenuBar 1 1 92 92 92 TObjString 636 636 20 12720 12720 TMethod 668 668 52 34736 34736 TAssoc 631 631 20 12620 12620 TMethodCall 18 18 60 1080 1080 TPluginHandler 34 34 68 2312 2312 TDataMember 271 271 76 20596 20596 TRealData 368 368 36 13248 13248 TDataType 191 191 40 7640 7640 TColor 229 229 56 12824 12824 TBuffer 51 51 60 3060 3060 TClassMenuItem 124 124 60 7440 7440 TF1 13 13 240 3120 3120 TBaseClass 59 59 40 2360 2360 TMethodArg 2 2 40 80 80 TGGC 31 0 124 3844 0 THashTable 14 14 40 560 560 TFolder 17 17 36 612 612 TRint 1 1 124 124 124 THashList 11 10 48 528 480 TGMenuEntry 54 54 56 3024 3024 TGLayoutHints 6 6 32 192 192 TOrdCollection 8 8 44 352 352 TGMimeTypes 1 1 32 32 32 TObjectTable 1 1 24 24 24 TRandom 2 2 32 64 64 THLimitsFinder 1 1 12 12 12 TGFrameElement 11 11 24 264 264 TMessageHandler 1 1 56 56 56 TQClass 22 22 152 3344 3344 TGPicture 5 5 76 380 380 TGHScrollBar 1 1 164 164 164 TContextMenu 1 1 60 60 60 TGScrollBarElement 6 6 80 480 480 TFile 1 1 220 220 220 TGClient 1 1 84 84 84 TMap 2 0 28 56 0 TGPopupMenu 7 7 124 868 868 TStyle 5 5 780 3900 3900 TSystemDirectory 1 1 36 36 36 TEnv 1 1 24 24 24 TGVerticalLayout 3 3 20 60 60 TGuiFactory 1 1 28 28 28 TExMap 5 5 24 120 120 TGX11TTF 1 1 268 268 268 TTimer 1 0 60 60 0 TGStatusBar 1 1 96 96 96 TTreeFormula 1 1 18496 18496 18496 TVirtualX 1 1 84 84 84 TGVScrollBar 1 1 164 164 164 TCint 1 1 228 228 228 TClassTable 1 1 12 12 12 TBenchmark 1 1 52 52 52 TSelectorDraw 1 1 220 220 220 TUnixSystem 1 1 376 376 376 TAxis 3 3 128 384 384 TStopwatch 1 0 68 68 0 TPluginManager 1 1 16 16 16 TGPicturePool 1 1 28 28 28 TGHorizontalLayout 1 1 20 20 20 TProcessUUID 1 1 44 44 44 TRootContextMenu 1 1 140 140 140 TTreeFormulaManager 1 1 168 168 168 TPaveStats 1 1 204 204 204 TROOT 1 0 292 292 0 -------------------------------------------------------------------------------- Total: 5103 5065 29524 279896 275432 ================================================================================ I tried to follow Rene's suggestions on http://root.cern.ch/root/roottalk/roottalk02/1984.html and implemented the SetOwner call in the Event constructor, but this made -at least for me- no difference. Trying to call a delete in the Event distructor like fgenTracks->Clear("C"); //will also call Track::Clear frecTracks->Clear("C"); //will also call Track::Clear fgenTracks->Delete(); delete fgenTracks; fgenTracks=0; , however, brings up a SEGFAULT in the AddTrack method in Track *track = new(tracks[fNrectrack++]) Track(rdmctrack); Anybody any further idea, what I did wrong? Thanks and best regards, Torsten P.S.: root version is 3.05/05 11 June 2003, running on a Linux PC (compiled with ./configure linux) with gcc-3.2 (SuSE 8.1) <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> <> <> <> Torsten Harenberg harenberg@physik.uni-wuppertal.de <> <> Bergische Universitaet <> <> FB 8 - Physik Tel.: +49 (0)202 439-2740 <> <> Gaussstr. 20 Fax : +49 (0)202 439-2811 <> <> 42097 Wuppertal <> <> <> <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET