Dear experts,
I am trying to run a local CCDB and QCG on a remote slc7 machine, where I do not have root permissions.
I can start the CCDB and QCG without any problem. However, when I run a QC workflow e.g.
o2-qc-run-tpctrackreader -b | o2-qc -b --config json:/${QUALITYCONTROL_ROOT}/etc/tpcQCPID_sampled.json
writing to the local CCDB I get the following errors from the QC checker:
[33943:QC-CHECK-RUNNER-QcCheck]: <!doctype html><html lang="en"><head><title>HTTP Status 500 – Internal Server Error</title><style type="text/css">h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 500 – Internal Server Error</h1><hr class="line" /><p><b>Type</b> Exception Report</p><p><b>Message</b> Servlet execution threw an exception</p><p><b>Description</b> The server encountered an unexpected condition that prevented it from fulfilling the request.</p><p><b>Exception</b></p><pre>javax.servlet.ServletException: Servlet execution threw an exception
[33943:QC-CHECK-RUNNER-QcCheck]: </pre><p><b>Root Cause</b></p><pre>java.lang.NoClassDefFoundError: Could not initialize class ch.alice.o2.ccdb.servlets.LocalObjectWithVersion
[33943:QC-CHECK-RUNNER-QcCheck]: ch.alice.o2.ccdb.servlets.Local.doPost(Local.java:473)
[33943:QC-CHECK-RUNNER-QcCheck]: javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
[33943:QC-CHECK-RUNNER-QcCheck]: javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
[33943:QC-CHECK-RUNNER-QcCheck]: </pre><p><b>Note</b> The full stack trace of the root cause is available in the server logs.
The used checker is the SkeletonCheck, which is just there to be a Checker, nothing more.
For the full run log see here.
When I open a browser and go to the local CCDB I can see the full tree of histograms as I would expect but as soon as I click on a histogram I also see an internal server error 500.
Finally, also in the terminal output of the QCG I see an error code 500 as soon as I open the QCG in the web browser.
Trace: Error: Non-2xx status code: 500
at ClientRequest.requestHandler (/home/tklemenz/AliSoftware/sw/slc7_x86-64/qcg/v1.6.10-1/node_modules/@aliceo2/qc/lib/CCDBConnector.js:95:18)
at Object.onceWrapper (events.js:300:26)
at ClientRequest.emit (events.js:210:5)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:583:27)
at HTTPParser.parserOnHeadersComplete (_http_common.js:115:17)
at Socket.socketOnData (_http_client.js:456:22)
at Socket.emit (events.js:210:5)
at addChunk (_stream_readable.js:308:12)
at readableAddChunk (_stream_readable.js:289:11)
at Socket.Readable.push (_stream_readable.js:223:10)
at Log.trace (/home/tklemenz/AliSoftware/sw/slc7_x86-64/qcg/v1.6.10-1/node_modules/@aliceo2/web-ui/Backend/log/Log.js:113:13)
at errorHandler (/home/tklemenz/AliSoftware/sw/slc7_x86-64/qcg/v1.6.10-1/node_modules/@aliceo2/qc/lib/api.js:276:11)
at /home/tklemenz/AliSoftware/sw/slc7_x86-64/qcg/v1.6.10-1/node_modules/@aliceo2/qc/lib/api.js:36:21
at processTicksAndRejections (internal/process/task_queues.js:93:5)
2020-03-12T15:46:25.787Z e[31merrore[39m: [QualityControl] Non-2xx status code: 500
2020-03-12T15:46:25.797Z e[34mdebuge[39m: [WebSocket] ID 0 Processing "filter"
2020-03-12T15:46:25.797Z e[34mdebuge[39m: [WebSocket] ID 0 Sent filter/200
2020-03-12T15:46:25.805Z e[34mdebuge[39m: [HTTP] Page was not found: /favicon.ico
Full QCG terminal output.
There is also a red box popping up on the qcg web page stating:
Failed to retrieve list of objects due to undefined
On my local machine (ubuntu 18.04) this works with absolutely no problem so I am wondering if this may be caused by some restrictions given by the root user. Could this be or does anyone have any other idea?
I mentioned this on another topic already but I wanted to bring this up again because the focus there was more on another thing that turned out not to be the problem, so I put this issue here again with a bit more information.
I will take the liberty of pinging @pkonopka and @bvonhall since I hope you can help me here.
Edit: Publishing on the public qcg-test page works from the remote machine. Only the local CCDB/QCG is the problem.
Thanks a lot!
Cheers,
Thomas