Closed menesesleonardo closed 5 years ago
It seems that you are facing heap corruption. A2=0x0a0d3937 was supposed to be a valid pointer, but in fact it looks like the end of a string buffer (0x37 0x39 CR LF), and it has overwritten part of the mutex structure. So I would say that somewhere in your application you are writing more data into a buffer than its size.
Please check the following section of the programming guide, it may help you debug such an issue. https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/system/heap_debug.html#finding-heap-corruption
After 24hrs+ working I can say that solved it. Thanks a lot!
Environment
Problem Description
My application uses UART 1 to connect to a GSM module (simcom sim800l). This connection has the following configuration: -Bdr: 115200 -8bits -no parity -1bit stop -hw control disable
When connection is made, time is updated via SNTP protocol and the device is connected to an MQTT broker. Until this part everything works fine (72hrs+).
however, the problem comes when a second UART interface is created to communicate with a GPS module with this configuration -Bdr: 9600 -8bits -no parity -1bit stop -hw control disable
continously, the time is requested and eventually (around 5min), an assertion is failed when MQTT task calls gettimeofday function.
MQTT task has nothing to do because I tried making a loop of requesting time every second and this fails after just 30 seconds.
Debug Logs
Other items
sdkconfig.txt