Skip to content

rare crashes with AsyncTCP 3.4.3 and 3.4.4 when there is other IP communication running #74

@MichaelDvP

Description

@MichaelDvP

IDE / Tooling

PlatformIO

What happened?

Running the project https://github.com/emsesp/EMS-ESP32 with asyncTCP/asyncWebSever (latest) and espMqttClient (https://github.com/bertmelis/espMqttClient) crashes randomly after some hours or some ten hours. Going back to AsyncTCP 3.4.2 it is stable.
IP communication is:

  • asyncTCP/AsyncWebServer with every 15 sec getting 9 GET requests and reply each with a json (~4k).
  • espMqttClient running in own task with every 10 sec 12 mqtt publishes, json ~ 4k
  • syslog in arduino task, sending UDP packages every few seconds
  • ntp UDP packages once a hour, running in arduino task
  • all communication IPv4 in the local network 192.168.x.x, no dns calls

AsyncWebserver is stable when no oher service is enabled.
If i set asyncTCP to core 0, all the others (arduino and mqtt) to core 1 it is also stable (since 3 days now).

Seems to me that the new queue introduced in 3.4.3 sometimes conflicts with other lwip calls on the same core.

related issue in ems-esp: emsesp/EMS-ESP32#2581

Platform: espressif32@6.11.0 ; Arduino Core 2.0.17 / IDF 4.4.7
AsyncTCP 3.4.4
AsyncWebServer 4.7.8
espMqttClient 1.7.0
ArduinoJson 7.4.1
esp32 with PSRAM, all stack sizes checked (watermark)

Stack Trace

Sorry, difficult to catch.

Minimal Reproductible Example (MRE)

Very difficult to reproduce, it happens randomly in large time scale.

I confirm that:

  • I have read the documentation.
  • I have searched for similar discussions.
  • I have searched for similar issues.
  • I have looked at the examples.
  • I have upgraded to the lasted version of AsyncTCP.

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