Attention is currently required from: fixeria, osmith.
Hello Jenkins Builder, fixeria, osmith,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-abis/+/39607?usp=email
to look at the new patch set (#3).
Change subject: ipaccess: Reset pointer before calling stream_cli func triggering callback
......................................................................
ipaccess: Reset pointer before calling stream_cli func triggering callback
The osmo_stream_cli_destroy() may trigger the disconnect_cb, which we
forward to the user through sign_link_down() callback.
Hence, the user may call e1inp_ipa_bts_rsl_close_n() again (re-entrant,
recursively) before we had time to nullify the pointer, calling
osmo_stream_cli_destroy() again.
Instead, make sure the pointer is reset bfore potentially calling the
osmo_stream_cli_destroy() to make sure to catch this scenario.
This issue was being triggered by BTS_Tests.TC_chopped_ipa_payload,
which was hitting an assert due to incorrectly calling
osmo_stream_cli_destroy() twice on a given stream_cli.
Related: OS#6729
Change-Id: I2f1da24580effab5e3dfeacb6514c3b1e3a650c9
---
M src/input/ipaccess.c
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/07/39607/3
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/39607?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I2f1da24580effab5e3dfeacb6514c3b1e3a650c9
Gerrit-Change-Number: 39607
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-abis/+/39607?usp=email
to look at the new patch set (#2).
Change subject: ipaccess: Reset pointer before calling stream_cli func triggering callback
......................................................................
ipaccess: Reset pointer before calling stream_cli func triggering callback
The osmo_stream_cli_destroy() may trigger the disconnect_cb, which we
forward to the user through sign_link_down() callback.
Hence, the user may call e1inp_ipa_bts_rsl_close_n() again (re-entrant,
recursively) before we had time to nullify the pointer, calling
osmo_stream_cli_destroy() again.
Instead, make sure the pointer is reset bfore potentially calling the
osmo_stream_cli_destroy() to make sure to catch this scenario.
This issue was being triggered by BTS_Tests.TC_chopped_ipa_payload,
which was hitting an assert due to incorrectly calling
osmo_stream_cli_destroy() twice on a given stream_cli.
Related: SYS#6729
Change-Id: I2f1da24580effab5e3dfeacb6514c3b1e3a650c9
---
M src/input/ipaccess.c
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/07/39607/2
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/39607?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I2f1da24580effab5e3dfeacb6514c3b1e3a650c9
Gerrit-Change-Number: 39607
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/39607?usp=email )
Change subject: ipaccess: Reset pointer before calling stream_cli func triggering callback
......................................................................
ipaccess: Reset pointer before calling stream_cli func triggering callback
The osmo_stream_cli_destroy() may trigger the disconnect_cb, which we
forward to the user through sign_link_down() callback.
Hence, the user may call e1inp_ipa_bts_rsl_close_n() again (re-entrant,
recursively) before we had time to nullify the pointer, calling
osmo_stream_cli_destroy() again.
Instead, make sure the pointer is reset bfore potentially calling the
osmo_stream_cli_destroy() so make sure to catch this scenario.
This issue was being triggered by BTS_Tests.TC_chopped_ipa_payload,
which was hitting an assert due to incorrectly calling
osmo_stream_cli_destroy() twice on a given stream_cli.
Related: SYS#6729
Change-Id: I2f1da24580effab5e3dfeacb6514c3b1e3a650c9
---
M src/input/ipaccess.c
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/07/39607/1
diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c
index 6a7d753..44ec719 100644
--- a/src/input/ipaccess.c
+++ b/src/input/ipaccess.c
@@ -1168,8 +1168,8 @@
cli = il->ipa_cli[1 + trx_nr];
if (cli != NULL) {
- osmo_stream_cli_destroy(cli);
il->ipa_cli[1 + trx_nr] = NULL;
+ osmo_stream_cli_destroy(cli);
}
return 0;
}
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/39607?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I2f1da24580effab5e3dfeacb6514c3b1e3a650c9
Gerrit-Change-Number: 39607
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Attention is currently required from: fixeria.
pespin has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39605?usp=email )
Change subject: trx_toolkit: fix typos in Transceiver API doc
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39605?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I59c6c75bb2a76fa082d0ad110930a2982ee6728f
Gerrit-Change-Number: 39605
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 25 Feb 2025 10:23:10 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39605?usp=email )
Change subject: trx_toolkit: fix typos in Transceiver API doc
......................................................................
trx_toolkit: fix typos in Transceiver API doc
Change-Id: I59c6c75bb2a76fa082d0ad110930a2982ee6728f
---
M src/target/trx_toolkit/transceiver.py
1 file changed, 4 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/05/39605/1
diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py
index e6af013..672c261 100644
--- a/src/target/trx_toolkit/transceiver.py
+++ b/src/target/trx_toolkit/transceiver.py
@@ -126,12 +126,12 @@
by default, at the moment of writing this patch).
In order to reflect that delay in a virtual environment, this
- implementation, just like a normal transceiver (e.g. osmo-trx),
- queues all to be transmitted (L12TRX) bursts, so hey remain in
- the transmit queue until the appropriate time of transmission.
+ implementation, just like osmo-trx, queues all to be transmitted
+ (L12TRX) bursts, so that they remain in the transmit queue until
+ the appropriate time of transmission.
The API user is supposed to call recv_data_msg() in order to obtain
- a L12TRX message on the TRXD (data) inteface, so it gets queued by
+ a L12TRX message on the TRXD (data) interface, so it gets queued by
this function. Then, to ensure the timeous transmission, the user
of this implementation needs to call clck_tick() on each TDMA
frame. Both functions are thread-safe (queue mutex).
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39605?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I59c6c75bb2a76fa082d0ad110930a2982ee6728f
Gerrit-Change-Number: 39605
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39606?usp=email )
Change subject: trx_toolkit: correct Tx burst advance value
......................................................................
trx_toolkit: correct Tx burst advance value
Change-Id: I559e86a15a3a8b4ec725f9d381e7d28628ea9155
---
M src/target/trx_toolkit/transceiver.py
1 file changed, 2 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/06/39606/1
diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py
index 672c261..ad1ee8c 100644
--- a/src/target/trx_toolkit/transceiver.py
+++ b/src/target/trx_toolkit/transceiver.py
@@ -122,8 +122,8 @@
are separete processes that are not perfectly synchronized in time.
Moreover, the transceiver needs some time to prepare a burst for
transmission. This is why the time difference between Uplink and
- Downlink is actually much higher on practice (20 TDMA frame periods
- by default, at the moment of writing this patch).
+ Downlink is actually much higher on practice (currently 2 TDMA
+ frame periods for both trxcon and osmo-bts-trx).
In order to reflect that delay in a virtual environment, this
implementation, just like osmo-trx, queues all to be transmitted
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39606?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I559e86a15a3a8b4ec725f9d381e7d28628ea9155
Gerrit-Change-Number: 39606
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/39535?usp=email )
Change subject: trx_toolkit/transceiver: Use with tx_queue_lock instead of manual acquire/release
......................................................................
trx_toolkit/transceiver: Use with tx_queue_lock instead of manual acquire/release
- it is a bit faster
- it is a bit more robust as the lock becomes released in case
some exception is raised before reaching release
Noticed while moving forwarding out of tx_queue_lock in
I7d10c972c45b2b5765e7c3a28f8646508b3c8a82.
Change-Id: I74b194120bcc518d44796b57e36368bdc8de4aab
---
M src/target/trx_toolkit/transceiver.py
1 file changed, 9 insertions(+), 11 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
lynxis lazus: Looks good to me, approved
fixeria: Looks good to me, approved
diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py
index 2a638c5..e6af013 100644
--- a/src/target/trx_toolkit/transceiver.py
+++ b/src/target/trx_toolkit/transceiver.py
@@ -312,18 +312,16 @@
emit = []
wait = []
- self._tx_queue_lock.acquire()
+ with self._tx_queue_lock:
+ for msg in self._tx_queue:
+ if msg.fn < fn:
+ drop.append(msg)
+ elif msg.fn == fn:
+ emit.append(msg)
+ else:
+ wait.append(msg)
- for msg in self._tx_queue:
- if msg.fn < fn:
- drop.append(msg)
- elif msg.fn == fn:
- emit.append(msg)
- else:
- wait.append(msg)
-
- self._tx_queue = wait
- self._tx_queue_lock.release()
+ self._tx_queue = wait
for msg in emit:
fwd.forward_msg(self, msg)
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/39535?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I74b194120bcc518d44796b57e36368bdc8de4aab
Gerrit-Change-Number: 39535
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>