Skip to content

continuous crashes on pi 3b+ #332

@JeremiahChurch

Description

@JeremiahChurch

Describe the bug
mqtt-io starts, connects successfully and will accept commands or publish status changes and then will crash and restart on about a 50 second cycle

Expected behavior
mqtt-io stays running

Error messages and traceback

2023-10-05 21:51:56 mqtt_io.server [INFO] Reconnecting to MQTT broker (infinite retries remaining)
2023-10-05 21:51:56 mqtt_io.server [INFO] Connecting to MQTT...
2023-10-05 21:51:56 mqtt_io.server [INFO] Connected to MQTT
2023-10-05 21:52:46 mqtt_io.server [ERROR] Exception in critical task:
Traceback (most recent call last):
  File "/usr/lib/python3.9/asyncio/locks.py", line 226, in wait
    await fut
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
    fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jchurch/ve/lib/python3.9/site-packages/asyncio_mqtt/client.py", line 217, in _wait_for
    return await asyncio.wait_for(*args, **kwargs)
  File "/usr/lib/python3.9/asyncio/tasks.py", line 494, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 32, in inner
    await func(*args, **kwargs)
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 94, in publish
    await self._client.publish(
  File "/home/jchurch/ve/lib/python3.9/site-packages/asyncio_mqtt/client.py", line 136, in publish
    await self._wait_for(confirmation.wait(), timeout=timeout)
  File "/home/jchurch/ve/lib/python3.9/site-packages/asyncio_mqtt/client.py", line 219, in _wait_for
    raise MqttError('Operation timed out')
asyncio_mqtt.error.MqttError: Operation timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/server.py", line 1218, in _main_loop
    await asyncio.gather(*self.critical_tasks)
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/server.py", line 1071, in _mqtt_keep_alive_loop
    await self.mqtt.publish(MQTTMessageSend(
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 34, in inner
    raise MQTTException from exc
mqtt_io.mqtt.MQTTException

Config

mqtt:
  host: 10.10.10.10
  topic_prefix: aircomp
  user: mqtt
  password: 'reallygood'
  client_id: aircomp_pi
  ha_discovery:
    enabled: yes

# GPIO
gpio_modules:
  # Use the Raspberry Pi built-in GPIO
  - name: rpi
    module: raspberrypi

digital_outputs:
  # Pin 4, 22, 6, 26 - relays 1,2,3,4
  - name: primary_pump_enable
    module: rpi
    pin: 4
    ha_discovery:
      component: switch
      name: Air Comp Primary
  - name: secondary_pump_enable
    module: rpi
    pin: 22
  - name: drain_enable
    module: rpi
    pin: 6

Hardware

  • Platform: Raspberry Pi 3b+
  • Connected hardware: generic relay board connected to GPIO pins

System:

  • OS: Raspbian 11
  • Python version: 3.9.2
  • jchurch
  • Using a virtualenv?: yes

Additional context
didn't see any obvious points to check in the stacktrace or existing issues. happy to try anything and everything.

Love the library! <3

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions