PROOF segfault

Hello,

I’m a newcomer to PROOF.
I have rewritten my analysis code to be TSelector - compatible and now when I do something like:

TChain *cnew = new TChain("tau");
cnew->Add("somefile.root");
cnew->Process("tauComp.C+");

it works fine and does what it should do.
However, when I run in PROOF (so cnew->SetProof() which is first set up to be proof lite) I do get a crash like that:
(first - output from console):

Info in <TProofLite::SetQueryRunning>: starting query: 1
Info in <TProofQueryResult::SetRunning>: nwrks: 6
Looking up for exact location of files: OK (297 files)                 
Info in <TPacketizerAdaptive::TPacketizerAdaptive>: Setting max number of workers per node to 6
Validating files: OK (297 files)                 
Info in <TPacketizerAdaptive::InitStats>: fraction of remote files 0.000000
0.3: caught exception triggered by signal '1' <undef> -1
Info in <TProofLite::MarkBad>: 
 +++ Message from master at nz14-47.ifj.edu.pl : marking nz14-47.ifj.edu.pl:-1 (0.3) as bad
 +++ Reason: undefined message in TProof::CollectInputFrom(...)

 +++ Message from master at nz14-47.ifj.edu.pl : marking nz14-47.ifj.edu.pl:-1 (0.3) as bad
 +++ Reason: undefined message in TProof::CollectInputFrom(...)

 +++ Most likely your code crashed
 +++ Please check the session logs for error messages either using
 +++ the 'Show logs' button or executing
 +++
 +++ root [] TProof::Mgr("nz14-47.ifj.edu.pl")->GetSessionLogs()->Display("*")

So when I look at the logs this is what I see (an example from one worker):

15:26:28 20595 Wrk-0.1 | Info in <TProofServLite::Setup>: fWorkDir: /home/pmalecki/.proof
15:26:28 20595 Wrk-0.1 | Info in <TProofServLite::HandleCache>: loading macro MVAnalysis_PrimaryBDT.class.C+ ...
15:26:28 20595 Wrk-0.1 | Info in <TProofServLite::HandleCache>: loading macro MVAnalysis_SecondaryBDT.class.C+ ...
15:26:28 20595 Wrk-0.1 | Warning in <TClassTable::Add>: class IClassifierReader already in TClassTable
15:26:28 20595 Wrk-0.1 | Info in <TProofServLite::HandleCache>: loading macro EMFCluster.cxx+ ...
15:26:28 20595 Wrk-0.1 | Info in <TProofServLite::HandleCache>: loading macro NoiseCorrIsol.cxx+ ...
15:26:29 20595 Wrk-0.1 | Info in <TProofServLite::HandleCache>: loading macro Pi0Finder.cxx+ ...
15:26:29 20595 Wrk-0.1 | Warning in <TClass::TClass>: no dictionary for class pair<string,string> is available
15:26:34 20595 Wrk-0.1 | Info in <TProofServLite::HandleProcess>: calling fPlayer->Process() with selector name: tauComp.C+
/bin/cp: ‘/home/pmalecki/.proof/cache/tauComp.C’ and ‘./tauComp.C’ are the same file
/bin/cp: ‘/home/pmalecki/.proof/cache/tauComp.h’ and ‘./tauComp.h’ are the same file
15:26:34 20595 Wrk-0.1 | Info in <TProofPlayerSlave::AssertSelector>: Processing via filename
15:26:34 20595 Wrk-0.1 | *** Break ***: segmentation violation



===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x0000003fbd4bcfbc in waitpid () from /lib64/libc.so.6
#1  0x0000003fbd442582 in do_system () from /lib64/libc.so.6
#2  0x00007fe3be780809 in TUnixSystem::StackTrace() () from /home/pmalecki/root/lib/libCore.so
#3  0x00007fe3be78241c in TUnixSystem::DispatchSignals(ESignals) () from /home/pmalecki/root/lib/libCore.so
#4  <signal handler called>
#5  0x00007fe3b8c329d3 in TProofPlayer::Process(TDSet*, char const*, char const*, long long, long long) () from /home/pmalecki/root/lib/libProofPlayer.so
#6  0x00007fe3bb0a76d1 in TProofServ::HandleProcess(TMessage*, TString*) () from /home/pmalecki/root/lib/libProof.so
#7  0x00007fe3bb0abd90 in TProofServ::HandleSocketInput(TMessage*, bool) () from /home/pmalecki/root/lib/libProof.so
#8  0x00007fe3bb09506f in TProofServ::HandleSocketInput() () from /home/pmalecki/root/lib/libProof.so
#9  0x00007fe3bb0872f1 in TProofServLiteInputHandler::Notify() () from /home/pmalecki/root/lib/libProof.so
#10 0x00007fe3be781c05 in TUnixSystem::CheckDescriptors() () from /home/pmalecki/root/lib/libCore.so
#11 0x00007fe3be78270a in TUnixSystem::DispatchOneEvent(bool) () from /home/pmalecki/root/lib/libCore.so
#12 0x00007fe3be6fb266 in TSystem::InnerLoop() () from /home/pmalecki/root/lib/libCore.so
#13 0x00007fe3be6fbe10 in TSystem::Run() () from /home/pmalecki/root/lib/libCore.so
#14 0x00007fe3be72502f in TApplication::Run(bool) () from /home/pmalecki/root/lib/libCore.so
#15 0x0000000000401af6 in main ()
===========================================================


The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug report at
http://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.
===========================================================
#5  0x00007fe3b8c329d3 in TProofPlayer::Process(TDSet*, char const*, char const*, long long, long long) () from /home/pmalecki/root/lib/libProofPlayer.so
#6  0x00007fe3bb0a76d1 in TProofServ::HandleProcess(TMessage*, TString*) () from /home/pmalecki/root/lib/libProof.so
#7  0x00007fe3bb0abd90 in TProofServ::HandleSocketInput(TMessage*, bool) () from /home/pmalecki/root/lib/libProof.so
#8  0x00007fe3bb09506f in TProofServ::HandleSocketInput() () from /home/pmalecki/root/lib/libProof.so
#9  0x00007fe3bb0872f1 in TProofServLiteInputHandler::Notify() () from /home/pmalecki/root/lib/libProof.so
#10 0x00007fe3be781c05 in TUnixSystem::CheckDescriptors() () from /home/pmalecki/root/lib/libCore.so
#11 0x00007fe3be78270a in TUnixSystem::DispatchOneEvent(bool) () from /home/pmalecki/root/lib/libCore.so
#12 0x00007fe3be6fb266 in TSystem::InnerLoop() () from /home/pmalecki/root/lib/libCore.so
#13 0x00007fe3be6fbe10 in TSystem::Run() () from /home/pmalecki/root/lib/libCore.so
#14 0x00007fe3be72502f in TApplication::Run(bool) () from /home/pmalecki/root/lib/libCore.so
#15 0x0000000000401af6 in main ()
===========================================================


15:26:34 20595 Wrk-0.1 | Error in <TProofServLite::HandleException>: caugth exception triggered by signal '1' <undef> -1

I can’t really figure out what happens.
When I put a cout into “SlaveBegin” method I don’t get any output from there so it seems to be crashing before that part…
Please, help me :slight_smile:

P.S. ROOT version is 5.34.10

Hello,
Sorry for the late reply. Is this problem still relevant?

G. Ganis