I am currently trying to run the simulations for the TPC. My alidist, O2 and QC are all up-to-date from yesterday evening and I am working on Ubuntu 18.04.
In a fresh terminal, I enter the QC environment using
alienv enter O2Suite/latest-o2
(but I also tried with loading it again in a fresh terminal with
There is a workaround: start workflows with the -b option. So for now we are fine.
It would still be interesting to know why this error occurs, though.
I observed the same and to me it seems that there is a problem with library loading. It looks like some llvm library is loaded twice. once from he system and once from alibuild:
#0 0x00007f0622288420 in llvm::report_fatal_error(char const*, bool)@plt () from /home/wiechula/software/alicesw/sw/slc7_x86-64/Clang/v9.0.0-10/lib/../lib/libLLVMSupport.so.9
#1 0x00007f06222c9680 in (anonymous namespace)::CommandLineParser::addOption(llvm::cl::Option*, llvm::cl::SubCommand*) () from /home/wiechula/software/alicesw/sw/slc7_x86-64/Clang/v9.0.0-10/lib/../lib/libLLVMSupport.so.9
#2 0x00007f06222c97bd in llvm::cl::Option::addArgument() () from /home/wiechula/software/alicesw/sw/slc7_x86-64/Clang/v9.0.0-10/lib/../lib/libLLVMSupport.so.9
#3 0x00007f060b94fb61 in __static_initialization_and_destruction_0(int, int) [clone .constprop.362] () from /usr/lib64/libLLVM-6.0-rhel.so
And this part is in the debug gui. That’s by the batch mode masks this problem.
LD_DEBUG=1 o2-tpc-reco-workflow --infile tpcdigits.root --output-type clusters,tracks
warning: debug option `1' unknown; try LD_DEBUG=help
LD_DEBUG=help o2-tpc-reco-workflow --infile tpcdigits.root --output-type clusters,tracks
Valid options for the LD_DEBUG environment variable are:
libs display library search paths
reloc display relocation processing
files display progress for input file
symbols display symbol table processing
bindings display information about symbol binding
versions display version dependencies
scopes display scope information
all all previous options combined
statistics display relocation statistics
unused determined unused DSOs
help display this help message and exit
To direct the debugging output into a file instead of standard output
a filename can be specified using the LD_DEBUG_OUTPUT environment variable.
I get the same error that @cimordas has when I run a qc workflow using o2-qc while being connected to the o2-running machine via ssh. Adding the option -b to prevent the debug GUI from opening solves the problem.
However, not every workflow opening a debug GUI is affected in my case. The o2-tpc-reco-workflow for example works also without the -b option but it still does not open the debug GUI even though it usually does.
Another interesting thing is that opening the debug GUI works just fine when I am physically sitting on the o2 machine. Only when I am connected to it via ssh -Y user@machine it does not work, which is unfortunate doing home office.
Hi @eulisse,
I again stumbled about this problem. This time when running our TPC raw data monitor. I followed the suggestion with the LD_DEBUG=files and examined the output in more detail. What I found is (condensed):
file=libAfterImage.so.0 [0]; needed by /home/wiechula/software/alicesw/sw/slc7_x86-64/ROOT/v6-20-02-alice3-1/lib/libASImage.so.6.20.02
...
file=/lib64/libGLX.so.0 [0]; needed by /lib64/libAfterImage.so.0
...
file=libGLX_system.so.0 [0]; dynamically loaded by /lib64/libGLX.so.0
...
file=/usr/lib64/dri/tls/swrast_dri.so [0]; dynamically loaded by /lib64/libGLX_system.so.0
...
file=libLLVM-6.0-rhel.so [0]; needed by /usr/lib64/dri/swrast_dri.so
So it seems libLLVM from the system is pulled in via libAfterImage from the system, which is required by ROOT.
I then added -Dbuiltin_afterimage=ON in root.sh and recompiled.
At least for me this solved the problem. I can again run my code without the error. Also I don’t see any reference to the system llvm in the LD_DEBUG=files output any longer.
I first tried to add -Dbuiltin_afterimage=ON to the root.sh but it did not fix the problem.
Then I commented the lines you suggested in the glfw.sh and rebuilt everything. Indeed glfw and the debug GUI were built by alibuild but still I get the following error when running LD_DEBUG=files LD_DEBUG_OUTPUT=ld_debug_files.txt o2-tpc-reco-workflow --infile tpcdigits.root --output-type clusters,tracks
: CommandLine Error: Option 'help-list' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options