osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/43140?usp=email )
Change subject: ttcn3-asterisk-ims-ue-test: set execfn ......................................................................
ttcn3-asterisk-ims-ue-test: set execfn
The wrapper_core_bt_on_error.sh should get a backtrace if a coredump appears. This didn't work because the execfn could not be extracted via file for asterisk (it works with other programs):
$ file core core: ELF 64-bit LSB core file, x86-64, version 1 (SYSV), too many program headers (2201)
Add a fallback execfn path so it works in this case too.
Change-Id: Ia6b170b127d6458c3e74b1a32a549b04ae460c75 --- M common/wrapper_core_bt_on_error.sh M ttcn3-asterisk-ims-ue-test/jenkins.sh 2 files changed, 8 insertions(+), 2 deletions(-)
Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified
diff --git a/common/wrapper_core_bt_on_error.sh b/common/wrapper_core_bt_on_error.sh index ca1eaef..31579fe 100755 --- a/common/wrapper_core_bt_on_error.sh +++ b/common/wrapper_core_bt_on_error.sh @@ -22,8 +22,13 @@ msg "Found coredump: $i" execfn="$(file "$i" | grep -P -o "execfn: '.*?'" | cut -d "'" -f 2)" if [ -z "$execfn" ] || ! [ -e "$execfn" ]; then - msg "Failed to get execfn, ignoring..." - continue + if [ -n "$BT_ON_ERR_EXECFN_FALLBACK" ]; then + msg "Failed to get execfn, using BT_ON_ERR_EXECFN_FALLBACK: $BT_ON_ERR_EXECFN_FALLBACK" + execfn="$BT_ON_ERR_EXECFN_FALLBACK" + else + msg "Failed to get execfn, ignoring... consider setting BT_ON_ERR_EXECFN_FALLBACK" + continue + fi fi
echo diff --git a/ttcn3-asterisk-ims-ue-test/jenkins.sh b/ttcn3-asterisk-ims-ue-test/jenkins.sh index 0de3d8c..3512772 100755 --- a/ttcn3-asterisk-ims-ue-test/jenkins.sh +++ b/ttcn3-asterisk-ims-ue-test/jenkins.sh @@ -55,6 +55,7 @@ --cap-add=SYS_RESOURCE \ $(docker_network_params $SUBNET $ASTERISK_IP_SUFFIX) \ -e "DNS_IPADDR=${DNS_IPADDR}" \ + -e "BT_ON_ERR_EXECFN_FALLBACK=/usr/sbin/asterisk" \ --ulimit core=-1 \ -v "$VOL_BASE_DIR/asterisk-${test_config}:/data" \ -w /data \