We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
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
The text was updated successfully, but these errors were encountered:
Could you provide a minimal reproducible code example?
Sorry, something went wrong.
No branches or pull requests
Answers checklist.
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
The text was updated successfully, but these errors were encountered: