In Datei auf SPIFFS schreiben -> Core 1 panic'ed

Hy,
ich habe eine Funktion und möchte einfach nur in diese Datei den kompletten Inhalt eines Arrays schreiben.
Das ganze funktioniert zeitweise aber aus einem für mich unerfindlichen grund kommt es ab und an zu einem Core 1 panic'ed

hier meine Funktion:

void saveChargeSessions() {

  //  if (SPIFFS.exists("/chargeSessions.txt")) {
  //          SPIFFS.remove("/chargeSessions.txt");
  //  }

   File file = SPIFFS.open("/chargeSessions.txt", "w"); 
  if (!file) {
    Serial.println("Fehler beim Öffnen der Datei! /ChargeSessions.txt");
    return;
  } else {

  // CSV-Header schreiben
  file.println("chargePoint,startDateTime,endDateTime,RFIDTag,Name,startKwh,endKwh,chargedKwh,saveSend");

  // Daten in Datei schreiben
  for (int k = 0; k < csBufferSize; k++) {
    file.print(csBuffer[k].chargePoint);
    file.print(",");    
    file.print(csBuffer[k].startDateTime);
    file.print(",");
    file.print(csBuffer[k].endDateTime);
    file.print(",");
    file.print(csBuffer[k].RFIDTag);
    file.print(",");
    file.print(csBuffer[k].Name);
    file.print(",");
    file.print(csBuffer[k].startKwh);
    file.print(",");
    file.print(csBuffer[k].endKwh);
    file.print(",");
    file.print(csBuffer[k].chargedKwh);
    file.print(",");    
    file.println(csBuffer[k].saveSend);
  }

      Serial.println("DONE1");
  file.close();
  }

} 

nur wenn ich zuvor die Datei lösche funktioniert es problemlos.
Was übersehe ich? Ich kann den Fehler nicht finden...

Ich würde auf LittleFS umstellen und mit append “a“ testen statt w.

Gibt es dafür einen Grund außer "deprecated"?

SPIFFS is the original filesystem and is ideal for space and RAM constrained applications that utilize many small files and care about static and dynamic wear levelling and don’t need true directory support. Filesystem overhead on the flash is minimal as well.

LittleFS is recently added and focuses on higher performance and directory support, but has higher filesystem and per-file overhead (4K minimum vs. SPIFFS’ 256 byte minimum file allocation unit).

Der Unterschied zwischen "w" und "a" spricht eher für "w", wenn man den vorigen Inhalt der Datei nicht mehr braucht. Wenn es hilft, die Datei vorher zu löschen, wäre das die einfachste Lösung.
Fragt sich natürlich, warum das Problem auftritt.

Ja, irgendwo muss man ja mal anfangen um das Problem einzugrenzen.
Einfach um zu sehen, ob eine Änderung eintritt.
Ebenso der Test mit append: Geht das? Oder auch nicht?

Danke für die Antworten. Das Problem lag an einer fehlerhaften bzw. zu vielen String-Operationen hintereinander.

Dank diesem Tool :pray:

konnte ich den Fehler finden.