gdb shows that duplicate messages are sent during the same iteration of osmo_select_main
, but from different places:
DTRX FATAL trx_if.c:268 phy0.0: Enqueue TRXC 'CMD RFMUTE 1'
#0 trx_ctrl_send (l1h=0x5555556b98f0) at trx_if.c:163
#1 0x0000555555563c0e in trx_ctrl_cmd_cb (l1h=0x5555556b98f0, critical=0, cb=0x0, cmd=0x5555555c9682 "RFMUTE", fmt=0x5555555c967e "1") at trx_if.c:274
#2 0x000055555556445a in trx_if_cmd_rfmute (l1h=0x5555556b98f0, mute=true) at trx_if.c:415
#3 0x000055555556866a in bts_model_trx_deact_rf (trx=0x7ffff6b6e070) at l1_if.c:178
#4 0x00005555555a9a56 in st_wait_trx_closed_on_enter (fi=0x555555787ae0, prev_state=1) at bts_shutdown_fsm.c:137
#5 0x00007ffff7be4fe0 in state_chg (fi=0x555555787ae0, new_state=<optimized out>, keep_timer=keep_timer@entry=false, timeout_ms=<optimized out>, T=-2,
file=<optimized out>, line=126) at ../../../../src/libosmocore/src/core/fsm.c:697
#6 0x00007ffff7be5980 in _osmo_fsm_inst_state_chg (fi=<optimized out>, new_state=<optimized out>, timeout_secs=<optimized out>, T=<optimized out>,
file=<optimized out>, line=<optimized out>) at ../../../../src/libosmocore/src/core/fsm.c:746
#7 0x00005555555a99f7 in st_wait_ramp_down_compl (fi=0x555555787ae0, event=1, data=0x7ffff6b6e070) at bts_shutdown_fsm.c:126
#8 0x00007ffff7be5bbc in _osmo_fsm_inst_dispatch (fi=0x555555787ae0, event=1, data=0x7ffff6b6e070, file=0x5555555d4a60 "bts_shutdown_fsm.c", line=82)
at ../../../../src/libosmocore/src/core/fsm.c:875
#9 0x00005555555a9640 in ramp_down_compl_cb (trx=0x7ffff6b6e070) at bts_shutdown_fsm.c:82
#10 0x00005555555a8de1 in power_ramp_do_step (trx=0x7ffff6b6e070, first=0) at tx_power.c:216
#11 0x00005555555a8d85 in power_trx_change_compl (trx=0x7ffff6b6e070, p_trxout_cur_mdBm=-10000) at tx_power.c:206
#12 0x0000555555568578 in l1if_setpower_att_cb (l1h=0x5555556b98f0, power_att_db=60, rc=0) at l1_if.c:150
#13 0x0000555555565131 in trx_ctrl_rx_rsp_setpower (l1h=0x5555556b98f0, rsp=0x7fffffffd7c0) at trx_if.c:619
#14 0x000055555556529e in trx_ctrl_rx_rsp (l1h=0x5555556b98f0, rsp=0x7fffffffd7c0, tcm=0x5555558bd560) at trx_if.c:647
#15 0x0000555555565c3d in trx_ctrl_read_cb (ofd=0x5555556b9910, what=1) at trx_if.c:734
#16 0x00007ffff7bf2980 in poll_disp_fds (n_fd=<optimized out>) at ../../../../src/libosmocore/src/core/select.c:419
#17 _osmo_select_main (polling=<optimized out>) at ../../../../src/libosmocore/src/core/select.c:457
#18 0x00007ffff7bf2a5e in osmo_select_main (polling=<optimized out>) at ../../../../src/libosmocore/src/core/select.c:496
#19 0x00005555555b5462 in bts_main (argc=3, argv=0x7fffffffe088) at main.c:429
#20 0x00005555555627a7 in main (argc=3, argv=0x7fffffffe088) at main.c:196
DTRX FATAL trx_if.c:177 phy0.0: Sending control 'CMD RFMUTE 1' <---- sending 1st time
DTRX FATAL trx_if.c:268 phy0.0: Enqueue TRXC 'CMD POWEROFF'
#0 trx_ctrl_send (l1h=0x5555556b98f0) at trx_if.c:163
#1 0x0000555555565c9e in trx_ctrl_read_cb (ofd=0x5555556b9910, what=1) at trx_if.c:745
#2 0x00007ffff7bf2980 in poll_disp_fds (n_fd=<optimized out>) at ../../../../src/libosmocore/src/core/select.c:419
#3 _osmo_select_main (polling=<optimized out>) at ../../../../src/libosmocore/src/core/select.c:457
#4 0x00007ffff7bf2a5e in osmo_select_main (polling=<optimized out>) at ../../../../src/libosmocore/src/core/select.c:496
#5 0x00005555555b5462 in bts_main (argc=3, argv=0x7fffffffe088) at main.c:429
#6 0x00005555555627a7 in main (argc=3, argv=0x7fffffffe088) at main.c:196
DTRX FATAL trx_if.c:177 phy0.0: Sending control 'CMD RFMUTE 1' <---- sending 2nd time
DTRX FATAL trx_if.c:685 phy0.0: Response message: 'RSP RFMUTE 0 1'
DTRX FATAL trx_if.c:727 phy0.0: Dequeue TRXC 'CMD RFMUTE 1'