Bug #264
offen[Bugsink] ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/11r7vyquj___waitfor_delay__0_0_15__--
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/97ae83ab-cf22-4b91-9bea-5007ed952538/event/last/
Typ: NEW issue
Projekt: www-verl-de
Bugsink Alert
ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/11r7vyquj___waitfor_delay__0_0_15__--
Automatisch erstellt durch n8n
KI-Analyse:
Analyse des Fehlers¶
1. Ursache identifizieren¶
Der Fehler entsteht, weil filesize() auf einen Dateipfad angewendet wird, der nicht existiert oder nicht zugreifbar ist:
/srv/www/www.verl.de/pages/public/uploads/tx_powermail/11r7vyquj___waitfor_delay__0_0_15__--
Schlüsselbeobachtungen:
- Der Dateipfad liegt im
tx_powermail-Upload-Verzeichnis → Betroffene Extension ist Powermail (oder ein darauf aufbauendes Extension) - Der Dateiname enthält
___waitfor_delay__0_0_15__--→ Dies ist ein zeitverzögerter Dateiverarbeitungsmechanismus (vermutlich ein temporäres Upload-File, das in einer Warteschlange verarbeitet wird) -
stat failedbedeutet: Die Datei existiert zum Zeitpunkt desfilesize()-Aufrufs nicht mehr oder wurde noch nicht vollständig geschrieben - Der Aufruf erfolgt in
public/index.php(Zeile 17-21), was auf benutzerdefinierten Bootstrap-Code hindeutet, der direkt im Frontend-Request Datei-Operationen durchführt
Wahrscheinliche Root Cause: Es liegt ein Race Condition oder eine fehlende Existenzprüfung vor. Die Datei wird entweder:
- Bereits in einem vorherigen Request verschoben/gelöscht (z.B. durch Cleanup-Mechanismus)
- Noch nicht vollständig geschrieben, wenn
filesize()aufgerufen wird - In einem mehrstufigen Upload-Prozess referenziert, aber der Temp-File wurde bereits geräumt
2. Fix (konkret)¶
In der betroffenen Code-Stelle (vermutlich public/index.php Zeile ~17-21 oder der Powermail-Upload-Handler):
// VORHER (fehleranfällig):
$size = filesize($filePath);
// NACHHER (sicher):
if (file_exists($filePath) && is_file($filePath)) {
$size = filesize($filePath);
// Weiterverarbeitung...
} else {
// Datei nicht mehr vorhanden – ggf. Log-Eintrag, dann aber sauber abfangen
// z.B. $this->logger->warning('Temp file not found: ' . $filePath);
return; // oder angemessene Fehlerbehandlung
}
Zusätzlich prüfen:
- Ob der temporäre Datei-Pfad korrekt generiert wird (keine ungültigen Zeichen wie
--am Ende) - Ob der Cleanup-Mechanismus der Warteschlange (
waitfor_delay) nicht aggressiv zu früh löscht - Ob ggf. ein
is_uploaded_file()-Check fehlt
Für den Powermail-Core: Falls der Fehler im Powermail-Source liegt, prüfen ob dort eine is_file()-Prüfung vor filesize() fehlt. Ggf. Custom-Override oder Patch über den Install-Tool-Extended-Setup.
3. Betroffene TYPO3 Extension¶
Primär: powermail (in2code/powermail)
Sekundär: Möglicherweise eine Custom-Extension oder ein Custom-Bootstrap in public/index.php, der den waitfor_delay-Mechanismus implementiert hat
4. Confidence¶
85%
- Der Pfad
tx_powermailund die Dateinamen-Strukturwaitfor_delay__0_0_15__machen die Zuordnung zu Powermail sehr wahrscheinlich - Die genaue Ursache (Race Condition vs. fehlende Prüfung vs. Custom-Code) kann ohne Zugriff auf den Quellcode von
public/index.phpZeile 17-21 nicht zu 100% bestätigt werden - Die
--am Ende des Dateinamens deutet auf ein mögliches Formatierungsproblem bei der Pfadkonstruktion hin
Nichts anzuzeigen