https://osmocom.org/https://osmocom.org/favicon.ico?16647414092021-07-12T13:51:10ZOpen Source Mobile CommunicationsOsmoMSC - Bug #5196: Verify several "event not permitted" log lines in unit testshttps://osmocom.org/issues/5196?journal_id=223852021-07-12T13:51:10Zneelsnhofmeyr@sysmocom.de
<ul></ul><p>My two cents: often I design the FSMs with the possibility in mind that some<br />events may arrive "out of sequence", like a trivial message received or a<br />sister FSM notification that doesn't matter anymore/yet in some FSM states.<br />Instead of weaving those into all the FSM states' permitted events and ignoring<br />them, i do sometimes simply not bother. Hence we get those "event not<br />permitted" logs, but no harm done really. Except confused users, which does<br />seem to happen more often than not. So it's not critical, but it would still be<br />good to remove that noise from the ERROR log.</p>
<p>Design wise I think it would be nice if osmo_fsm had a separate category for<br />ignored events per each state definition. That way we don't need to list<br />ignored events in every state action function, osmo_fsm would internally handle<br />aka ignore those. It would be immediately visible which events are really,<br />productively expected in a state, and which events are just there to silence<br />error messages. There could also be an allstate list of events to omit the "not<br />permitted" logging for, all across that FSM. (Maybe it would even suffice to<br />only have such an allstate list, instead of individual lists per state?)</p> OsmoMSC - Bug #5196: Verify several "event not permitted" log lines in unit testshttps://osmocom.org/issues/5196?journal_id=247182022-08-23T16:08:39Zneelsnhofmeyr@sysmocom.de
<ul></ul><p>judging by osmo-msc.git, this is still unresolved</p>
<pre>
rgrep "Event .* not permitted"
tests/msc_vlr/msc_vlr_test_ms_timeout.err:813:DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_WAIT_CLASSMARK_UPDATE}: Event MSC_A_EV_UNUSED not permitted
tests/msc_vlr/msc_vlr_test_gsm_authen.err:59:DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Event VLR_ULA_E_HLR_LU_RES not permitted
tests/msc_vlr/msc_vlr_test_gsm_authen.err:648:DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Event VLR_ULA_E_HLR_LU_RES not permitted
tests/msc_vlr/msc_vlr_test_gsm_authen.err:1479:DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Event VLR_ULA_E_HLR_LU_RES not permitted
tests/msc_vlr/msc_vlr_test_gsm_authen.err:1792:DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Event VLR_ULA_E_HLR_LU_RES not permitted
tests/msc_vlr/msc_vlr_test_gsm_authen.err:2057:DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Event VLR_ULA_E_HLR_LU_RES not permitted
tests/msc_vlr/msc_vlr_test_gsm_authen.err:2323:DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Event VLR_ULA_E_HLR_LU_RES not permitted
tests/msc_vlr/msc_vlr_test_gsm_authen.err:3241:DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: Event VLR_ULA_E_HLR_LU_RES not permitted
</pre>