-
Notifications
You must be signed in to change notification settings - Fork 927
Description
Answers checklist.
- I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
- I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
- I have searched the issue tracker for a similar issue and not found a similar issue.
General issue report
After searching to understand and debug we found out that using mDNS with Button if we use a GPIO 2 thread lock inside mDNS
New SDK 5.3.2 or older does a thread lock in the task while calling mdns_query_ptr, it just halt and lock it.
It happen if yhe Iot solution Button is being used as of espressif/button v3.4.0
it crashes the MDNS when the Button add the GPIO 2, so, if the GPIO 2 is used in button the MDNS jsut halt.
esp_err_t err2 = mdns_query_ptr(service_name, proto, 5000, 100, &results2);
so it keeps inside forever.we found out that the lock occrus on
esp_err_t mdns_query_generic(const char *name, const char *service, const char *proto, uint16_t type, mdns_query_transmission_type_t transmission_type, uint32_t timeout, size_t max_results, mdns_result_t **results)
at:
xSemaphoreTake(search->done_semaphore, portMAX_DELAY);
The behavior only happen if the GPIO2 is used to create the button
GPIO must be pushed to GND in the btn = iot_button_create(&btn_cfg); to create the bug