-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Description
Board
ESP32 Dev Module
Device Description
DevKitC (4MB)
Hardware Configuration
No Connections
Version
latest master (checkout manually)
IDE Name
Arduino IDE
Operating System
Windows 11
Flash frequency
80MHz
PSRAM enabled
no
Upload speed
921600
Description
Copied from my old issue #10499 that I marked as closed: Whenever I attempt to mount SPIFFS with SPIFFS.begin(true);
, the following message prints over and over again in the serial monitor:
E (1030) task_wdt: esp_task_wdt_reset(763): task not found
E (1030) task_wdt: esp_task_wdt_reset(763): task not found
E (1062) task_wdt: esp_task_wdt_reset(763): task not found
E (1063) task_wdt: esp_task_wdt_reset(763): task not found
E (1064) task_wdt: esp_task_wdt_reset(763): task not found
E (1066) task_wdt: esp_task_wdt_reset(763): task not found
E (1102) task_wdt: esp_task_wdt_reset(763): task not found
E (1103) task_wdt: esp_task_wdt_reset(763): task not found
E (1103) task_wdt: esp_task_wdt_reset(763): task not found
E (1134) task_wdt: esp_task_wdt_reset(763): task not found
E (1135) task_wdt: esp_task_wdt_reset(763): task not found
E (1136) task_wdt: esp_task_wdt_reset(763): task not found
E (1138) task_wdt: esp_task_wdt_reset(763): task not found
E (1175) task_wdt: esp_task_wdt_reset(763): task not found
and the SPIFFS mount fails. I am running into this issue with all sorts of firmware that uses SPIFFS and used to work without any problems. To simplify things, I am running the SPIFFS_Test.ino example and running into the same issue. I have tried this on multiple boards, updated Arduino IDE to the latest version, and updated the ESP32 board package to the latest version, none of which resolve the issue. When SPIFFS.begin(false);
is run, the error does not print, but SPIFFS mount fails.
Why I'm reopening this issue:
I closed the last issue with "Not exactly sure what the issue was here, but it ran fine when compiled and uploaded from another computer. I deleted the folder at "C:/Users//AppData/Roaming/arduino-ide", and this seems to have resolved the issue."
Since then, I have run into the issue again--seemingly out of nowhere. I tried uploading from another computer again--no issue. So, I thought something was wrong with my Arduino IDE. I uninstalled, deleted the ".arduinoIDE" folder under C:/Users/Owner along with local and roaming Arduino IDE data in C:/Users/Owner/AppData, restarted my computer, and reinstalled a fresh copy of Arduino IDE. Uploading to the same board that was previously experiencing issues (but most recently uploaded from another computer where it ran fine), I encountered no issue. I now am realizing this is likely because SPIFFS was already mounted from the code uploaded from another computer. After erasing flash and reuploading, I ran into the same issue.
So, I tried uninstalling Arduino IDE, reinstalling, etc., and nothing worked. I went to the computer that was able to upload successfully, and after uploading from that computer, I am still getting this task_wdt error! Nothing changed. Was this board "infected" somehow? I tried with a board that had never been used before--same issue. I tried an ESP32-S3--same issue.
I downgraded to board package release 2.0.17, and SPIFFS seems to mount no problem. I've looked through the migration guide and can't find anything that I should have changed. And I'd at least expect the example code to work fine here. Happy to include any other information I can.
Sketch
#include "FS.h"
#include "SPIFFS.h"
/* You only need to format SPIFFS the first time you run a
test or else use the SPIFFS plugin to create a partition
https://github.com/me-no-dev/arduino-esp32fs-plugin */
#define FORMAT_SPIFFS_IF_FAILED true
void listDir(fs::FS &fs, const char *dirname, uint8_t levels) {
Serial.printf("Listing directory: %s\r\n", dirname);
File root = fs.open(dirname);
if (!root) {
Serial.println("- failed to open directory");
return;
}
if (!root.isDirectory()) {
Serial.println(" - not a directory");
return;
}
File file = root.openNextFile();
while (file) {
if (file.isDirectory()) {
Serial.print(" DIR : ");
Serial.println(file.name());
if (levels) {
listDir(fs, file.path(), levels - 1);
}
} else {
Serial.print(" FILE: ");
Serial.print(file.name());
Serial.print("\tSIZE: ");
Serial.println(file.size());
}
file = root.openNextFile();
}
}
void readFile(fs::FS &fs, const char *path) {
Serial.printf("Reading file: %s\r\n", path);
File file = fs.open(path);
if (!file || file.isDirectory()) {
Serial.println("- failed to open file for reading");
return;
}
Serial.println("- read from file:");
while (file.available()) {
Serial.write(file.read());
}
file.close();
}
void writeFile(fs::FS &fs, const char *path, const char *message) {
Serial.printf("Writing file: %s\r\n", path);
File file = fs.open(path, FILE_WRITE);
if (!file) {
Serial.println("- failed to open file for writing");
return;
}
if (file.print(message)) {
Serial.println("- file written");
} else {
Serial.println("- write failed");
}
file.close();
}
void appendFile(fs::FS &fs, const char *path, const char *message) {
Serial.printf("Appending to file: %s\r\n", path);
File file = fs.open(path, FILE_APPEND);
if (!file) {
Serial.println("- failed to open file for appending");
return;
}
if (file.print(message)) {
Serial.println("- message appended");
} else {
Serial.println("- append failed");
}
file.close();
}
void renameFile(fs::FS &fs, const char *path1, const char *path2) {
Serial.printf("Renaming file %s to %s\r\n", path1, path2);
if (fs.rename(path1, path2)) {
Serial.println("- file renamed");
} else {
Serial.println("- rename failed");
}
}
void deleteFile(fs::FS &fs, const char *path) {
Serial.printf("Deleting file: %s\r\n", path);
if (fs.remove(path)) {
Serial.println("- file deleted");
} else {
Serial.println("- delete failed");
}
}
void testFileIO(fs::FS &fs, const char *path) {
Serial.printf("Testing file I/O with %s\r\n", path);
static uint8_t buf[512];
size_t len = 0;
File file = fs.open(path, FILE_WRITE);
if (!file) {
Serial.println("- failed to open file for writing");
return;
}
size_t i;
Serial.print("- writing");
uint32_t start = millis();
for (i = 0; i < 2048; i++) {
if ((i & 0x001F) == 0x001F) {
Serial.print(".");
}
file.write(buf, 512);
}
Serial.println("");
uint32_t end = millis() - start;
Serial.printf(" - %u bytes written in %lu ms\r\n", 2048 * 512, end);
file.close();
file = fs.open(path);
start = millis();
end = start;
i = 0;
if (file && !file.isDirectory()) {
len = file.size();
size_t flen = len;
start = millis();
Serial.print("- reading");
while (len) {
size_t toRead = len;
if (toRead > 512) {
toRead = 512;
}
file.read(buf, toRead);
if ((i++ & 0x001F) == 0x001F) {
Serial.print(".");
}
len -= toRead;
}
Serial.println("");
end = millis() - start;
Serial.printf("- %u bytes read in %lu ms\r\n", flen, end);
file.close();
} else {
Serial.println("- failed to open file for reading");
}
}
void setup() {
Serial.begin(115200);
if (!SPIFFS.begin(FORMAT_SPIFFS_IF_FAILED)) {
Serial.println("SPIFFS Mount Failed");
return;
}
listDir(SPIFFS, "/", 0);
writeFile(SPIFFS, "/hello.txt", "Hello ");
appendFile(SPIFFS, "/hello.txt", "World!\r\n");
readFile(SPIFFS, "/hello.txt");
renameFile(SPIFFS, "/hello.txt", "/foo.txt");
readFile(SPIFFS, "/foo.txt");
deleteFile(SPIFFS, "/foo.txt");
testFileIO(SPIFFS, "/test.txt");
deleteFile(SPIFFS, "/test.txt");
Serial.println("Test complete");
}
void loop() {}
Debug Message
E (1184) task_wdt: esp_task_wdt_reset(763): task not found
E (1185) task_wdt: esp_task_wdt_reset(763): task not found
E (1186) task_wdt: esp_task_wdt_reset(763): task not found
E (1188) task_wdt: esp_task_wdt_reset(763): task not found
E (1224) task_wdt: esp_task_wdt_reset(763): task not found
E (1225) task_wdt: esp_task_wdt_reset(763): task not found
E (1225) task_wdt: esp_task_wdt_reset(763): task not found
E (1257) task_wdt: esp_task_wdt_reset(763): task not found
E (1258) task_wdt: esp_task_wdt_reset(763): task not found
E (1259) task_wdt: esp_task_wdt_reset(763): task not found
E (1261) task_wdt: esp_task_wdt_reset(763): task not found
E (1296) task_wdt: esp_task_wdt_reset(763): task not found
E (1297) task_wdt: esp_task_wdt_reset(763): task not found
E (1297) task_wdt: esp_task_wdt_reset(763): task not found
E (1329) task_wdt: esp_task_wdt_reset(763): task not found
Other Steps to Reproduce
The following settings were used in Arduino IDE:
Board: "ESP32 Dev Module"
CPU Frequency: "240MHz (WiFi/BT)"
Core Debug Level: "None" Tried setting this to verbose with no additional info gained
Erase All Flash Before Sketch Upload: "Disabled" Tried setting to true and got the same results
Events Run On: "Core 1"
Flash Frequency: "80MHz"
Flash Mode: "QIO"
Flash Size: "4MB (32Mb)"
JTAG Adapter: "Disabled"
Arduino Runs On: "Core 1"
Partition Scheme: "Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)"
PSRAM: "Disabled"
Upload Speed: "921600"
Zigbee Mode: "Disabled"
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.