Attention is currently required from: arehbein, laforge, pespin.
daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/34338?usp=email )
Change subject: stream_srv: Fix connection error handling
......................................................................
Patch Set 2:
(2 comments)
File src/stream_srv.c:
https://gerrit.osmocom.org/c/libosmo-netif/+/34338/comment/3cb40480_27675525
PS2, Line 489: if (OSMO_UNLIKELY(res <= 0)) {
> Why do we not call `osmo_stream_srv_clear_tx_queue()` here, if the connection is dead anyways?
Because that's what osmo_stream_srv_destroy() does already (either through msgb_queue_free() or osmo_iofd_free())
https://gerrit.osmocom.org/c/libosmo-netif/+/34338/comment/ff657801_7ece556d
PS2, Line 496: if (osmo_iofd_txqueue_len(iofd) == 0)
> Can it not happen that messages can't be sent out, so that this condition never holds true? In that […]
I just noticed that osmo_stream_srv_clear_tx_queue() is not aware of osmo_io. I'll prepare a patch.
We only end up here if there's actual data to be read, so it's not really an endless loop.
The only way where a message is never sent out is if the fd never is writable. Even if sending then fails that message has been removed from the tx queue so it will eventually be empty.
--
To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/34338?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Change-Id: I84eea2717f3762830f3f5b115e6fc8545eaa4fd5
Gerrit-Change-Number: 34338
Gerrit-PatchSet: 2
Gerrit-Owner: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: arehbein <arehbein(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: arehbein <arehbein(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 28 Sep 2023 14:43:23 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: arehbein <arehbein(a)sysmocom.de>
Gerrit-MessageType: comment
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/34446?usp=email )
Change subject: l1sap: l1sap_tch_ind(): fix segfault on stale TCH.ind
......................................................................
l1sap: l1sap_tch_ind(): fix segfault on stale TCH.ind
It was reported that osmo-bts-sysmo is crashing due to a TCH.ind
primitive being received by l1sap_tch_ind() for an lchan, which
is operating neither in speech nor data, but in signalling mode.
It's not clear which scenario is causing this situation. My best
guess is that one or more TCH.ind primitive(s) remain waiting in
the lower layers and bob up right after the channel mode change.
This can happen, for instance, when a dynamic timeslot gets
switched from TCH/F or TCH/H to PDCH or SDCCH/8.
Change-Id: I2d270ab654fdd9d19d1708ff6c4b4e902bd5d0a3
Fixes: d1f8f3429 "l1sap: proper rate adaptation for CSD"
Closes: OS#6180
---
M src/common/l1sap.c
1 file changed, 23 insertions(+), 0 deletions(-)
Approvals:
osmith: Looks good to me, but someone else must approve
fixeria: Looks good to me, approved
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index b828307..844fdad 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1990,6 +1990,7 @@
send_ul_rtp_packet_data(lchan, fn, msg->data, msg->len);
break;
case RSL_CMOD_SPD_SIGN:
+ return 0; /* drop stale TCH.ind */
default: /* shall not happen */
OSMO_ASSERT(0);
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/34446?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I2d270ab654fdd9d19d1708ff6c4b4e902bd5d0a3
Gerrit-Change-Number: 34446
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: keith <keith(a)rhizomatica.org>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34574?usp=email )
Change subject: bsc: Start MGCP transaction ID sequence based on media_nr
......................................................................
bsc: Start MGCP transaction ID sequence based on media_nr
This allows different MscConnHandlers to concurrently submit MGCP
messages with unique transaction ID through the shared MGCP-over-IPA
multiplex BSC<->MSC.
Without this, 2 MscConnHandlers would both send a
CRCX using trans_id=0, and the ConnectionTable in RAN_Emulation.cpp
would lookup and return the first MscConnHandler in the table during the
2nd CRCX ACK which was targeted at the second MscConnHandler.
Change-Id: Icb09d67a1f0207dc8501dd2b47c9162175b691b1
---
M bsc/BSC_Tests.ttcn
M bsc/MSC_ConnectionHandler.ttcn
2 files changed, 20 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/34574/1
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index f8d8c2d..f89e450 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -12180,6 +12180,7 @@
var TestHdlrParams pars2 := f_gen_test_hdlr_pars();
var MSC_ConnHdlr vc_conn2;
pars2.mgwpool_idx := 1;
+ pars2.media_nr := 2;
f_init(1, true, nr_mgw := 2);
f_sleep(1.0);
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index 7a5e55e..b499244 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -581,6 +581,7 @@
/* initialize all parameters */
function f_MscConnHdlr_init(integer i, HostName bts, HostName mgw, BSSMAP_FIELD_CodecType codecType) runs on MSC_ConnHdlr {
+ g_trans_id := i * 1000; /* Avoid different MscConnHdlr submitting same trans_id over MGCP-IPA */
f_MediaState_init(g_media, i, bts, mgw, codecType);
f_MscConnHdlr_init_vty();
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34574?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Icb09d67a1f0207dc8501dd2b47c9162175b691b1
Gerrit-Change-Number: 34574
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange