osmith submitted this change.
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(-)
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 \
To view, visit change 43140. To unsubscribe, or for help writing mail filters, visit settings.