Skip to content

[BUG] MDNS with Button (AEGHB-910) #445

@filzek

Description

@filzek

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions