Hello, I’m doing some test using proof. The configuration test that I’m using is composed by 3 workers, 1 of this is also used has mater, and I’m trying to read 3 files with a TTree.
The TTree is very simple, a single Branch containg a Float_t value, the is extracted random following a gaussian distribution.
The example that I’m using compose a TChain, that using TChain::SetProof() running the TChain::Process(“mySel.C”) the selector runs, using all nodes.
A first problem: I can execute the code only using the interpeter, if I try to compile the TSelector code the execution fails. The code is correct and if used without proof is compiled correctly.
The second issue happen always if I try to build a TDSet from the TChain. When Irun the Process() all seems to work but at the end the code is hang, while the gui said to me the all the events were processed. Why this happen? few time this happened using the TChain::Process(), but only rarely.
The most important issue is the first one, beacuse the compiled code is much fast with respect the interpreted code.
Hello ganis,
about the first error the message that I receive is:
dlopen error: /cdf/home/volpig/test/proof/./mySel_C.so: file too short
Load Error: Failed to load Dynamic link library /cdf/home/volpig/test/proof/./mySel_C.so
*** Interpreter error recovered ***
Error in <TSelector::GetSelector>: file mySel.C+ does not have a valid class deriving from TSelector
this running:
chain->SetProof();
chain->Process("mySel.C+");
if I remove the ‘+’ all the process is executed withoud error.
About the second issue the main feature is that after that the process is apparently done I no more have the possibility to use the cint shell, as if the TDSet is waiting for something that is not yet arrived. I waited for few minutes but after I had to kill root by hand. Using the “PROOF Processing logs” GUI window I don’t see any message.
Ok, the main session is stack, so I opened another session, connected to the master and created the log file while the ROOT session that launched the test was hang. In attachment there is the log file that you asked to me. session.txt (13.9 KB)
Can you check the size of /cdf/home/volpig/test/proof/./mySel_C.so ?
This message
usually happens when the file is empty, for whatever reason.
Also what happens if you do:
root [] .L mySel.C++
From the log that you sent, you have a segv in the SlaveTerminate of your selector while doing THist::Add : what are you exactly doing there? Can you post the simple selector?
Gerri
PS: if you can you should move to a more recent version of ROOT: PROOF is contineously evolving and there has been a lot of changes/ fixes since 5.14 …
How many logs did you post? I’ve got only one and that was before you drop the TH1:Add .
Do you mean that you can run in compiled mode in this case?
Please post the last version of the logs, all your configuration files and the script defining the chain and running PROOF.
There may be something giving a hint of the problem.
Hi ganis,
in the last week I did some test, using the same macro and TSelector code in different hardware and network configuration.
The result was that PROOF doesn’t have any problem on the particular test. The only problem is when a try to use it at FNAL, where the error is noticed by the “weakref” messages. My guess is that the issue can be related with the particular configuration, in particular something with the binutils.