I’m trying to understand why PROOF-Lite is not working, but I cannot find a way to ouput anything from the TSelector functions used by PROOF.
For example, if I use cout in Process, this output is lost (it does not appear neither on console nor in the proof logs).
I tried to redirect the output with
gSystem->RedirectOutput("proof.output", "a", &rh);
but the output from the Process function (and from Init, Notify, SlaveBegin, SlaveTerminate) is not there.
I tried to use gProofServ->SendAsynMessage, but gProofServ is always NULL.
Thanks for the help.
PS: I’m using root 5.34/15
Please use the ‘Info(…)’, Warning(’ …’), Error(’…’), … printing functions to have consistent logs.
In PROOF this gives consistent time ordering and also information about which node originated the message.
Use of ‘cout/cerr’ should also work, but ordering may not be correct.
If you do not see anything then there is some other, bigger, problem preventing the log file to be flushed.
PROOF already redirects outputs internally, so doing twice may lead to undefined behavior.
Could you please try to get the logs via the log manager to try to determine why your selector is not processed?
Most likely the selector object is not correctly created on the workers …
Hi Ganis, thanks for your reply.
I partially solved the problem: I wasn’t seeing any output because the TSelector functions were not actually called, but I still have problems.
Please, see my other post for the details: [PROOF-Lite not working
I forgot to point to
root.cern.ch/drupal/content/get … flogviewer
for instruction about accessing the logs files.
Thanks Ganis, I already knew that page.
If I might suggest, it would be helpful if in that page was written that in order to access the PROOF-Lite logs, the master string must be “proof://lite”.
It took me a while to find how to access my local session from the log viewer.