Re: peculiar Crash when calling TProxy::Notify for a TChain on PROOF

From: Kathrin Stoerig <Kathrin.Stoerig_at_cern.ch>
Date: Thu, 25 Feb 2010 16:58:03 +0100


Hi,

sorry for the late reply.
I put my complete Package (Analyzer2.par, sorry for the mess) under https://james.physik.uni-freiburg.de/~stoerig/public/. There, you can also find some example data.

I tried to run the proxyWD3PD2-class (this is the automatic one) with PROOF on a TChain. This seems to work so far. But when I try to run the D3PDBase (this is my derived class), I get this strange crash in the "Notify"-Function. Without PROOF, usually this works fine (recently I noticed, that Notify of Proxy-Class sometimes crashes after some files, even without PROOF). Error messages look very similar and the data files are not corrupted from what I can tell.

Cheers and many thanks for your patience and help,

    Kathrin

On 02/25/2010 12:49 PM, Philippe Canal wrote:
> Hi Kathrin,
>
> Can you send me a complete example reproducing the problem?
>
> Thanks,
> Philippe.
>
> On 2/24/10 4:22 PM, Kathrin Stoerig wrote:
>> Hi,
>>
>> I try to implement my UserAnalysis with PROOF and automatically
>> generated code by MakeProxy.
>> I derive my main-class (called "Base") from the automatically
>> generated proxy-Class. It seems to work fine without proof or for
>> just one file. But if I process a TChain with several files, I get a
>> strange crash when initializing the second file. See below.
>>
>> Any ideas are very welcome. I am using ROOT 5-27/01.
>> Cheers,
>>
>> Kathrin
>>
>>
>> #10 0x00bcedd3 in TClass::RemoveRef (this=0x9f16000, ref=0xa64e13c)
>> at core/meta/src/TClass.cxx:2711
>> #11 0x00bd54a7 in TClassRef::~TClassRef (this=0xa64e13c,
>> __in_chrg=<value optimized out>) at include/TClassRef.h:53
>> #12 0x0656c6ec in TVirtualCollectionProxy::~TVirtualCollectionProxy
>> (this=0xa64e138, __in_chrg=<value optimized out>) at
>> include/TVirtualCollectionProxy.h:58
>> #13 0x01580a5f in ROOT::TBranchProxy::Reset (this=0xa10db40) at
>> tree/treeplayer/src/TBranchProxy.cxx:113
>> #14 0x01582d39 in ROOT::Reset (x=0xa10db40) at
>> tree/treeplayer/src/TBranchProxyDirector.cxx:41
>> #15 0x01583b4b in
>> std::for_each<std::_List_iterator<ROOT::TBranchProxy*>, void
>> (*)(ROOT::TBranchProxy*)> (__first=0xa10db40, __last=0xa10dad0,
>> __f=0x1582d1c <ROOT::Reset(ROOT::TBranchProxy*)>) at
>> /usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1/bits/stl_algo.h:4200
>>
>> #16 0x015835ab in ROOT::TBranchProxyDirector::SetTree
>> (this=0xa10dabc, newtree=0xa647e28) at
>> tree/treeplayer/src/TBranchProxyDirector.cxx:153
>> #17 0x025db810 in proxyWD3PD2::Notify (this=0xa10da88) at
>> /home/stoerig/.proof/packages/Analyzer2/src/proxyWD3PD2.C:35
>>
>> and this is line 35 of automatic proxyWD3PD2.C:
>> >> fDirector.SetTree(fChain); <<
>>
Received on Thu Feb 25 2010 - 17:03:10 CET

This archive was generated by hypermail 2.2.0 : Thu Feb 25 2010 - 23:50:01 CET