Bug #226
offen[Bugsink] ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/_select_198766_667891_from_dual_
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/6d1eedf5-b4d8-4c5f-866a-27b3769f4df4/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/select_198766_667891_from_dual
Automatisch erstellt durch n8n
KI-Analyse:
1. Ursache identifizieren
Der Fehler Warning: filesize(): stat failed bedeutet, dass PHP versucht hat, die Dateigröße einer Datei zu ermitteln, die physisch nicht existiert oder am angezeigten Pfad nicht lesbar ist.
-
Pfad:
/srv/www/www.verl.de/pages/public/uploads/tx_powermail/_select_198766_667891_from_dual_ -
Kontext: Der Pfad liegt eindeutig im
uploads/tx_powermail/-Verzeichnis. Die Namensgebung_select_<uid1>_<uid2>_from_dual_ist typisch für Powermail: Hierbei handelt es sich um eine temporäre/cached-Dateireferenz, die bei der Verarbeitung von Dateianhängen oder Selektionen im Formular entsteht (oft als Zwischenschritt, wenn Dateien ausgewählt/hochgeladen wurden, bevor sie endgültig in dasuploads/-Verzeichnis verschoben werden). -
Ursache: Die Datei wurde erwartet, ist aber weg. Häufige Gründe:
- Die Datei wurde nach dem Upload nicht permanent gespeichert (nur Temp-Ordner, dann cleanup gelöscht).
- Ein Race Condition bei parallelem Formularabsenden/Validieren.
- Antivirus/Server-Cleanup löscht Dateien spontan.
- Berechtigungsproblem (kein Lesezugriff für den PHP-Prozess auf diesen Pfad).
- Nach einer TYPO3-/Powermail-Upgrade- migration sind DB-Referenzen auf Dateien ungültig geworden.
2. Fix beschreiben (konkret)
Der Fix muss dort erfolgen, wo in der Powermail-Extension filesize() aufgerufen wird (meist in einer Klasse, die Dateianhänge verarbeitet, z.B. in Classes/Utility/ oder Classes/Domain/Repository). Da der Stacktrace den genauen Aufrufort nicht zeigt, ist das Vorgehen wie folgt:
// Beispiel: In der Dateiverarbeitungs-Klasse
$filePath = '/srv/www/www.verl.de/pages/public/uploads/tx_powermail/_select_198766_667891_from_dual_';
// Prüfung hinzufügen
if (!is_file($filePath)) {
// Fehlende Datei loggen und überspringen/Standardwert setzen
$logger->warning('Powermail: Referenzierte Datei nicht gefunden: ' . $filePath);
$size = 0; // oder ein Default-Wert, je nach Logik
} else {
$size = filesize($filePath);
}
// weiteren Verlauf mit $size fortsetzen
Zusätzlich empfiehlt es sich, die Konfiguration von Powermail zu prüfen:
-
uploadfolderPfade in der Extension-Konfiguration prüfen & bereinigen. - Sicherstellen, dass hochgeladene Dateien aus dem Temp-Verzeichnis (
temp/) korrekt in das permanenteuploads/tx_powermail/verschoben werden. - Verzeichnisberechtigungen prüfen:
chown -R www-data:www-data /srv/www/www.verl.de/pages/public/uploads/tx_powermail/undchmod 755für Verzeichnisse,644für Dateien.
Falls die Datei tatsächlich für den weiteren Prozess irrelevant ist, kann der else-Zweig auch einfach return; oder continue; ausführen, je nachdem, wo der Aufruf stattfindet.
3. Betroffene TYPO3 Extension
-
Extension:
tx_powermail(Powermail) - Wahrscheinlich betroffene Version: Alle Versionen, die Dateianhänge verarbeiten (insbesondere ab Version 8.x, bei fehlerhafter Temp-Datei-Verwaltung).
4. Confidence: 85%
Die Analyse basiert auf dem exakten Pfadvorhang (tx_powermail), der typischen Dateinamensstruktur von Powermail und der Häufigkeit dieses Fehlers in der Community (meist "stale file reference" nach Upload- oder Berechtigungsproblemen). Ohne Zugriff auf den konkreten Quellcode der betroffenen Instanz bleibt ein Restrisiko, dass die Datei woanders referenziert wird, aber die Wahrscheinlichkeit steht bei >80%.
Nichts anzuzeigen