Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

esp_mqtt_client_stop waits indefinitely (IDFGH-3710) #163

Closed
AshUK opened this issue Jul 24, 2020 · 1 comment
Closed

esp_mqtt_client_stop waits indefinitely (IDFGH-3710) #163

AshUK opened this issue Jul 24, 2020 · 1 comment

Comments

@AshUK
Copy link

AshUK commented Jul 24, 2020

Calling esp_mqtt_client_stop inside an MQTT eventloop handle causes the event loop to block.

Its useful to be able to stop and destroy an mqtt instance after a certain event. The work around for now is to notify another task from the MQTT event loop of an event and then call esp_mqtt_client_stop from there.

@github-actions github-actions bot changed the title esp_mqtt_client_stop waits indefinitely esp_mqtt_client_stop waits indefinitely (IDFGH-3710) Jul 24, 2020
@ESP-Marius
Copy link
Contributor

Hi @AshUK

I agree that ideally we should be able to call these functions from the event handler. Unfortunately not being able to call stop/destroy functions like this is a limitation for several of components that uses event handlers.

For now we can at least update our documentation to reflect this and implement a check to stop it from deadlocking.

Thanks for reporting this.

espressif-bot pushed a commit to espressif/esp-idf that referenced this issue Sep 10, 2020
SSL: add config option for skipping common name check
esp-mqtt commit: espressif/esp-mqtt@5e8950e)
Closes espressif/esp-mqtt#158

SSL: add support for tls with secure element (ATECC608A)
esp-mqtt commit: espressif/esp-mqtt@a7ff9af)
Closes espressif/esp-mqtt#156

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: espressif/esp-mqtt@40b06de)
Closes espressif/esp-mqtt#161

Config: Add check for consistency between config settings
esp-mqtt commit: espressif/esp-mqtt@8a412c1)

Add IDF version check for secure element feature
esp-mqtt commit: espressif/esp-mqtt@db4bce0)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: espressif/esp-mqtt@5e17dca)
Closes espressif/esp-mqtt#163

Add dispatch error event for read errors
esp-mqtt commit: espressif/esp-mqtt@d4aaec0
Closes #5704

Cleanup expired messages when offline
esp-mqtt commit: espressif/esp-mqtt@bdadd77
Closes #5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: espressif/esp-mqtt@f7325bf
espressif-bot pushed a commit to espressif/esp-idf that referenced this issue Sep 16, 2020
SSL: add config option for skipping common name check
esp-mqtt commit: espressif/esp-mqtt@5e8950e)
Closes espressif/esp-mqtt#158

SSL: add support for tls with secure element (ATECC608A)
esp-mqtt commit: espressif/esp-mqtt@a7ff9af)
Closes espressif/esp-mqtt#156

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: espressif/esp-mqtt@40b06de)
Closes espressif/esp-mqtt#161

Config: Add check for consistency between config settings
esp-mqtt commit: espressif/esp-mqtt@8a412c1)

Add IDF version check for secure element feature
esp-mqtt commit: espressif/esp-mqtt@db4bce0)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: espressif/esp-mqtt@5e17dca)
Closes espressif/esp-mqtt#163

Add dispatch error event for read errors
esp-mqtt commit: espressif/esp-mqtt@d4aaec0
Closes #5704

Cleanup expired messages when offline
esp-mqtt commit: espressif/esp-mqtt@bdadd77
Closes #5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: espressif/esp-mqtt@f7325bf

Add support for Digital Signature through ESP-TLS
esp-mqtt commit: espressif/esp-mqtt@7d8e59d
espressif-bot pushed a commit to espressif/esp-idf that referenced this issue Sep 22, 2020
SSL: add config option for skipping common name check
esp-mqtt commit: espressif/esp-mqtt@5e8950e)
Closes espressif/esp-mqtt#158

SSL: add support for tls with secure element (ATECC608A)
esp-mqtt commit: espressif/esp-mqtt@a7ff9af)
Closes espressif/esp-mqtt#156

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: espressif/esp-mqtt@40b06de)
Closes espressif/esp-mqtt#161

Config: Add check for consistency between config settings
esp-mqtt commit: espressif/esp-mqtt@8a412c1)

Add IDF version check for secure element feature
esp-mqtt commit: espressif/esp-mqtt@db4bce0)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: espressif/esp-mqtt@5e17dca)
Closes espressif/esp-mqtt#163

Add dispatch error event for read errors
esp-mqtt commit: espressif/esp-mqtt@d4aaec0
Closes #5704

Cleanup expired messages when offline
esp-mqtt commit: espressif/esp-mqtt@bdadd77
Closes #5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: espressif/esp-mqtt@f7325bf
espressif-bot pushed a commit to espressif/esp-idf that referenced this issue Oct 30, 2020
SSL: add config option for skipping common name check
esp-mqtt commit: espressif/esp-mqtt@5e8950e)
Closes espressif/esp-mqtt#158

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: espressif/esp-mqtt@40b06de)
Closes espressif/esp-mqtt#161

Config: Add check for consistency between config settings
esp-mqtt commit: espressif/esp-mqtt@8a412c1)

Add IDF version check for secure element feature
esp-mqtt commit: espressif/esp-mqtt@db4bce0)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: espressif/esp-mqtt@5e17dca)
Closes espressif/esp-mqtt#163

Add dispatch error event for read errors
esp-mqtt commit: espressif/esp-mqtt@d4aaec0
Closes #5704

Cleanup expired messages when offline
esp-mqtt commit: espressif/esp-mqtt@bdadd77
Closes #5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: espressif/esp-mqtt@f7325bf
espressif-bot pushed a commit to espressif/esp-idf that referenced this issue Nov 10, 2020
SSL: add config option for skipping common name check
esp-mqtt commit: espressif/esp-mqtt@5e8950e)
Closes espressif/esp-mqtt#158

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: espressif/esp-mqtt@40b06de)
Closes espressif/esp-mqtt#161

Config: Add check for consistency between config settings
esp-mqtt commit: espressif/esp-mqtt@8a412c1)

Add IDF version check for secure element feature
esp-mqtt commit: espressif/esp-mqtt@db4bce0)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: espressif/esp-mqtt@5e17dca)
Closes espressif/esp-mqtt#163

Add dispatch error event for read errors
esp-mqtt commit: espressif/esp-mqtt@d4aaec0
Closes #5704

Cleanup expired messages when offline
esp-mqtt commit: espressif/esp-mqtt@bdadd77
Closes #5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: espressif/esp-mqtt@f7325bf
david-cermak pushed a commit that referenced this issue Dec 16, 2022
SSL: add config option for skipping common name check
esp-mqtt commit: 5e8950e)
Closes #158

SSL: add support for tls with secure element (ATECC608A)
esp-mqtt commit: a7ff9af)
Closes #156

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: 40b06de)
Closes #161

Config: Add check for consistency between config settings
esp-mqtt commit: 8a412c1)

Add IDF version check for secure element feature
esp-mqtt commit: db4bce0)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: 5e17dca)
Closes #163

Add dispatch error event for read errors
esp-mqtt commit: d4aaec0
Closes espressif/esp-idf#5704

Cleanup expired messages when offline
esp-mqtt commit: bdadd77
Closes espressif/esp-idf#5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: f7325bf

Add support for Digital Signature through ESP-TLS
esp-mqtt commit: 7d8e59d
egnor pushed a commit to egnor/esp-mqtt that referenced this issue Dec 23, 2022
SSL: add config option for skipping common name check
esp-mqtt commit: espressif@5e8950e)
Closes espressif#158

SSL: add support for tls with secure element (ATECC608A)
esp-mqtt commit: espressif@a7ff9af)
Closes espressif#156

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: espressif@40b06de)
Closes espressif#161

Config: Add check for consistency between config settings
esp-mqtt commit: espressif@8a412c1)

Add IDF version check for secure element feature
esp-mqtt commit: espressif@db4bce0)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: espressif@5e17dca)
Closes espressif#163

Add dispatch error event for read errors
esp-mqtt commit: espressif@d4aaec0
Closes espressif/esp-idf#5704

Cleanup expired messages when offline
esp-mqtt commit: espressif@bdadd77
Closes espressif/esp-idf#5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: espressif@f7325bf

Add support for Digital Signature through ESP-TLS
esp-mqtt commit: espressif@7d8e59d
egnor pushed a commit to egnor/esp-mqtt that referenced this issue Dec 23, 2022
SSL: add config option for skipping common name check
esp-mqtt commit: espressif@5e8950e)
Closes espressif#158

SSL: add support for tls with secure element (ATECC608A)
esp-mqtt commit: espressif@a7ff9af)
Closes espressif#156

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: espressif@40b06de)
Closes espressif#161

Config: Add check for consistency between config settings
esp-mqtt commit: espressif@8a412c1)

Add IDF version check for secure element feature
esp-mqtt commit: espressif@db4bce0)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: espressif@5e17dca)
Closes espressif#163

Add dispatch error event for read errors
esp-mqtt commit: espressif@d4aaec0
Closes espressif/esp-idf#5704

Cleanup expired messages when offline
esp-mqtt commit: espressif@bdadd77
Closes espressif/esp-idf#5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: espressif@f7325bf

Add support for Digital Signature through ESP-TLS
esp-mqtt commit: espressif@7d8e59d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants