Troubleshooting---ESS DAQ and EFU, KAFKA, DAQUIRI
Event Formation Unit (EFU): cmake takes long
If executing cmake ..
takes very long, without any output,
do not worry. This can happen. It may last 10 minutes or even longer.
It can take veryyyyy long!
Error in running EFU: no config file
It is highly recommended to install the ESSDAQ software in the user home directory. Not in a specific subfolder where all VMM3a/SRS related software is placed. If the user however decides to still create a different path, the following error might occur:
START GDGEM
Gd-GEM - applying local configuration
Ubuntu: net.core.netdev_max_backlog
Checking kernel buffer sizes
net.core.rmem_max = 12582912
net.core.rmem_max = 12582912
net.core.wmem_max = 12582912
net.core.netdev_max_backlog = 5000
HW check PASSED
Network check started
Network check PASSED
start Daquiri acquisition
START EFU
Gd-GEM - applying local configuration
Using default essdaq location
Error: No config file: /home/dateuser/essdaq/detectors/gdgem/config.ini
exiting ...
In case this error occurs, please adjust the CONFIG_FILE path in essdaq/efu/efu_start.sh
:
#!/bin/bash
echo "START EFU"
source ../../config/scripts/base.sh
#
# #
#
# This is no good, cannot differentiate other processes that may have "efu" somewhere in the string
# don't start if EFU is running
#ps aux | grep -v grep | grep efu && errexit "EFU is already running on this machine"
UDPARG=""
if [[ $EFU_UDP != "" ]]; then
UDPARG="-p $EFU_UDP"
fi
if [[ $ESSDAQROOT != "" ]]; then
echo "Using custom essdaq location: $ESSDAQROOT"
CONFIG_FILE=$ESSDAQROOT/essdaq/detectors/$DETECTOR/config.ini
else
echo "Using default essdaq location"
CONFIG_FILE=$HOME/ <b> + + + PATH TO ESSDAQ + + </b> /essdaq/detectors/$DETECTOR/config.ini
fi
NOHWARG=""
if [[ $NOHW != "" ]]; then
NOHWARG="--nohwcheck"
fi
test -f $CONFIG_FILE || errexit "No config file: $CONFIG_FILE"
echo "Extra EFU args: $@"
pushd ../../efu/event-formation-unit/build &> /dev/null || errexit "directory ./event-formation-unit/build does not exist"
if [ -z "$DEBUG" ]; then
./bin/efu --read_config $CONFIG_FILE $UDPARG $NOHWARG -b $KAFKA_IP:9092 -g $GRAFANA_IP --log_file ../../logfile.txt $@ 2>&1 > /dev/null &
else
./bin/efu --read_config $CONFIG_FILE $UDPARG $NOHWARG -b $KAFKA_IP:9092 -g $GRAFANA_IP $@
fi
popd
Starting the EFU: ./bin/efu: No such file or directory
When starting the EFU with the ./start.sh
script and an error like this occurs
Gd-GEM - applying local configuration
Ubuntu: net.core.netdev_max_backlog
Checking kernel buffer sizes
net.core.rmem_max = 12582912
net.core.rmem_max = 12582912
net.core.wmem_max = 12582912
net.core.netdev_max_backlog = 5000
HW check PASSED
Network check started
Network check PASSED
start Daquiri acquisition
START EFU
Gd-GEM - applying local configuration
Using default essdaq location
Extra EFU args: --file /home/dateuser/VMM/essdaq/detectors/gdgem/RHUM_config.json --calibration /home/dateuser/VMM/essdaq/detectors/gdgem/RHUM_calib.json
~/VMM/essdaq/detectors/gdgem
dateuser@MiniHP-VMM:~/VMM/essdaq/detectors/gdgem$ ../../efu/efu_start.sh: line 39: ./bin/efu: No such file or directory
essdaq/efu/event-formation-unit/build/bin/efu
exists.
Starting the EFU: exiting ...
When starting the EFU, an error message like this shows up:
START GDGEM
Gd-GEM - applying local configuration
Ubuntu: net.core.netdev.max_backlog
Error: ethif [enp0s31f6] - MTU is not 9000 bytes
exiting ...
sudo ifconfig enp0s31f6 mtu 9000
)
Starting the EFU: NMXConfig error
When starting the EFU and an error message like this shows up:
dateuser@MiniHP-VMM:~/VMM/essdaq/detectors/gdgem$ ./start.sh
START GDGEM
Gd-GEM - applying local configuration
Ubuntu: net.core.netdev_max_backlog
Checking kernel buffer sizes
net.core.rmem_max = 12582912
net.core.rmem_max = 12582912
net.core.wmem_max = 12582912
net.core.netdev_max_backlog = 5000
HW check PASSED
Network check started
Network check PASSED
start Daquiri acquisition
START EFU
Gd-GEM - applying local configuration
Using default essdaq location
Extra EFU args: --file /home/dateuser/VMM/essdaq/detectors/gdgem/RHUM_config.json --calibration /home/dateuser/VMM/essdaq/detectors/gdgem/RHUM_calib.json
~/VMM/essdaq/detectors/gdgem
dateuser@MiniHP-VMM:~/VMM/essdaq/detectors/gdgem$ terminate called after throwing an instance of 'std::runtime_error'
what(): NMXConfig error - Invalid JSON file.
Starting the EFU: max_backlog ERROR
When starting the EFU and an error message related to something like max_backlog ERROR
shows up, do the following:
open essdaq/detectors/gdgem/hwcheck.sh
and replace
sysctl -a 2>/dev/null | grep net.core.netdev.max_backlog | grep $backlogsize || errexit "max_backlog size incorrect"
with
sysctl -a 2>/dev/null | grep net.core.netdev_max_backlog | grep $backlogsize || errexit "max_backlog size incorrect"
The change is the .
to an _
after netdev
.
Something similar has to be done in essdaq/config/scripts/hwcheck.sh
.
Replace
if [[ -f /etc/lsb-release ]]; then
BACKLOG=net.core.netdev.max_backlog
echo "Ubuntu: "$BACKLOG
fi
if [[ -f /etc/lsb-release ]]; then
BACKLOG=net.core.netdev_max_backlog
echo "Ubuntu: "$BACKLOG
fi
Starting the EFU in a second instance
When executing the start script for the EFU in a second instance, you get the following message:
dateuser@MiniHP-VMM:~/VMM/essdaq/detectors/gdgem$ ./start.sh
START GDGEM
Gd-GEM - applying local configuration
Ubuntu: net.core.netdev_max_backlog
Checking kernel buffer sizes
net.core.rmem_max = 12582912
net.core.rmem_max = 12582912
net.core.wmem_max = 12582912
net.core.netdev_max_backlog = 5000
HW check PASSED
Network check started
Network check PASSED
start Daquiri acquisition
<DAQuiri::CommandServer> OK: opening new project and starting acquisition
START EFU
Gd-GEM - applying local configuration
Using default essdaq location
Extra EFU args: --file /home/dateuser/VMM/essdaq/detectors/gdgem/RHUM_config.json --calibration /home/dateuser/VMM/essdaq/detectors/gdgem/RHUM_calib.json --nohwcheck
~/VMM/essdaq/detectors/gdgem
dateuser@MiniHP-VMM:~/VMM/essdaq/detectors/gdgem$ terminate called after throwing an instance of 'std::runtime_error'
terminate called recursively
start.sh
script for the EFU was executed,
the stop.sh
script has to be executed before the start.sh
is executed again.