Mwan3 interface ($ACTION) stuck in disconnecting or connecting state

Running OpenWrt 22.03.2 r19803-9a599fee93 on a Sophos SG-135r1 x86_64. Between the first event at the bottom and the second I upgraded mwan3 to mwan3_2.11.7-1_all.ipk, but the behavior seems the same. I searched for a while but didn't find anything I'd consider realted.

On a few occasions now I've noticed the logs and the /etc/mwan3.user Notify script fire an event for disconnecting on ping failure, and then connecting as it starts pinging again, but then stay in one of those states. I'd expect once the interface score exceeds the up value it would go back to connected, but it stays at the last gerund-verb state.

I think the answer might just be to ignore the disconnecting and connecting $ACTIONs. It is kind of nice to see the timing between when an interface comes up and when it starts detecting successful pings, but I'd sacrifice that extra detail for reliable connected state information.

For example around midnight local time:

Sat Jun 17 00:00:23 2023 user.info mwan3track[8896]: Check (ping) failed for target "8.8.4.4" on interface wanb (pppoe-wanb). Current score: 10
Sat Jun 17 00:00:27 2023 user.info mwan3track[8896]: Check (ping) failed for target "8.8.8.8" on interface wanb (pppoe-wanb). Current score: 10
Sat Jun 17 00:00:31 2023 user.info mwan3track[8896]: Check (ping) failed for target "208.67.222.222" on interface wanb (pppoe-wanb). Current score: 10
Sat Jun 17 00:00:35 2023 user.info mwan3track[8896]: Check (ping) failed for target "208.67.220.220" on interface wanb (pppoe-wanb). Current score: 10
Sat Jun 17 00:00:35 2023 user.notice mwan3track[8896]: Interface wanb (pppoe-wanb) is disconnecting
Sat Jun 17 00:00:40 2023 user.info mwan3track[8896]: Lost 4 ping(s) on interface wanb (pppoe-wanb). Current score: 9
Sat Jun 17 00:36:34 2023 user.info mwan3track[8896]: Check (ping) failed for target "8.8.4.4" on interface wanb (pppoe-wanb). Current score: 10
Sat Jun 17 00:36:38 2023 user.info mwan3track[8896]: Check (ping) failed for target "8.8.8.8" on interface wanb (pppoe-wanb). Current score: 10
Sat Jun 17 00:37:02 2023 user.info mwan3track[8896]: Check (ping) failed for target "8.8.4.4" on interface wanb (pppoe-wanb). Current score: 10
Sat Jun 17 00:37:06 2023 user.info mwan3track[8896]: Check (ping) failed for target "8.8.8.8" on interface wanb (pppoe-wanb). Current score: 10

/etc/mwan3.user fired this $INTERFACE - $ACTION

Sat Jun 17 00:00:35 EDT 2023
home/wanb/status - disconnecting

mwan3 interfaces shows wanb as online

# mwan3 interfaces
Interface status:
 interface wan is offline and tracking is paused
 interface wan6 is offline and tracking is down
 interface wanb is online 11h:35m:06s, uptime 24h:23m:39s and tracking is active
 interface wanb6 is offline and tracking is down

This is what it looks like in Home Assastant, longer description below.
image

The time before this was left in a connecting state:

Fri Jun 16 20:31:53 2023 user.info mwan3track[25738]: Check (ping) failed for target "208.67.222.222" on interface wan (eth1). Current score: 13
Fri Jun 16 20:32:14 2023 user.info mwan3track[25738]: Check (ping) failed for target "208.67.222.222" on interface wan (eth1). Current score: 13
Fri Jun 16 20:37:17 2023 user.info mwan3track[25738]: Check (ping) failed for target "8.8.8.8" on interface wan (eth1). Current score: 13
Fri Jun 16 20:37:18 2023 user.info mwan3track[25738]: Check (ping) failed for target "1.1.1.1" on interface wan (eth1). Current score: 13
Fri Jun 16 20:37:18 2023 user.notice mwan3track[25738]: Interface wan (eth1) is disconnecting
Fri Jun 16 20:37:21 2023 user.notice mwan3track[25738]: Interface wan (eth1) is connecting
Fri Jun 16 20:37:21 2023 user.info mwan3track[25738]: Lost 2 ping(s) on interface wan (eth1). Current score: 12
Fri Jun 16 20:37:53 2023 user.info mwan3track[25738]: Check (ping) failed for target "208.67.222.222" on interface wan (eth1). Current score: 13
Fri Jun 16 20:42:16 2023 user.info mwan3track[25738]: Check (ping) failed for target "8.8.8.8" on interface wan (eth1). Current score: 13
Fri Jun 16 20:47:29 2023 user.info mwan3track[25738]: Check (ping) failed for target "8.8.8.8" on interface wan (eth1). Current score: 13
Fri Jun 16 20:47:30 2023 user.info mwan3track[25738]: Check (ping) failed for target "208.67.222.222" on interface wan (eth1). Current score: 13
Fri Jun 16 20:47:30 2023 user.notice mwan3track[25738]: Interface wan (eth1) is disconnecting
Fri Jun 16 20:47:34 2023 user.notice mwan3track[25738]: Interface wan (eth1) is connecting
Fri Jun 16 20:47:34 2023 user.info mwan3track[25738]: Lost 2 ping(s) on interface wan (eth1). Current score: 12
Fri Jun 16 20:47:45 2023 user.info mwan3track[25738]: Check (ping) failed for target "8.8.8.8" on interface wan (eth1). Current score: 13
Fri Jun 16 20:49:06 2023 user.info mwan3track[25738]: Check (ping) failed for target "8.8.8.8" on interface wan (eth1). Current score: 13
Fri Jun 16 20:49:07 2023 user.info mwan3track[25738]: Check (ping) failed for target "1.1.1.1" on interface wan (eth1). Current score: 13
Fri Jun 16 20:49:07 2023 user.notice mwan3track[25738]: Interface wan (eth1) is disconnecting
Fri Jun 16 20:49:10 2023 user.notice mwan3track[25738]: Interface wan (eth1) is connecting
Fri Jun 16 20:49:11 2023 user.info mwan3track[25738]: Lost 2 ping(s) on interface wan (eth1). Current score: 12
Fri Jun 16 20:56:45 2023 user.info mwan3track[25738]: Check (ping) failed for target "208.67.222.222" on interface wan (eth1). Current score: 13
Fri Jun 16 20:58:07 2023 user.info mwan3track[25738]: Check (ping) failed for target "8.8.8.8" on interface wan (eth1). Current score: 13

mwan3 interfaces show online

# mwan3 interfaces
Interface status:
 interface wan is online 06h:11m:22s, uptime 06h:14m:32s and tracking is active
 interface wan6 is disabled and tracking is down
 interface wanb is online 11h:40m:12s, uptime 12h:38m:18s and tracking is active
 interface wanb6 is offline and tracking is down

On a whim I made an arbitrary change to the mwan3 config and saved it. This caused it to reload(?) the config. Even though the interface is listed as "online" mwan3track internally lists the interface as "connecting":

Fri Jun 16 21:35:50 2023 user.notice mwan3track[25739]: Stopping mwan3track for interface "wanb". Status was "online"
Fri Jun 16 21:35:50 2023 user.notice mwan3track[25738]: Stopping mwan3track for interface "wan". Status was "connecting"
Fri Jun 16 21:35:50 2023 user.notice mwan3-hotplug[1714]: Execute ifup event on interface wan (eth1)
Fri Jun 16 21:35:50 2023 user.notice mwan3-hotplug[1721]: mwan3 hotplug on wan6 not called because interface disabled
Fri Jun 16 21:35:50 2023 user.notice mwan3-hotplug[1730]: Execute ifup event on interface wanb (pppoe-wanb)
Fri Jun 16 21:35:50 2023 user.warn mwan3-init[1417]: invalid ipv6 address 192.168.42.219 specified for rule pixel_7_dsl
Fri Jun 16 21:35:51 2023 user.notice mwan3track[2245]: Interface wanb (pppoe-wanb) is online
Fri Jun 16 21:35:51 2023 user.info mwan3track[2244]: Check (ping) success for target "8.8.8.8" on interface wan (eth1). Current score: 0
Fri Jun 16 21:35:51 2023 user.info mwan3track[2244]: Check (ping) success for target "208.67.222.222" on interface wan (eth1). Current score: 0
Fri Jun 16 21:35:51 2023 user.notice mwan3track[2244]: Interface wan (eth1) is connecting
Fri Jun 16 21:36:01 2023 user.info mwan3track[2244]: Check (ping) success for target "8.8.8.8" on interface wan (eth1). Current score: 1
Fri Jun 16 21:36:01 2023 user.info mwan3track[2244]: Check (ping) success for target "208.67.222.222" on interface wan (eth1). Current score: 1

I've been using mwan3 for almost a year to add Starlink (wan) to my existing 25/2 Mbit (wanb) DSL connection. After a few basic hurdles, mostly relating to Starlink's private IP assignment even when the internet is down, it's been working pretty seamlessly. I've just started using the notify script to fire events via MQTT to show the interface states in Home Assistant to help automate some more advanced scheduling to save power.