InstrFetchProhibited with in IDFv5 upgrade from IDFv4.4
Posted: Tue Apr 23, 2024 6:17 pm
Hi there,
I've an issue that existed since I updated to ESP-IDF v5.0 (7+ months), which is a strange exception after calling a specific function from mbedtls.
Brief:
I'm the maintainer of H4 stack libraries, that includes a timer scheduler (H4), TCP wrapper to LwIP Raw APIs (H4AsyncTCP), MQTT client (H4AsyncMQTT), Webserver (H4AsyncWebServer), HTTP Client (ArmadilloHTTP) -Should be renamed -, and finally the complete system: H4Plugins, that enables someone to make SONOFF-like functionality out of few lines.
In H4AsyncTCP, I've supported TLS by utilizing LwIP feature: ALTCP (Application-Layered TCP)[1].
In IDF v4.4.5 (Arduino v2.0.11) all went perfectly, projects show high reliability over high stress tests.
However, upgrading to ESP-IDF v5.0 which is accompanied with several major upgrades:
My conclusion was its either a bug with Xtensa GCC compiler upgrade, ESP-IDF upgrade, or MbedTLS upgrade.
What do you think?
Have I missed something?
[1] https://www.nongnu.org/lwip/2_1_x/group ... __api.html
[2] https://github.com/espressif/esp-idf/issues/13335
I've an issue that existed since I updated to ESP-IDF v5.0 (7+ months), which is a strange exception after calling a specific function from mbedtls.
Brief:
I'm the maintainer of H4 stack libraries, that includes a timer scheduler (H4), TCP wrapper to LwIP Raw APIs (H4AsyncTCP), MQTT client (H4AsyncMQTT), Webserver (H4AsyncWebServer), HTTP Client (ArmadilloHTTP) -Should be renamed -, and finally the complete system: H4Plugins, that enables someone to make SONOFF-like functionality out of few lines.
In H4AsyncTCP, I've supported TLS by utilizing LwIP feature: ALTCP (Application-Layered TCP)[1].
In IDF v4.4.5 (Arduino v2.0.11) all went perfectly, projects show high reliability over high stress tests.
However, upgrading to ESP-IDF v5.0 which is accompanied with several major upgrades:
- GCC compiler, from 8.4.0 to 12.2.0.
- MbedTLS, from 2.28.3 to 3.x.
- ESP-IDF itself.
- LwIP, from 2.1.2 to 2.1.3.
- esp-lwip fork, which was a bugfix of upstream lwip regarding TLS. However, the change is limited to upgrading issues.
- The projects themselves (Checkout the MCVEs in the raised issue [2]).
My conclusion was its either a bug with Xtensa GCC compiler upgrade, ESP-IDF upgrade, or MbedTLS upgrade.
What do you think?
Have I missed something?
[1] https://www.nongnu.org/lwip/2_1_x/group ... __api.html
[2] https://github.com/espressif/esp-idf/issues/13335