-
Notifications
You must be signed in to change notification settings - Fork 7.3k
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
compler extensa32 error nested function, or esp32 have a internal hardware bug ? #9965
Comments
You are running out of stack space because you are passing Strings around. Don't do that, especially in |
i have test and not pass any data, only event |
This likely means you are trying to access a variable which is out of scope. |
I have removed a my function used, i send a data from serial monitor, the data is "\r\n" error to create a buffer overflow is in library (no my code present) i send 5 or 6 enter from keyboard, this create a buffer overflow. I send a single enter never panic event, if i send enter,enter,enter, 5 or 6 create a buffer overflow. |
what is |
i have rewrite.... TaskHandle_t ccc_usb_task; void ccc_usb(void *pvParameter) { static void usbEventCallback(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data) {
} static void usbSerialCallback(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data) {if (event_base == ARDUINO_USB_CDC_EVENTS) {
} void setup_usb(void){ Serial.setDebugOutput(true); xTaskCreatePinnedToCore(ccc_usb, "ccc_usb", 4096,NULL, 1, &ccc_usb_task, 1); i have remved output data from example and test is enter send \r\n after 5 o 6 this creare reboot, assert failed: block_locate_free heap_tlsf.c:441 (block_size(block) >= size) realated to espressif/esp-mdf#305 ? |
Yes you are. String command_execute(String com, String value){ This does make a deep copy of both Since you don't change either of these in this function, you can simply fix this copy'ing like this: String command_execute(const String& com, const String& value){ Or like how @lbernstone wrote, you can also simply use You also do a lot of string concatenations in your function which is really a good receipe for causing memory issues, either due to memory fragmentation, or simply running out of resources as that function isn't fast, but you can expect quite a lot of events when receiving some bytes. So to be honest, this doesn't seem like a compiler issue or hardware bug to me, but rather inefficient programming. |
Problem is buffer of usb event, please send a multiple request at usb, example \r\n, or long test in your console. have a panic, case ARDUINO_USB_CDC_RX_EVENT: This empty code have a guru meditation |
The code you provided is unusable due to formatting issues. Please repost it with 3 backticks (```) surrounding to make it a code block. |
no panic, ''' TaskHandle_t ccc_usb_task; void ccc_usb(void *pvParameter) { void setup_usb(void){ Serial.setDebugOutput(true); xTaskCreatePinnedToCore(ccc_usb, "ccc_usb", 4096,NULL, 1, &ccc_usb_task, 1); ''' |
Ok, so you have USB Mode set to USB-OTG, and all the USB on boot options set to disable, correct? |
the problem is standard #include "string" repladed to please read: please add to documentation dont use #include "string" and not include, check library to use string and replace to tnx all for your time !!! P.S.
|
Board
ESP32 wt32-s3-wrover (wt32sc01 plus)
Device Description
wt32sc01 plus
Hardware Configuration
wt32sc01 plus
Version
v3.0.1
IDE Name
Platformio
Operating System
win11
Flash frequency
40mhz
PSRAM enabled
yes
Upload speed
115200
Description
nested funcion have a limit ?
Sketch
Debug Message
Other Steps to Reproduce
this error is compler !! please check extensa32 to build elf.
if call a function run, call a other function run, call nested funcion PANIC this is not correct
the String not length > 65535 to convert in .c_str()
I have checked existing issues, online documentation and the Troubleshooting Guide
The text was updated successfully, but these errors were encountered: