Attention is currently required from: falconia.
pespin has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-netif/+/42141?usp=email )
Change subject: twjit: add underrun extension feature
......................................................................
Patch Set 1: Code-Review+1
(3 comments)
File src/twjit.c:
https://gerrit.osmocom.org/c/libosmo-netif/+/42141/comment/da04aed9_4ff791c… :
PS1, Line 554: twjit->stats.underruns++;
shouldn't "twjit->stats.too_old++;" be increased too here if id == INPUT_TOO_OLD?
https://gerrit.osmocom.org/c/libosmo-netif/+/42141/comment/3ebc85a0_de8b2f1… :
PS1, Line 630: static void handle_flowing_underrun(struct osmo_twjit *twjit)
Some ideas, no need to apply them if you don't want:
It may make sense to specify here that this is expected to be called from state TWJIT_STATE_FLOWING. It may even make sense to merge it into osmo_twjit_output().
Or maybe change this function into being only the content of the "if" path, and name it "transition_to_state_underrun()" or "state_underrun_onenter()" or similar. See comment below.
https://gerrit.osmocom.org/c/libosmo-netif/+/42141/comment/b6ae9552_701b6d4… :
PS1, Line 671: if (read_sb_is_empty(twjit)) {
if (!read_sb_is_empty(twjit)) {
read_sb_thinning(twjit);
return pull_from_read_sb(twjit);
}
if (twjit->config.underrun_ext)
transition_to_state_underrun(twjit);
else
twjit->state = TWJIT_STATE_EMPTY;
return NULL;
--
To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/42141?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Change-Id: Ibda74c0dbfb163f5d0e3fb13f593a6e2c6817673
Gerrit-Change-Number: 42141
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: falconia <falcon(a)freecalypso.org>
Gerrit-Comment-Date: Wed, 18 Feb 2026 10:30:58 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/42137?usp=email )
Change subject: ttcn3-asterisk-ims-ue-test: show trace on coredump
......................................................................
ttcn3-asterisk-ims-ue-test: show trace on coredump
Use wrapper_core_bt_on_error.sh to show a backtrace in case asterisk
crashes and a coredump is generated. Set CWD to /data, so the core and
core.backtrace files end up in the jenkins artifacts.
The result looks like this (forced a segfault in main() to test this):
$ cat asterisk-ipv4/core.backtrace
[New LWP 18]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/asterisk -C /etc/asterisk/asterisk.conf -f -g -vvvvv -ddddd'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000073908c476ffb in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#0 0x000073908c476ffb in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00005ba2677294dc in memset (__dest=0x0, __ch=1, __len=1) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:59
#2 main (argc=<optimized out>, argv=0x7fff865fdd28) at asterisk.c:3839
Change-Id: Iee22cbeaa2b2c136c789afc3ebd3ec1be10a6ac7
---
M asterisk-master/Dockerfile
M ttcn3-asterisk-ims-ue-test/jenkins.sh
2 files changed, 6 insertions(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
fixeria: Looks good to me, approved
diff --git a/asterisk-master/Dockerfile b/asterisk-master/Dockerfile
index 55734ba..ad8c925 100644
--- a/asterisk-master/Dockerfile
+++ b/asterisk-master/Dockerfile
@@ -89,3 +89,7 @@
RUN cd asterisk/codec_server && \
make "-j$(nproc)" && \
cp cserver /usr/bin/cserver
+
+COPY --chmod=755 \
+ .common/wrapper_core_bt_on_error.sh \
+ /usr/bin/wrapper_core_bt_on_error.sh
diff --git a/ttcn3-asterisk-ims-ue-test/jenkins.sh b/ttcn3-asterisk-ims-ue-test/jenkins.sh
index 0707cb9..0de3d8c 100755
--- a/ttcn3-asterisk-ims-ue-test/jenkins.sh
+++ b/ttcn3-asterisk-ims-ue-test/jenkins.sh
@@ -57,10 +57,11 @@
-e "DNS_IPADDR=${DNS_IPADDR}" \
--ulimit core=-1 \
-v "$VOL_BASE_DIR/asterisk-${test_config}:/data" \
+ -w /data \
--name "${BUILD_TAG}-asterisk" -d \
$DOCKER_ARGS \
"$REPO_USER/asterisk-$IMAGE_SUFFIX" \
- /bin/sh -c "/data/asterisk.sh >/data/asterisk.console.log 2>&1"
+ /bin/sh -c "wrapper_core_bt_on_error.sh /data/asterisk.sh >/data/asterisk.console.log 2>&1"
}
# Start docker container with testsuite in foreground
--
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/42137?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: Iee22cbeaa2b2c136c789afc3ebd3ec1be10a6ac7
Gerrit-Change-Number: 42137
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/42136?usp=email )
Change subject: common/wrapper_core_bt_on_error: import
......................................................................
common/wrapper_core_bt_on_error: import
Import this script from osmo-ci dfa9fcca
("scripts/wrapper_core_bt_on_error: new script"), so it can be used in
ttcn3-asterisk-ims-ue-test in a follow-up patch.
Change-Id: I773ff8b8c07c96e1b5b417fa28518ac7dc2e14ec
---
A common/wrapper_core_bt_on_error.sh
1 file changed, 38 insertions(+), 0 deletions(-)
Approvals:
pespin: Looks good to me, approved
fixeria: Looks good to me, but someone else must approve
Jenkins Builder: Verified
jolly: Looks good to me, but someone else must approve
diff --git a/common/wrapper_core_bt_on_error.sh b/common/wrapper_core_bt_on_error.sh
new file mode 100755
index 0000000..ca1eaef
--- /dev/null
+++ b/common/wrapper_core_bt_on_error.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+# Copyright 2025 sysmocom - s.f.m.c. GmbH
+# SPDX-License-Identifier: GPL-3.0-or-later
+# Run a program and check for coredumps if it does not exit with 0. If there
+# are any coredumps, then show the backtrace.
+msg() {
+ echo "[wrapper_core_bt_on_error] $@"
+}
+
+if [ $# -lt 1 ]; then
+ echo "usage: wrapper_core_bt_on_error.sh PROGRAM [ARG1 [ARG2 […]]]"
+ exit 1
+fi
+
+ulimit -c unlimited
+
+"$@"
+RC=$?
+
+if [ "$RC" != 0 ]; then
+ for i in $(find -name 'core' -type f); do
+ 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
+ fi
+
+ echo
+ gdb --batch \
+ "$execfn" \
+ "$i" \
+ -ex bt \
+ | tee "$i.backtrace"
+ echo
+ done
+ exit $RC
+fi
--
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/42136?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: I773ff8b8c07c96e1b5b417fa28518ac7dc2e14ec
Gerrit-Change-Number: 42136
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>