Bug #271
offen[Bugsink] ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/__sqjls
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/f747ac25-fbd4-4835-956f-50e91441dd4c/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/__sqjls
Automatisch erstellt durch n8n
KI-Analyse:
Analyse des Fehlers¶
1. Ursache (Root Cause)¶
Der PHP-Fehler filesize(): stat failed zeigt, dass die Funktion filesize() auf eine Datei zugreifen will, die nicht existiert oder nicht zugänglich ist:
/srv/www/www.verl.de/pages/public/uploads/tx_powermail/__sqjls
Konkret: Eine Datei mit dem generierten Namen __sqjls im uploads/tx_powermail/-Verzeichnis wurde von TYPO3/powermail referenziert, existiert aber zum Zeitpunkt des Aufrufs nicht mehr auf dem Dateisystem. Dies passiert typischerweise, wenn:
- Eine vorherige Upload-Bereinigung (Garbage Collection, tmp-Ordner-Aufräumprozess oder manuelles Löschen) die Datei entfernt hat, bevor der nachfolgende Prozess (E-Mail-Versand, Anzeige, Rendering) darauf zugreifen konnte.
- Ein Race Condition-Problem vorliegt: Datei wird parallel gelesen und gelöscht.
- Die Datei auf ein anderes Dateisystem/Symbolisches Link gezogen wurde, das nicht korrekt aufgelöst wird.
2. Fix (konkret)¶
Sofort-Maßnahmen:
- Prüfen, ob die Datei
/srv/www/www.verl.de/pages/public/uploads/tx_powermail/__sqjlstatsächlich existiert:ls -la /srv/www/www.verl.de/pages/public/uploads/tx_powermail/__sqjls - Falls nicht vorhanden → Datenbank-Einträge prüfen, die auf diese Datei verweisen (powermail Formulareinträge in
tx_powermail_domain_model_*). -
TYPO3-Cache leeren:
./vendor/bin/typo3 cache:flush -
PHP-Error-Logging auf
debugsetzen, um den exakten Aufrufpfad vonfilesize()zu ermitteln.
Dauerhafte Lösung:
-
powermail Einstellungen prüfen: Unter
EXT:powermail > Settings > Uploadssicherstellen, dass das Upload-Verzeichnis korrekt konfiguriert ist und die Aufbewahrungsdauer für temporäre Dateien ausreichend ist. -
Verzeichnis-Berechtigungen prüfen:
uploads/tx_powermail/muss Schreibrechte für den Webserver haben (chmod 755bzw.chown www-data:www-data). - Garbage Collection / Aufräumprozesse deaktivieren oder konfigurieren, sodass Upload-Dateien nicht vor der Verarbeitung gelöscht werden.
- Falls das Problem bei E-Mail-Financern mit Anhängen auftritt: Den Finisher so konfigurieren, dass Dateien vor dem Upload-Move sofort in die E-Mail eingebunden werden, oder einen Hook/Signal-Handler nutzen, der die Datei explizit referenziert, bevor sie bereinigt wird.
3. Betroffene TYPO3 Extension¶
powermail (Extension-Key: powermail, Vendor: IN2CODE / ehemals In2code)
Das Verzeichnis uploads/tx_powermail/ ist das Standard-Upload-Verzeichnis dieser Extension für Datei-Upload-Felder in Formularen.
4. Confidence¶
85 % — Der Pfad und der Fehlertyp (filesize() auf nicht existierende Datei im powermail-Upload-Verzeichnis) sind eindeutig auf powermail zurückzuführen. Die 15 % Unsicherheit resultieren daraus, dass ohne den exakten Stack-Frame, in dem filesize() aufgerufen wird, nicht 100 % geklärt ist, ob der Fehler im Core (Dateiverarbeitung), in einem powermail-Finisher oder in einem benutzerdefinierten Hook auftritt.
Nichts anzuzeigen