https://projects.osmocom.org/https://projects.osmocom.org/favicon.ico?16647414092018-02-13T11:12:32ZOpen Source Mobile CommunicationsOsmoBSC - Bug #2939: TTCN3: Fix broken paging testshttps://projects.osmocom.org/issues/2939?journal_id=76112018-02-13T11:12:32Zdexter
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Feedback</i></li><li><strong>Assignee</strong> changed from <i>dexter</i> to <i>stsp</i></li></ul> OsmoBSC - Bug #2939: TTCN3: Fix broken paging testshttps://projects.osmocom.org/issues/2939?journal_id=76132018-02-13T11:50:56Zstsp
<ul><li><strong>File</strong> <a href="/attachments/2931">osmo-bsc.cfg</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/2931/osmo-bsc.cfg">osmo-bsc.cfg</a> added</li></ul><p>The tests are passing for me. I am attaching my osmo-bsc.cfg so you can check if it matches your test setup.</p> OsmoBSC - Bug #2939: TTCN3: Fix broken paging testshttps://projects.osmocom.org/issues/2939?journal_id=76752018-02-18T21:41:14Zlaforge
<ul><li><strong>Assignee</strong> changed from <i>stsp</i> to <i>dexter</i></li></ul> OsmoBSC - Bug #2939: TTCN3: Fix broken paging testshttps://projects.osmocom.org/issues/2939?journal_id=76952018-02-19T20:34:19Zdexter
<ul></ul><p>Aktueller Status:</p>
<pre>
#BSC_Tests.TC_paging_imsi_nochan #Pass
#BSC_Tests.TC_paging_tmsi_nochan #Error
#BSC_Tests.TC_paging_tmsi_any #Fail
#BSC_Tests.TC_paging_tmsi_sdcch #Fail
#BSC_Tests.TC_paging_tmsi_tch_f #Fail
#BSC_Tests.TC_paging_tmsi_tch_hf #Fail
#BSC_Tests.TC_paging_imsi_nochan_cgi #Pass
#BSC_Tests.TC_paging_imsi_nochan_lac_ci #Pass
#BSC_Tests.TC_paging_imsi_nochan_ci #Pass
#BSC_Tests.TC_paging_imsi_nochan_lai #Pass
#BSC_Tests.TC_paging_imsi_nochan_lac #Pass
#BSC_Tests.TC_paging_imsi_nochan_all #Pass
#BSC_Tests.TC_paging_imsi_nochan_plmn_lac_rnc #Pass
#BSC_Tests.TC_paging_imsi_nochan_rnc #Pass
#BSC_Tests.TC_paging_imsi_nochan_lac_rnc #Pass
#BSC_Tests.TC_paging_imsi_nochan_lacs #Pass
#BSC_Tests.TC_paging_imsi_nochan_lacs_empty #Pass
#BSC_Tests.TC_paging_imsi_a_reset #Fail
#BSC_Tests.TC_paging_imsi_load #Fail
#BSC_Tests.TC_paging_counter #Fail
</pre>
<p>The case statement at the bottom of src/osmo-bsc/osmo_bsc_bssap.c:bssmap_handle_paging() seems to be problematic. In case of CELL_IDENT_NO_CELL the request is dropped but according to TC_paging_tmsi_nochan it should trigger a paging anyway, while at the same time TC_paging_imsi_nochan is expected to trigger no paging at all. The TMSI field is not mandatory, I do not get why this is an illegal case.</p>
<p>I have checked what happens on BSSMAP reset. Ongoing paging requests are indeed stopped. In osmo_bsc_bssmap.c:bssmap_handle_reset() paging_flush_network() is called.</p>
<p>Unfortunately my TTCN3 testsuit broke today for unknown reason.</p> OsmoBSC - Bug #2939: TTCN3: Fix broken paging testshttps://projects.osmocom.org/issues/2939?journal_id=78872018-02-26T21:28:55Zdexter
<ul><li><strong>File</strong> <a href="/attachments/2976">result.log</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/2976/result.log">result.log</a> added</li></ul><p>The TTCN3 testsuit runs fine at the moment. This is what I get at the moment:</p>
<pre>
#BSC_Tests.TC_paging_imsi_nochan #Pass
#BSC_Tests.TC_paging_tmsi_nochan #Pass
#BSC_Tests.TC_paging_tmsi_any #Pass
#BSC_Tests.TC_paging_tmsi_sdcch #Pass
#BSC_Tests.TC_paging_tmsi_tch_f #Pass
#BSC_Tests.TC_paging_tmsi_tch_hf #Pass
#BSC_Tests.TC_paging_imsi_nochan_cgi #Pass
#BSC_Tests.TC_paging_imsi_nochan_lac_ci #Pass
#BSC_Tests.TC_paging_imsi_nochan_ci #Pass
#BSC_Tests.TC_paging_imsi_nochan_lai #Pass
#BSC_Tests.TC_paging_imsi_nochan_lac #Pass
#BSC_Tests.TC_paging_imsi_nochan_all #Pass
#BSC_Tests.TC_paging_imsi_nochan_plmn_lac_rnc #Pass
#BSC_Tests.TC_paging_imsi_nochan_rnc #Pass
#BSC_Tests.TC_paging_imsi_nochan_lac_rnc #Pass
#BSC_Tests.TC_paging_imsi_nochan_lacs #Pass
#BSC_Tests.TC_paging_imsi_nochan_lacs_empty #Pass
#BSC_Tests.TC_paging_imsi_a_reset #Pass
#BSC_Tests.TC_paging_imsi_load #Fail
#BSC_Tests.TC_paging_counter #Pass
</pre>
<p>Unfortunately this is an optimistic view, we still have the problem that some tests fail when executed shortly one after another. I get the following strange error message on the TTCN3 output:<br /><pre>
IPA0-RSL-IPA(42)@lobotron: Dynamic test case error: Port IPA_RSL_PORT has neither connections nor mappings. Message cannot be sent on it. (Operation now in progress)
</pre></p>
<p>(I have attached the full log to this ticket)</p>
<p>The following patches related to paging are still in review:<br /><a class="external" href="https://gerrit.osmocom.org/#/c/6860/">https://gerrit.osmocom.org/#/c/6860/</a><br /><a class="external" href="https://gerrit.osmocom.org/#/c/6848/">https://gerrit.osmocom.org/#/c/6848/</a></p> OsmoBSC - Bug #2939: TTCN3: Fix broken paging testshttps://projects.osmocom.org/issues/2939?journal_id=80322018-03-05T17:31:44Zdexter
<ul></ul><p>From the debugging perspective there is only TC_paging_imsi_load left now. The problem here is that the BSC happily continues to send paging requets, even when the BTS sends paging channel load messages. So far this is a real bug and not a problem with the testsuit.</p>
<p>The testsuit still suffers from intermittent failurs. The source of the problem are race conditions inside the testsuit. We thought there were some simple best practice to resolve this, but apparently there is not. To resolve this we need to build up some synchronization logic that goes though the whole testsuit. (see also <a class="external" href="https://www.eclipse.org/forums/index.php/t/1091986/">https://www.eclipse.org/forums/index.php/t/1091986/</a>)</p>
<p>I personally think we should rollback to the shutdown function we had before:</p>
<pre>
private function f_shutdown_helper() runs on test_CT {
var integer i;
/* Make sure all IPA_Emulation instances are stopped */
for (i := 0; i < sizeof(bts); i := i + 1) {
bts[i].rsl.vc_IPA.stop;
}
/* Make sure the Osmocom_CTRL_Adapter is stopped */
vc_CTRL_IPA.stop;
setverdict(pass);
}
</pre>
<p>This one seemed to make the tests more stable than the approach with all port.stop;</p> OsmoBSC - Bug #2939: TTCN3: Fix broken paging testshttps://projects.osmocom.org/issues/2939?journal_id=80352018-03-05T18:10:16Zlaforge
<ul></ul><p>On Mon, Mar 05, 2018 at 05:31:44PM +0000, dexter [REDMINE] wrote:</p>
<blockquote>
<p>I personally think we should rollback to the shutdown function we had before:</p>
</blockquote>
<p>works for me. One can also stop other "outside-facing" components at the same time,<br />too. I think the number of messages generated inside the components <em>without</em> an external<br />message arriving is quite low (e.g. SCCP timer expiration), and hence the chance of<br />races low. So if we stop all components that deal with outside TCP/IP/SCTP connections (IPA,<br />GSUP, GTP, M3UA, ...) first we should be on the safe side.</p> OsmoBSC - Bug #2939: TTCN3: Fix broken paging testshttps://projects.osmocom.org/issues/2939?journal_id=83042018-03-17T20:46:18Zlaforge
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Resolved</i></li><li><strong>Assignee</strong> changed from <i>dexter</i> to <i>laforge</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>the shutdown function has been extended to stop CTRL and all RSL components after which the paging tests work more reliably. The related Change-Id is I23932927bd6bb9b5e447acbeafc2748a77513a0d</p>