Debug mode on + getopts dvlhkrH:t:m: opt + case "$opt" in + tty -s + PRINT_FILE=/dev/fd/1 + echo 'Verbose mode on' Verbose mode on + getopts dvlhkrH:t:m: opt + shift 2 + case "5.4.258-rtai-amd64" in ++ uname -r + '[' 5.4.258-rtai-amd64 '!=' 5.4.258-rtai-amd64 ']' + '[' -z ']' + tty -s + trap ErrorCheck EXIT + '[' '!' -z /home/cnc/linuxcnc/configs/router-axis/router-axis.ini ']' + case "$1" in + INIFILE=/home/cnc/linuxcnc/configs/router-axis/router-axis.ini + shift + EXTRA_ARGS= + RUN_IN_PLACE=no + echo RUN_IN_PLACE=no RUN_IN_PLACE=no + LINUXCNCVERSION=2.9.2 + export LINUXCNCVERSION + INIVAR=inivar + HALCMD='halcmd ' + PICKCONFIG='/usr/bin/wish8.6 /usr/lib/tcltk/linuxcnc/bin/pickconfig.tcl' + LINUXCNC_EMCSH=/usr/bin/wish8.6 + echo LINUXCNC_DIR= LINUXCNC_DIR= + echo LINUXCNC_BIN_DIR=/usr/bin LINUXCNC_BIN_DIR=/usr/bin + echo LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc + echo LINUXCNC_SCRIPT_DIR= LINUXCNC_SCRIPT_DIR= + echo LINUXCNC_RTLIB_DIR=/usr/realtime-5.4.258-rtai-amd64/modules/linuxcnc LINUXCNC_RTLIB_DIR=/usr/realtime-5.4.258-rtai-amd64/modules/linuxcnc + echo LINUXCNC_CONFIG_DIR= LINUXCNC_CONFIG_DIR= + echo LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs + echo INIVAR=inivar INIVAR=inivar + echo HALCMD=halcmd HALCMD=halcmd + echo LINUXCNC_EMCSH=/usr/bin/wish8.6 LINUXCNC_EMCSH=/usr/bin/wish8.6 + export LINUXCNC_TCL_DIR + export LINUXCNC_EMCSH + export LINUXCNC_HELP_DIR + export LINUXCNC_LANG_DIR + export REALTIME + export HALCMD + export LINUXCNC_NCFILES_DIR + '[' -z ']' + echo 'LINUXCNC - 2.9.2' LINUXCNC - 2.9.2 + '[' '!' -z '' ']' + '[' '!' -n /home/cnc/linuxcnc/configs/router-axis/router-axis.ini ']' + '[' '!' -n /home/cnc/linuxcnc/configs/router-axis/router-axis.ini ']' ++ handle_includes /home/cnc/linuxcnc/configs/router-axis/router-axis.ini ++ hdr='# handle_includes():' ++ inifile=/home/cnc/linuxcnc/configs/router-axis/router-axis.ini +++ dirname /home/cnc/linuxcnc/configs/router-axis/router-axis.ini ++ cd /home/cnc/linuxcnc/configs/router-axis ++ /usr/bin/grep '^#INCLUDE' /home/cnc/linuxcnc/configs/router-axis/router-axis.ini ++ status=1 ++ '[' 1 -ne 0 ']' ++ echo /home/cnc/linuxcnc/configs/router-axis/router-axis.ini ++ return 0 + INIFILE=/home/cnc/linuxcnc/configs/router-axis/router-axis.ini + INI_NAME=router-axis.ini + INI_DIR=/home/cnc/linuxcnc/configs/router-axis + CONFIG_DIR=/home/cnc/linuxcnc/configs/router-axis + export CONFIG_DIR + export PATH=/home/cnc/linuxcnc/configs/router-axis/bin:/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + PATH=/home/cnc/linuxcnc/configs/router-axis/bin:/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games + '[' -z ']' + echo 'Machine configuration directory is '\''/home/cnc/linuxcnc/configs/router-axis'\''' Machine configuration directory is '/home/cnc/linuxcnc/configs/router-axis' + echo 'Machine configuration file is '\''router-axis.ini'\''' Machine configuration file is 'router-axis.ini' + '[' '!' -f /home/cnc/linuxcnc/configs/router-axis/router-axis.ini ']' + echo INIFILE=/home/cnc/linuxcnc/configs/router-axis/router-axis.ini INIFILE=/home/cnc/linuxcnc/configs/router-axis/router-axis.ini + retval= + GetFromIni VERSION EMC + name=VERSION ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var VERSION -sec EMC + retval=1.1 + '[' '!' -n VERSION ']' + echo VERSION=1.1 VERSION=1.1 + '[' 1.1 '!=' 1.1 ']' ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var MODE -sec PLASMAC + '[' ']' + /usr/bin/tclsh8.6 /usr/share/linuxcnc/hallib/check_config.tcl /home/cnc/linuxcnc/configs/router-axis/router-axis.ini + exitval=0 + case "$exitval" in + GetFromIni PARAMETER_FILE RS274NGC + name=PARAMETER_FILE ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var PARAMETER_FILE -sec RS274NGC + retval=linuxcnc.var + '[' '!' -n PARAMETER_FILE ']' + echo PARAMETER_FILE=linuxcnc.var PARAMETER_FILE=linuxcnc.var + RS274NGC_PARAMFILE=linuxcnc.var + GetFromIniEx MOT MOT EMCMOT EMCMOT motmod + original_var='[MOT]MOT' + '[' 5 -ge 2 ']' ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var MOT -sec MOT + retval= + shift 2 + '[' 3 -ge 2 ']' ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var EMCMOT -sec EMCMOT + retval=motmod + return + EMCMOT=motmod.ko + '[' -z '' ']' + GetFromIniQuiet TPMOD TRAJ + name=TPMOD ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var TPMOD -sec TRAJ + retval= + '[' '!' -n TPMOD ']' + echo TPMOD= TPMOD= + TPMOD=tpmod + '[' -z '' ']' + GetFromIniQuiet HOMEMOD EMCMOT + name=HOMEMOD ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var HOMEMOD -sec EMCMOT + retval= + '[' '!' -n HOMEMOD ']' + echo HOMEMOD= HOMEMOD= + HOMEMOD=homemod + GetFromIniEx IO IO EMCIO EMCIO io + original_var='[IO]IO' + '[' 5 -ge 2 ']' ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var IO -sec IO + retval= + shift 2 + '[' 3 -ge 2 ']' ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var EMCIO -sec EMCIO + retval=io + return + EMCIO=io + GetFromIni TASK TASK + name=TASK ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var TASK -sec TASK + retval=milltask + '[' '!' -n TASK ']' + echo TASK=milltask TASK=milltask + EMCTASK=milltask + '[' milltask = emctask ']' + EMCSERVER=linuxcncsvr + GetFromIniQuiet HALUI HAL + name=HALUI ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var HALUI -sec HAL + retval= + '[' '!' -n HALUI ']' + echo HALUI= HALUI= + HALUI= + GetFromIni DISPLAY DISPLAY + name=DISPLAY ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var DISPLAY -sec DISPLAY + retval=axis + '[' '!' -n DISPLAY ']' + echo DISPLAY=axis DISPLAY=axis ++ set -- axis ++ echo axis + EMCDISPLAY=axis ++ set -- axis ++ shift ++ echo + EMCDISPLAYARGS= + case $EMCDISPLAY in + GetFromIniEx NML_FILE LINUXCNC NML_FILE EMC /usr/share/linuxcnc/linuxcnc.nml + original_var='[LINUXCNC]NML_FILE' + '[' 5 -ge 2 ']' ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var NML_FILE -sec LINUXCNC + retval= + shift 2 + '[' 3 -ge 2 ']' ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var NML_FILE -sec EMC + retval= + shift 2 + '[' 1 -ge 2 ']' + '[' 1 -eq 0 ']' + retval=/usr/share/linuxcnc/linuxcnc.nml + NMLFILE=/usr/share/linuxcnc/linuxcnc.nml + export NMLFILE + GetFromIni COORDINATES TRAJ + name=COORDINATES ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var COORDINATES -sec TRAJ + retval='X Y Z' + '[' '!' -n COORDINATES ']' + echo 'COORDINATES=X Y Z' COORDINATES=X Y Z + TRAJ_COORDINATES='X Y Z' + export TRAJ_COORDINATES + GetFromIni KINEMATICS KINS + name=KINEMATICS ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var KINEMATICS -sec KINS + retval='trivkins coordinates=XYZ' + '[' '!' -n KINEMATICS ']' + echo 'KINEMATICS=trivkins coordinates=XYZ' KINEMATICS=trivkins coordinates=XYZ + KINS_KINEMATICS='trivkins coordinates=XYZ' + export KINS_KINEMATICS + KILL_TASK= + KILL_TIMEOUT=20 + LOCKFILE=/tmp/linuxcnc.lock + '[' -f /tmp/linuxcnc.lock ']' + echo Starting LinuxCNC... Starting LinuxCNC... + trap 'Cleanup ; exit 0' SIGINT SIGTERM + cd /home/cnc/linuxcnc/configs/router-axis + touch /tmp/linuxcnc.lock ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var INTRO_GRAPHIC -sec DISPLAY + img=linuxcnc.gif ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var INTRO_TIME -sec DISPLAY + imgtime=5 + '[' 5 = '' ']' + '[' linuxcnc.gif '!=' '' ']' + '[' -e linuxcnc.gif ']' + '[' -e /home/cnc/linuxcnc/configs/router-axis/linuxcnc.gif ']' + '[' -e /usr/share/linuxcnc/linuxcnc.gif ']' + img=/usr/share/linuxcnc/linuxcnc.gif + '[' /usr/share/linuxcnc/linuxcnc.gif '!=' '' ']' + '[' -x /usr/lib/tcltk/linuxcnc/bin/popimage ']' + echo 'Starting LinuxCNC server program: linuxcncsvr' + /usr/lib/tcltk/linuxcnc/bin/popimage /usr/share/linuxcnc/linuxcnc.gif 5 Starting LinuxCNC server program: linuxcncsvr + program_available linuxcncsvr + type -path linuxcncsvr + export INI_FILE_NAME=/home/cnc/linuxcnc/configs/router-axis/router-axis.ini + INI_FILE_NAME=/home/cnc/linuxcnc/configs/router-axis/router-axis.ini + linuxcncsvr -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini + echo 'Loading Real Time OS, RTAPI, and HAL_LIB modules' Loading Real Time OS, RTAPI, and HAL_LIB modules + /usr/lib/linuxcnc/realtime start + export HAL_RTMOD_DIR=/usr/realtime-5.4.258-rtai-amd64/modules/linuxcnc + HAL_RTMOD_DIR=/usr/realtime-5.4.258-rtai-amd64/modules/linuxcnc + '[' io '!=' '' ']' + echo 'Starting LinuxCNC IO program: io' Starting LinuxCNC IO program: io + program_available io + type -path io + halcmd loadusr -Wn iocontrol io -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini + '[' -n '' ']' ++ basename /usr/bin/linuxcnc + echo 'linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod' linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod + eval halcmd loadrt tpmod ++ halcmd loadrt tpmod + eval halcmd loadrt homemod ++ halcmd loadrt homemod ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var TWOPASS -sec HAL -num 1 + TWOPASS= + '[' -n '' ']' + NUM=1 ++ inivar -tildeexpand -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var HALFILE -sec HAL -num 1 + CFGFILE=router-axis.hal + '[' -n router-axis.hal ']' + IFS='\ ' + read CFGFILE CFGFILE_ARGS + foundmsg= + saveIFS=' ' + IFS=: + explicit_file_in_hallib=router-axis.hal + '[' -z router-axis.hal ']' + '[' router-axis.hal '!=' router-axis.hal ']' + '[' r = / ']' + for pathdir in $HALLIB_PATH + foundfile=./router-axis.hal + '[' -r ./router-axis.hal ']' + '[' . = . ']' + foundmsg='Found file(REL): ./router-axis.hal' + break + '[' -d ./router-axis.hal ']' + IFS=' ' + '[' -z 'Found file(REL): ./router-axis.hal' ']' + echo 'Found file(REL): ./router-axis.hal' Found file(REL): ./router-axis.hal + CFGFILE=./router-axis.hal + case $CFGFILE in + halcmd -i /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -f ./router-axis.hal + NUM=2 ++ inivar -tildeexpand -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var HALFILE -sec HAL -num 2 + CFGFILE=custom.hal + '[' -n custom.hal ']' + IFS='\ ' + read CFGFILE CFGFILE_ARGS + foundmsg= + saveIFS=' ' + IFS=: + explicit_file_in_hallib=custom.hal + '[' -z custom.hal ']' + '[' custom.hal '!=' custom.hal ']' + '[' c = / ']' + for pathdir in $HALLIB_PATH + foundfile=./custom.hal + '[' -r ./custom.hal ']' + '[' . = . ']' + foundmsg='Found file(REL): ./custom.hal' + break + '[' -d ./custom.hal ']' + IFS=' ' + '[' -z 'Found file(REL): ./custom.hal' ']' + echo 'Found file(REL): ./custom.hal' Found file(REL): ./custom.hal + CFGFILE=./custom.hal + case $CFGFILE in + halcmd -i /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -f ./custom.hal + NUM=3 ++ inivar -tildeexpand -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var HALFILE -sec HAL -num 3 + CFGFILE= + '[' -n '' ']' + echo 'Starting TASK program: milltask' Starting TASK program: milltask + program_available milltask + type -path milltask + NUM=1 ++ inivar -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini -var HALCMD -sec HAL -num 1 + halcmd loadusr -Wn inihal milltask -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini + HALCOMMAND= + '[' -n '' ']' + halcmd start + run_applications + NUM=1 + APPFILE= + '[' -z '' ']' + return + echo 'Starting DISPLAY program: axis' Starting DISPLAY program: axis + result=0 + case $EMCDISPLAY in + program_available axis + type -path axis + axis -ini /home/cnc/linuxcnc/configs/router-axis/router-axis.ini /usr/bin/linuxcnc: line 977: 4507 Segmentation fault $EMCDISPLAY -ini "$INIFILE" $EMCDISPLAYARGS $EXTRA_ARGS + result=139 + Cleanup + echo 'Shutting down and cleaning up LinuxCNC...' Shutting down and cleaning up LinuxCNC... + for KILL_TASK in linuxcncpanel iosh linuxcncsh linuxcncrsh linuxcnctop mdi debuglevel gmoccapy gscreen + /usr/bin/pidof -x linuxcncpanel + for KILL_TASK in linuxcncpanel iosh linuxcncsh linuxcncrsh linuxcnctop mdi debuglevel gmoccapy gscreen + /usr/bin/pidof -x iosh + for KILL_TASK in linuxcncpanel iosh linuxcncsh linuxcncrsh linuxcnctop mdi debuglevel gmoccapy gscreen + /usr/bin/pidof -x linuxcncsh + for KILL_TASK in linuxcncpanel iosh linuxcncsh linuxcncrsh linuxcnctop mdi debuglevel gmoccapy gscreen + /usr/bin/pidof -x linuxcncrsh + for KILL_TASK in linuxcncpanel iosh linuxcncsh linuxcncrsh linuxcnctop mdi debuglevel gmoccapy gscreen + /usr/bin/pidof -x linuxcnctop + for KILL_TASK in linuxcncpanel iosh linuxcncsh linuxcncrsh linuxcnctop mdi debuglevel gmoccapy gscreen + /usr/bin/pidof -x mdi + for KILL_TASK in linuxcncpanel iosh linuxcncsh linuxcncrsh linuxcnctop mdi debuglevel gmoccapy gscreen + /usr/bin/pidof -x debuglevel + for KILL_TASK in linuxcncpanel iosh linuxcncsh linuxcncrsh linuxcnctop mdi debuglevel gmoccapy gscreen + /usr/bin/pidof -x gmoccapy + for KILL_TASK in linuxcncpanel iosh linuxcncsh linuxcncrsh linuxcnctop mdi debuglevel gmoccapy gscreen + /usr/bin/pidof -x gscreen + program_available axis-remote + type -path axis-remote + '[' '!' -z :1 ']' + axis-remote --ping