TProofLite crash on destructor call

Hi,
I wanted have a TTree output in my TProofLite Process and followed the example given in the root tutorials
root.cern.ch/drupal/content/hand … root-files
It works and I do get a merged file as an output but when I call the destructor of TProofLite after things are done, my program crashes with the output given below:
From the output, I understand that the problems come from the destructor call of TTree. Is there something that I need to do to overcome this ?
Thanks,
Samuel
ROOT VERSION 5.32/00-rc1 (Ubuntu)

The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug report at
root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.

#13 0x017e255c in TROOT::GetFile (this=0x1dfe880) at include/TROOT.h:204
#14 0x0128ef1d in ~TTree (this=0x9d45e28, __in_chrg=)
at /home/samuel/QtRoot04/root/tree/tree/src/TTree.cxx:785
#15 0x01276970 in ~TNtupleD (this=0x9d45e28, __in_chrg=)
at /home/samuel/QtRoot04/root/tree/tree/src/TNtupleD.cxx:105
#16 0x0391b442 in ~TVirtualPacketizer (this=0x9d45c80,
__in_chrg=)
at /home/samuel/QtRoot04/root/proof/proofplayer/src/TVirtualPacketizer.cxx:170
#17 0x038d16b7 in ~TPacketizerAdaptive (this=0x9d45c80,
__in_chrg=)
at /home/samuel/QtRoot04/root/proof/proofplayer/src/TPacketizerAdaptive.cxx:877
#18 0x03904d9c in ~TProofPlayerRemote (this=0x9cb0930,
__in_chrg=)
at /home/samuel/QtRoot04/root/proof/proofplayer/src/TProofPlayer.cxx:1393
#19 0x039189c3 in ~TProofPlayerLite (this=0x9cb0930,
__in_chrg=) at include/TProofPlayerLite.h:41
#20 0x0561a963 in ~TProof (this=0x9c70960, __in_chrg=)
at /home/samuel/QtRoot04/root/proof/proof/src/TProof.cxx:632
#21 0x0565867f in ~TProofLite (this=0x9c70960,
__in_chrg=)
at /home/samuel/QtRoot04/root/proof/proof/src/TProofLite.cxx:373

Hi,

Do you get the same crash by doing this

root [0] .L tutorials/proof/runProof.C+
...
root [1] runProof("ntuple", "lite://")
...
root [2] .q 

?

G. Ganis

No, I do not get a crash.
Thanks and Regards,
Samuel

Ok, so then there must be something in your implementation that creates the problem (or that stimulates the bug).
Can you cross check against what it is done in runProof.C, in the “ntuple” section and in ProofNtuple selector?
Otherwise you should post your code, or the simple example of how to reproduce the problem.

G. Ganis

Hi,
I have the following observation in the runProof.C example:
In the runProof.C, I am using the “ntuple” case and the added the line:
delete proof;
at the end of that section. The code worked fine. But, if I comment out the entire part of the Terminate function in ProofNtuple.C, I get exactly the crash I reported earlier.

I probably think that the Tree in the file which is already closed on the closing the file, is being accessed. In the original case since the file is being opened in the Terminate section, the crash was not occuring. Is there a way to overcome this?
Thanks,
Samuel.
Crash report for runProof.C:
#12 0x00b1955c in TROOT::GetFile (this=0x1135880) at include/TROOT.h:204
#13 0x0909ff1d in ~TTree (this=0xac64b40, __in_chrg=)
at /home/samuel/QtRoot04/root/tree/tree/src/TTree.cxx:785
#14 0x09087970 in ~TNtupleD (this=0xac64b40, __in_chrg=)
at /home/samuel/QtRoot04/root/tree/tree/src/TNtupleD.cxx:105
#15 0x04a0c282 in ~TSlaveStat (this=0xac64af8, __in_chrg=)
at /home/samuel/QtRoot04/root/proof/proofplayer/src/TPacketizerUnit.cxx:109
#16 0x00b6aba0 in TCollection::GarbageCollect (obj=0xac64af8)
at /home/samuel/QtRoot04/root/core/cont/src/TCollection.cxx:591
#17 0x00b72da6 in TMap::DeleteValues (this=0xac63e70)
at /home/samuel/QtRoot04/root/core/cont/src/TMap.cxx:165
#18 0x04a0d8a2 in ~TPacketizerUnit (this=0xac62458,
__in_chrg=)
at /home/samuel/QtRoot04/root/proof/proofplayer/src/TPacketizerUnit.cxx:253
#19 0x04a27d9c in ~TProofPlayerRemote (this=0xa93b710,
__in_chrg=)
at /home/samuel/QtRoot04/root/proof/proofplayer/src/TProofPlayer.cxx:1393
#20 0x04a3b9c3 in ~TProofPlayerLite (this=0xa93b710,
__in_chrg=) at include/TProofPlayerLite.h:41
#21 0x03f19963 in ~TProof (this=0xa85e2e0, __in_chrg=)
at /home/samuel/QtRoot04/root/proof/proof/src/TProof.cxx:632
#22 0x03f5767f in ~TProofLite (this=0xa85e2e0, __in_chrg=)
at /home/samuel/QtRoot04/root/proof/proof/src/TProofLite.cxx:373
#23 0x023d4dce in runProof (what=0xa92c294 “ntuple”, url=0xa92c974 “lite://”,
nwrks=-1) at /home/samuel/QtRoot04/root/tutorials/proof/./runProof.C:904

Ok, thanks for reporting.
I should have fixed it in the trunk (rev 41801). Can you try it?
Or which branch would be more convenient for trying out?

G. Ganis

I’ve ported the fix to 5-32-00-patches (to appear in 5-32-00-rc2) and 5-30-00-patches (to appear in 5-30-04).

G. Ganis

Hi,
Thanks for your reply and help. I will try them out soon and report.
Regards,
Samuel.