Skip to content

Setzen von Geräteparametern bei virtuellen MQTT-Geräten verursacht einen Hänger #203

@mdzio

Description

@mdzio

Unter bestimmten Voraussetzungen bleiben Teile vom CCU-Jack und dadurch auch Teile der Logikschicht der CCU hängen, wenn ein Kanalparameter gesetzt wird:

  • Es muss sich um ein virtuelles MQTT-Gerät handeln.
  • Auf dem abonnierten Topic muss bereits eine Nachricht mit gesetztem Retain-Flag gesendet worden sein.

Der Fehler betrifft die Versionen 2.11.0, 2.11.1 und 2.11.2.

Entwicklernotiz:
Mit der Änderung der Abhängigkeit go-mqtt von v1.0.0 auf v1.0.1 wird die Callback-Funktion für die abonnierten Topics noch in der Subscribe-Funktion aufgerufen, wenn bereits Nachrichten mit gesetztem Retained-Flag vorliegen. Dies verursacht einen Deadlock, da der Kanal für das Ändern der Kanalparameter bereits gesperrt ist, und zeitgleich ein Callback für die Wertänderung des Kanal diesen ebenfalls sperren will.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions