<p><a href="https://gerrit.osmocom.org/c/osmo-bts/+/24513">View Change</a></p><p>2 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c">File src/common/abis.c:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c@130">Patch Set #6, Line 130:</a> <code style="font-family:monospace,monospace">                osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_FAILED, 0, 0);</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">maybe "ABIS_LINK_ST_CONN_DROPPED" would be more meaningful, since it's actually what happens when yo […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">The state ABIS_LINK_ST_FAILED means that the abis link failed finally. This situation here may be a bit special. We can (probably) not simply go to the next BSC when osmo-bts was running with a different one before. I fear that we will get unpredictable behavior then. So if there was an oml/rsl connection before we can not go back to CONNECTING, we go to FAILURE instead which will initiate a shutdown of omso-bts.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-bts/+/24513/6/src/common/abis.c@147">Patch Set #6, Line 147:</a> <code style="font-family:monospace,monospace"> if (!llist_contains(&bts->bsc_oml_hosts, priv->bsc_oml_host))</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">you are potentially accessing already freed memory here, since priv->bsc_oml_host is a pointer point […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">I thought that this would solve the problem. The function llist_contains() goes through the list and tries to find the pointer priv->bsc_oml_host, if it is not in there it has been removed by the VTY, but then we know and we set priv->bsc_oml_host to NULL then. The function llist_contains() does not de-reference priv->bsc_oml_host, it just uses the address for comparison.</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/24513">change 24513</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/+/24513"/><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: I205f68a3a7f35fee4c38a7cfba2b014237df2727 </div>
<div style="display:none"> Gerrit-Change-Number: 24513 </div>
<div style="display:none"> Gerrit-PatchSet: 7 </div>
<div style="display:none"> Gerrit-Owner: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-CC: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-CC: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Comment-Date: Wed, 30 Jun 2021 15:20:34 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: No </div>
<div style="display:none"> Comment-In-Reply-To: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: comment </div>