Skip to content

[Bug]: MQTT on Large Topics Locks App Processes and Radio. #9674

@djblueshift

Description

@djblueshift

Category

Other

Hardware

Heltec V3

Is this bug report about any UI component firmware like InkHUD or Meshtatic UI (MUI)?

  • Meshtastic UI aka MUI colorTFT
  • InkHUD ePaper
  • OLED slide UI on any display

Firmware Version

2.7.19.bb3d6d5 and earlier

Description

When MQTT is active on a large region eg "msh/US", devices lock up due to receiving and trying to decode an endless stream of incoming packets that have no matching channel/PSK on the node.
I understand WHY this happens but when this happens, i can no longer access any settings (no way to turn MQTT off) on the app (nor can the node send RF messages out) as it is tied up trying to decode undecodable packets. The only fix is a reflash or disabling MQTT via CLI.

Some thoughts on possible resolution,
-detect that a lot of undecodable packets are incoming and rate limit past a certain point so app commands can get through and process
-maybe a notification advising the user that this is due to a large MQTT root topic being set
-MQTT on/off menu option on node itself?

Relevant log output

INFO | 00:04:29 278 [NimbleBluetooth] Received MQTT topic msh/US/2/e/LongFast/!b7158542, len=50

WARN | 00:04:29 278 [NimbleBluetooth] No suitable channel found for decoding, hash was 0x0!

DEBUG | 00:04:29 278 [NimbleBluetooth] NimbleBluetooth: handling ToRadio packet, fromPhoneQueueSize=1

DEBUG | 00:04:29 278 [NimbleBluetooth] Got MqttClientProxy message

INFO | 00:04:29 278 [NimbleBluetooth] Received MQTT topic msh/US/2/e/LongFast/!e73e97e9, len=50

WARN | 00:04:29 278 [NimbleBluetooth] No suitable channel found for decoding, hash was 0x0!

DEBUG | 00:04:29 279 [NimbleBluetooth] NimbleBluetooth: handling ToRadio packet, fromPhoneQueueSize=1

DEBUG | 00:04:29 279 [NimbleBluetooth] Got MqttClientProxy message

INFO | 00:04:29 279 [NimbleBluetooth] Received MQTT topic msh/US/2/e/LongFast/!5fc4f0eb, len=50

WARN | 00:04:29 279 [NimbleBluetooth] No suitable channel found for decoding, hash was 0x0!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions