<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bts/+/19374">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bts-trx: Fix osmocom dyn ts assert hit during Adm State Unlock<br><br>How to reproduce:<br>* Configure a TS to be TCH/F_TCH/H_PDCH in osmo-bsc.cfg<br>* Run the network with osmo-bts-trx, then use osmo-bsc's "rf_locked 1"<br>* Then, unlock it: "rf_locked 0"<br>* The following assert will be hit:<br>Assert failed ts->dyn.pchan_is == ts->dyn.pchan_want /osmo-bts/src/osmo-bts-trx/l1_if.c:349<br>"""<br>(gdb) bt<br> #0 0x00007ffff5bb9355 in raise () from /usr/lib/libc.so.6<br> #1 0x00007ffff5ba2853 in abort () from /usr/lib/libc.so.6<br> #2 0x00007ffff6832361 in osmo_panic_default (<br> fmt=0x555555814e60 "Assert failed %s %s:%d\n", args=0x7fffffffc6e0)<br> at /libosmocore/src/panic.c:49<br> #3 0x00007ffff683249d in osmo_panic (<br> fmt=0x555555814e60 "Assert failed %s %s:%d\n")<br> at /libosmocore/src/panic.c:84<br> #4 0x000055555570fdf7 in trx_set_ts (ts=0x7ffff1e6bce8)<br> at /osmo-bts/src/osmo-bts-trx/l1_if.c:349<br> #5 0x00005555557133c1 in bts_model_chg_adm_state (bts=0x627000000160,<br> mo=0x7ffff1e0f8a0, obj=0x7ffff1e0f860, adm_state=2 '\002')<br> at /osmo-bts/src/osmo-bts-trx/l1_if.c:681<br> #6 0x0000555555769978 in oml_rx_chg_adm_state (bts=0x627000000160,<br> msg=0x633000003e00)<br> at /osmo-bts/src/common/oml.c:1044<br> #7 0x000055555576a8d3 in down_fom (bts=0x627000000160, msg=0x633000003e00)<br> at /osmo-bts/src/common/oml.c:1129<br> #8 0x0000555555770aed in down_oml (bts=0x627000000160, msg=0x633000003e00)<br> at /osmo-bts/src/common/oml.c:1476<br> #9 0x00005555557f8174 in sign_link_cb (msg=0x633000003e00)<br> at /osmo-bts/src/common/abis.c:188<br> #10 0x00007ffff73b5935 in ipaccess_bts_read_cb (link=0x6120000030a0,<br>--Type <RET> for more, q to quit, c to continue without paging--<br> msg=0x633000003e00)<br> at /libosmo-abis/src/input/ipaccess.c:980<br> #11 0x00007ffff73a1060 in ipa_client_read (link=0x6120000030a0)<br> at /libosmo-abis/src/input/ipa.c:72<br> #12 0x00007ffff73a2458 in ipa_client_fd_cb (ofd=0x62f000038a50, what=1)<br> at /libosmo-abis/src/input/ipa.c:136<br> #13 0x00007ffff67ebfa7 in osmo_fd_disp_fds (_rset=0x7fffffffdda0,<br> _wset=0x7fffffffde40, _eset=0x7fffffffdee0)<br> at /libosmocore/src/select.c:227<br> #14 0x00007ffff67ec38c in _osmo_select_main (polling=0)<br> at /libosmocore/src/select.c:265<br> #15 0x00007ffff67ec46b in osmo_select_main (polling=0)<br> at /libosmocore/src/select.c:274<br> #16 0x00005555557ef089 in bts_main (argc=7, argv=0x7fffffffe208)<br> at /osmo-bts/src/common/main.c:354<br> #17 0x00005555556fe621 in main (argc=7, argv=0x7fffffffe208)<br> at /osmo-bts/src/osmo-bts-trx/main.c:176<br>"""<br><br>Related: OS#4920<br>Change-Id: Ia3210e24b921fd0c67f77068b7ef4a65f270cd11<br>---<br>M src/osmo-bts-trx/l1_if.c<br>1 file changed, 7 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/74/19374/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c</span><br><span>index d65900f..bc936c0 100644</span><br><span>--- a/src/osmo-bts-trx/l1_if.c</span><br><span>+++ b/src/osmo-bts-trx/l1_if.c</span><br><span>@@ -678,6 +678,13 @@</span><br><span> /* Activate timeslots in scheduler and start power ramp up */</span><br><span> for (i = 0; i < ARRAY_SIZE(trx->ts); i++) {</span><br><span> struct gsm_bts_trx_ts *ts = &trx->ts[i];</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) {</span><br><span style="color: hsl(120, 100%, 40%);">+ /* dyn.pchan_is is set to GSM_PCHAN_NONE when</span><br><span style="color: hsl(120, 100%, 40%);">+ * internally deactivated during locking. Simply</span><br><span style="color: hsl(120, 100%, 40%);">+ * internally restore the old status here.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+ ts->dyn.pchan_is = ts->dyn.pchan_want;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> trx_set_ts(ts);</span><br><span> }</span><br><span> rc = l1if_trx_start_power_ramp(trx, bts_model_chg_adm_state_ramp_compl_cb);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/19374">change 19374</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bts/+/19374"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-bts </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ia3210e24b921fd0c67f77068b7ef4a65f270cd11 </div>
<div style="display:none"> Gerrit-Change-Number: 19374 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>