fixeria has uploaded this change for review. ( 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(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/46/34446/1
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 13d271e..9814f86 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1979,6 +1979,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: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: daniel, fixeria, laforge, osmith.
arehbein has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/33198?usp=email )
Change subject: stream: Add client-side (segmentation) support for IPA
......................................................................
Patch Set 21:
(1 comment)
Patchset:
PS21:
> (type punning was one of the changes added right before I left, and this timestamp issue never appea […]
Patch to take care of type punning: https://gerrit.osmocom.org/c/libosmo-netif/+/34445
--
To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/33198?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: I822abf52c6ae396c90b5c50228a0a39c848d3de6
Gerrit-Change-Number: 33198
Gerrit-PatchSet: 21
Gerrit-Owner: arehbein <arehbein(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: daniel <dwillmann(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 16 Sep 2023 20:54:29 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: osmith <osmith(a)sysmocom.de>
Comment-In-Reply-To: arehbein <arehbein(a)sysmocom.de>
Comment-In-Reply-To: daniel <dwillmann(a)sysmocom.de>
Gerrit-MessageType: comment
arehbein has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/34445?usp=email )
Change subject: ipa: Don't break strict aliasing rule
......................................................................
ipa: Don't break strict aliasing rule
Somehow gcc doesn't always warn about this rule being broken.
We are breaking the strict aliasing rule here and libosmo-netif
currently does not make use of the '-fno-strict-aliasing' flag.
It's possible that this has also been causing nondeterministic
timestamps in libosmo-netif stream tests every once in a while.
Related: OS#6164, OS#5753
Change-Id: Ibed543cdfcdda8c0256ce7d8818ff96d6d46e9b0
---
M include/osmocom/netif/ipa.h
1 file changed, 19 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/45/34445/1
diff --git a/include/osmocom/netif/ipa.h b/include/osmocom/netif/ipa.h
index 1923253..920f0c9 100644
--- a/include/osmocom/netif/ipa.h
+++ b/include/osmocom/netif/ipa.h
@@ -18,14 +18,8 @@
uint8_t data[0];
} __attribute__ ((packed));
-struct osmo_ipa_msgb_cb {
- uint8_t proto;
- uint8_t proto_ext;
-} __attribute__ ((packed));
-
-#define OSMO_IPA_MSGB_CB(__msg) ((struct osmo_ipa_msgb_cb *)&((__msg)->cb[0]))
-#define osmo_ipa_msgb_cb_proto(__x) OSMO_IPA_MSGB_CB(__x)->proto
-#define osmo_ipa_msgb_cb_proto_ext(__x) OSMO_IPA_MSGB_CB(__x)->proto_ext
+#define osmo_ipa_msgb_cb_proto(STRUCT_MSGB_PTR) (STRUCT_MSGB_PTR)->cb[0]
+#define osmo_ipa_msgb_cb_proto_ext(STRUCT_MSGB_PTR) (STRUCT_MSGB_PTR)->cb[1]
struct msgb *osmo_ipa_msg_alloc(int headroom);
struct msgb *osmo_ipa_ext_msg_alloc(size_t headroom);
--
To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/34445?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: Ibed543cdfcdda8c0256ce7d8818ff96d6d46e9b0
Gerrit-Change-Number: 34445
Gerrit-PatchSet: 1
Gerrit-Owner: arehbein <arehbein(a)sysmocom.de>
Gerrit-MessageType: newchange
falconia has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33472?usp=email )
Change subject: CC: don't start guard timer on mid-call MNCC messages
......................................................................
CC: don't start guard timer on mid-call MNCC messages
The intent of the guard timer is to clear hung or stuck states
during call setup or teardown. However, there are some MNCC
messages that will be exchanged between OsmoMSC (passing CC
messages to and from the MS) and the external MNCC agent during
the active call state, not related to setup or teardown: DTMF
start and stop, plus call hold and retrieve operations for call
waiting. Unpatched OsmoMSC restarts the guard timer on every
received MNCC message, even those that pass through to CC without
affecting any state, and the result is breakage for users.
Consider the case of an IVR where you have to press some DTMF keys
before you can be transferred to a human operator. You press the
needed keys, get the human operator, and start talking. Then
3 minutes into your conversion (default guard timer duration)
your call unceremoniously disconnects without any warning.
Fix: look at the MNCC message type, and skip the call to start
the guard timer for known-benign MNCC messages.
Change-Id: Ibe2dd53f8e9e06d175b64df67d2a2e3e2d4155aa
---
M src/libmsc/gsm_04_08_cc.c
1 file changed, 49 insertions(+), 1 deletion(-)
Approvals:
neels: Looks good to me, approved
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index 6148bbd..1e2c5af 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -2383,7 +2383,27 @@
log_mncc_rx_tx(trans, "rx", msg);
- gsm48_start_guard_timer(trans);
+ /*
+ * The step of gsm48_start_guard_timer() needs to be done for
+ * major state-impacting MNCC messages, but not for those
+ * that are a mere pass-through to CC messages to MS.
+ */
+ switch (msg->msg_type) {
+ case MNCC_PROGRESS_REQ:
+ case MNCC_NOTIFY_REQ:
+ case MNCC_FACILITY_REQ:
+ case MNCC_START_DTMF_RSP:
+ case MNCC_START_DTMF_REJ:
+ case MNCC_STOP_DTMF_RSP:
+ case MNCC_HOLD_CNF:
+ case MNCC_HOLD_REJ:
+ case MNCC_RETRIEVE_CNF:
+ case MNCC_RETRIEVE_REJ:
+ case MNCC_USERINFO_REQ:
+ break;
+ default:
+ gsm48_start_guard_timer(trans);
+ }
trans->cc.mncc_initiated = true;
if (trans->msc_a)
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33472?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ibe2dd53f8e9e06d175b64df67d2a2e3e2d4155aa
Gerrit-Change-Number: 33472
Gerrit-PatchSet: 3
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: dexter, pespin.
arehbein has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/34444?usp=email )
Change subject: write_queue: Enable updating max_length field
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
For reference, this patch was created so this problem here can be tackled:
https://gerrit.osmocom.org/c/osmo-bsc/+/33892/comment/cca3c42d_b9504858/
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/34444?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ibfe51a2faf29f8ae160a9c330c9af0d09b5a9002
Gerrit-Change-Number: 34444
Gerrit-PatchSet: 1
Gerrit-Owner: arehbein <arehbein(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 16 Sep 2023 19:31:02 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: laforge, pespin.
arehbein has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/33892?usp=email )
Change subject: bsc: Make socket queue max. length configurable
......................................................................
Patch Set 5:
(1 comment)
File src/osmo-bsc/bsc_vty.c:
https://gerrit.osmocom.org/c/osmo-bsc/+/33892/comment/ac7cfa48_c4fb42c1
PS1, Line 2491: }
> If you set a maximum len on a queue, you definettly don't want your queue to be in a state where the […]
I have added a patch so that the write queue length can be updated and any excess messages are dropped (dequeued and freed): https://gerrit.osmocom.org/c/libosmocore/+/34444
I would use that patch here to take care of that problem (and I can add a patch for osmo-bts, too)
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/33892?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ic5f19f4613bccaf582997a4d02b689adee083a0b
Gerrit-Change-Number: 33892
Gerrit-PatchSet: 5
Gerrit-Owner: arehbein <arehbein(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 16 Sep 2023 19:28:29 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: arehbein <arehbein(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment