-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
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
Guru Meditation Error: Core 0 panic'ed (Load access fault). Exception was unhandled in ESP32C3 (IDFGH-8134) #9631
Comments
Just run into this issue myself. For me it crashes here: esp-idf/components/esp_hw_support/dma/gdma.c Lines 289 to 290 in 454aeb3
%zu is C99 which is not supported in nano format. I think it just ignores the %zu and moves on to the next %s and crashes because the sram_alignment is not a valid pointer to a c-style string...I can workaround this issue by setting the log level higher, but a quick search on esp-idf came up with a bunch of results for %zu . I think the only safe way to use CONFIG_NEWLIB_NANO_FORMAT right now is to disable logging completely.
|
Any update for the fix? @zikalino |
Pretty sure I ran into this too (ESP32-S3, NEWLIB_NANO_FORMAT=y, log level = verbose). This seems like it's happening in the middle of an
Edit: bump @zikalino |
@dmezh Temporary workaround is to disable the NEWLIB_NANO_FORMAT till fix is provided |
@zikalino @igrr Hit below panic with v5.1-dev-4375-g42261df71f (ESP32-C3, NEWLIB_NANO_FORMAT=y, log level = verbose) Stack dump detected TP : 0x3fc72c68 T0 : 0x4005890e T1 : 0x0000000f T2 : 0xffffffff S4 : 0x00000001 S5 : 0x00000001 S6 : 0x3c12f000 S7 : 0x3c12f000 T3 : 0x00000000 T4 : 0x00001dce T5 : 0x00000000 T6 : 0x00000000 MHARTID : 0x00000000 Backtrace: 0x40058766 in ?? () Rebooting... |
Enabling nano lib format i.e.NEWLIB_NANO_FORMAT=y might be causing this issue. Note: Disabling NEWLIB_NANO_FORMAT might increase the image binary size. |
Newlib nano printf formatting do not support %z, and will crash if such an identifier is followed by a %s indentifier. Closes #9631
hi, i am working with Arduino, and nop! it is not fixed. i have it when using info. i am using ESP32-C3. |
@josef2600 You can try the below steps to disable it
|
@josef2600 As far as I know the arduino library does not come with But yes, in general any fix merged into esp-idf will need some time before they appear in Ardunio. |
To add to what @ESP-Marius said: In general, "load access fault" occurs in every case when the program tries to read from an invalid memory address. Please see docs for how to interpret the panic handler output. |
thanks, but i am not on IDF, i work with Arduino.
thanks, and yes it has it. i found them in libraries, they are using them to see if it is defined, then change some registers. but i didn't fined where the main thing is defined. just found thinks like
thank you for your info, but this is a little beside the point. i am using uart in my code and using it for debug (info) too. it hangs while using the serial port. read this issue and you get the point. i have search for a week in internet and in datasheet and nothing works for preventing for clashing the uart. since esp32 uses RTOS and it is using serial port and i am using serial port, it is possible that program tries to access the serial port from different parts of program in the same time and it causes the chip to crash. at lest, it is my theory! in other microcontrollers, i can check to see if uart is busy or not then send data to it. but in Arduino, i couldn't find the damn thing! |
Newlib nano printf formatting do not support %z, and will crash if such an identifier is followed by a %s indentifier. Closes #9631
Not sure exactly what you are trying to do here, but normally if you want to share and protect a resource, e.g. UART, in an RTOS you would use a mutex Seems like that for UART the ardunio code already does take a mutex for you, e.g. see this. If you have question specifically about the arduino port then you might be better of asking at https://github.com/espressif/arduino-esp32 |
thank you. i used xQueueSend and xQueueReceive, it is fixed now. my main problem with Queue was the priority of the tasks. when i put them all low, it all fixed. |
Newlib nano printf formatting do not support %z, and will crash if such an identifier is followed by a %s indentifier. Closes #9631
Answers checklist.
IDF version.
v4.4.2 (stable)
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
No response
Development Kit.
ESP32-C3-DevKitM-1
Power Supply used.
USB
What is the expected behavior?
ESP32C3 crashes when connecting to Wi-Fi AP if CONFIG_NEWLIB_NANO_FORMAT is enabled. This shouldn't happen. (Note: The issue is 100% reproducible during the wifi connection ).
What is the actual behavior?
ESP32 C3 crashes with load access fault when configured as station and tries to connect to the Wi-Fi Access point. (Same code works in ESP32 DEV kit without any issues). Any thoughts on this issue?
Steps to reproduce.
Debug Logs.
More Information.
No response
The text was updated successfully, but these errors were encountered: