https://osmocom.org/https://osmocom.org/favicon.ico?16647414092018-11-27T17:24:03ZOpen Source Mobile CommunicationsOsmoBSC - Bug #3713: osmo-bsc abort()s in ttcn3-bsc-sccplite TC_ho_int testcasehttps://osmocom.org/issues/3713?journal_id=127612018-11-27T17:24:03Zneelsnhofmeyr@sysmocom.de
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Feedback</i></li><li><strong>Assignee</strong> changed from <i>neels</i> to <i>daniel</i></li></ul><p>hmm, the conclusion seems right, but let's first try to find out which conn it is that has no lchan, and whether that makes sense at all.<br />The fact that this testcase alone cannot trigger the failure indicates that some previous test leaves a conn lingering behind.</p>
<p>On branch neels/hack I pushed a patch that might help to find out:</p>
<pre>
commit e92ce3f0c6a03084c9f1037204c94c9a44c37bdd (origin/neels/hack, neels/hack)
Author: Neels Hofmeyr <neels@hofmeyr.de>
Date: Tue Nov 27 18:19:33 2018 +0100
NOT FOR MERGE: try to find out why there is a conn without an lchan
in ttcn3 tests, we currently face a crash where the vty 'handover any' command
assumes all conns have an lchan.
Don't access a NULL lchan.
But first we want to find out why there is a NULL lchan, so log a visible error.
Change-Id: If5909b3890cf3f6327b271e53e458a417cebf73f
diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c
index 983dcb9b3..947ba67df 100644
--- a/src/osmo-bsc/bsc_vty.c
+++ b/src/osmo-bsc/bsc_vty.c
@@ -1665,6 +1665,11 @@ static int ho_or_as(struct vty *vty, const char *argv[], int argc)
/* Find the connection/lchan that we want to handover */
llist_for_each_entry(conn, &net->subscr_conns, entry) {
+ if (!conn->lchan) {
+ LOGP(DHO, LOGL_ERROR, "XXXXX found a conn without an lchan: %s %s\n",
+ osmo_fsm_inst_name(conn->fi), bsc_subscr_name(conn->bsub));
+ continue;
+ }
if (conn_get_bts(conn)->nr == bts_nr &&
conn->lchan->ts->trx->nr == trx_nr &&
conn->lchan->ts->nr == ts_nr && conn->lchan->nr == ss_nr) {
</pre>
<p><a class="user active" href="https://osmocom.org/users/30">daniel</a> can you try to reproduce the problem with this patch applied? Then we might see an error log with XXXXX telling us the FSM instance name of a conn, and hence we might be able to associate that with some earlier logging from osmo-bsc to find out why that conn is still around.</p> OsmoBSC - Bug #3713: osmo-bsc abort()s in ttcn3-bsc-sccplite TC_ho_int testcasehttps://osmocom.org/issues/3713?journal_id=127792018-11-28T17:56:07Zdaniel
<ul><li><strong>File</strong> <a href="/attachments/3464">osmo-bsc.log</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/3464/osmo-bsc.log">osmo-bsc.log</a> added</li><li><strong>File</strong> <a href="/attachments/3466">BSC_Tests.TC_paging_resp_unsol.merged</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/3466/BSC_Tests.TC_paging_resp_unsol.merged">BSC_Tests.TC_paging_resp_unsol.merged</a> added</li><li><strong>File</strong> <a href="/attachments/3465">BSC_Tests.TC_paging_resp_unsol.pcap</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/3465/BSC_Tests.TC_paging_resp_unsol.pcap">BSC_Tests.TC_paging_resp_unsol.pcap</a> added</li><li><strong>Assignee</strong> changed from <i>daniel</i> to <i>neels</i></li></ul><p>With your patch the only failing test is currently TC_paging_resp_unsol:<br />f_expect_chan_rel(): expect_rll_rel_req=true got_rll_rel_req=false</p>
<p>I can see the log message you added:<br /><pre>
Wed Nov 28 14:37:47 2018 DHO <0008> bsc_vty.c:1670 XXXXX found a conn without an lchan: SUBSCR_CONN[0x21d7010] unknown
</pre></p>
<p>Lines 32073 of osmo-bsc.log show where this came from:<br /><pre>
32073 Wed Nov 28 14:36:11 2018 DRSL <0003> osmo_bsc_main.c:283 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 871 using MCC-MNC 001-01 LAC=1 CID=0 32073 BSIC=10
32074 Wed Nov 28 14:36:12 2018 DRSL <0003> abis_rsl.c:1357 (bts=0) CHAN RQD: reason: answer to paging (ra=0x23, neci=0x01, chreq_reason=0x01)
32075 Wed Nov 28 14:36:12 2018 DMSC <0007> fsm.c:299 SUBSCR_CONN[0x21d7010]{INIT}: Allocated
32076 Wed Nov 28 14:36:12 2018 DLCLS <000f> fsm.c:299 LCLS[0x21d7140]{NO_LCLS}: Allocated
32077 Wed Nov 28 14:36:12 2018 DLCLS <000f> fsm.c:329 LCLS[0x21d7140]{NO_LCLS}: is child of SUBSCR_CONN[0x21d7010]
32078 Wed Nov 28 14:36:12 2018 DMSC <0007> gsm_08_08.c:328 Got paged but no subscriber found.
32079 Wed Nov 28 14:36:12 2018 DMSC <0007> gsm_08_08.c:363 Failed to find a MSC for a connection.
32080 Wed Nov 28 14:36:12 2018 DMSC <0007> lchan_fsm.c:1390 SUBSCR_CONN[0x21d7010]{INIT}: lchan lchan(0-0-0-CCCH_SDCCH4-0)[0x21d8a10] detaches from conn
</pre></p>
<p>The failing test TC_paging_resp_unsol seems to be responsible for the that.</p> OsmoBSC - Bug #3713: osmo-bsc abort()s in ttcn3-bsc-sccplite TC_ho_int testcasehttps://osmocom.org/issues/3713?journal_id=143622019-05-09T00:24:49Zneelsnhofmeyr@sysmocom.de
<ul></ul><p>It seems I have forgotten about this issue; all I know is that currently this test passes for osmo-bsc master</p> OsmoBSC - Bug #3713: osmo-bsc abort()s in ttcn3-bsc-sccplite TC_ho_int testcasehttps://osmocom.org/issues/3713?journal_id=143632019-05-09T00:25:04Zneelsnhofmeyr@sysmocom.de
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul>