Bug #77
offen[Bugsink] ErrorException: Warning: Undefined array key "fe_group"
0%
Beschreibung
Bugsink: https://bugsink.cytrus.de/issues/issue/bbe4cafe-04f8-4ff7-b131-9c4838357a30/event/last/
Typ: NEW issue
Projekt: www-rietberg-de
Bugsink Alert
ErrorException: Warning: Undefined array key "fe_group"
Automatisch erstellt durch n8n
KI-Analyse:
Analyse des Fehlers: Undefined array key "fe_group"¶
1. Ursache identifizieren¶
Der Fehler tritt auf, wenn der TYPO3 Scheduler eine geplante Aufgabe (Task) ausführt und dabei versucht, auf den Array-Key "fe_group" zuzugreifen, der nicht existiert.
Kontext:
- Der Fehler entsteht in der Methode
executeTask()der KlasseTYPO3\CMS\Scheduler\Scheduler(Zeile 169). - Der Scheduler verarbeitet Tasks, die möglicherweise Frontend-Benutzergruppen (
fe_group) als Bedingung für die Ausführung nutzen (z. B. für Tasks, die nur für bestimmte Benutzergruppen sichtbar sein sollen). - Der Task selbst oder die Task-Konfiguration enthält keinen Eintrag für
fe_group, obwohl der Code diesen erwartet.
Mögliche Szenarien:
- Ein benutzerdefinierter Task (z. B. eine Extension-Task) greift auf
$taskData['fe_group']zu, ohne vorher zu prüfen, ob der Key existiert. - Ein Standard-Task (z. B. aus
EXT:scheduler) wurde falsch konfiguriert (z. B. über das TYPO3-Backend oder eineext_tables.php). - Ein Update oder Migration hat die Task-Konfiguration beschädigt (z. B. nach einem TYPO3-Upgrade).
2. Fix beschreiben (konkret)¶
Lösung 1: Null-Check vor Zugriff (empfohlen)
Füge in der betroffenen Methode (executeTask() in Scheduler.php) einen Null-Check ein, bevor auf fe_group zugegriffen wird:
// Vorher (fehlerhaft):
$feGroup = $taskData['fe_group'];
// Nachher (fix):
$feGroup = $taskData['fe_group'] ?? null; // PHP 7.4+ Syntax
// oder:
$feGroup = isset($taskData['fe_group']) ? $taskData['fe_group'] : null;
Lösung 2: Task-Konfiguration prüfen
Falls der Task über das TYPO3-Backend konfiguriert wurde:
- Gehe zu Scheduler → Tasks.
- Prüfe den betroffenen Task auf fehlende
fe_group-Einträge. - Korrigiere die Konfiguration oder lösche den Task, falls er nicht mehr benötigt wird.
Lösung 3: Extension-Code anpassen (falls benutzerdefinierter Task)
Falls der Task aus einer benutzerdefinierten Extension stammt:
- Prüfe die Klasse des Tasks (z. B.
MyTask extends AbstractTask). - Stelle sicher, dass
fe_groupnur dann verwendet wird, wenn es existiert:public function execute() { $feGroup = $this->getFeGroup() ?? null; // Null-Check // ... }
3. Betroffene TYPO3 Extension¶
-
Primär:
EXT:scheduler(TYPO3 Core-Extension)- Der Fehler tritt in
/vendor/typo3/cms-scheduler/Classes/Scheduler.phpauf.
- Der Fehler tritt in
-
Sekundär: Eine benutzerdefinierte Extension, die:
- Einen eigenen Task registriert (z. B. in
ext_localconf.php). - Auf
fe_groupzugreift, ohne die Existenz zu prüfen.
- Einen eigenen Task registriert (z. B. in
4. Confidence¶
- 90% – Der Fehler ist klar auf einen fehlenden Array-Key zurückzuführen.
- 10% Unsicherheit: Die genaue Ursache (ob Core-Bug oder benutzerdefinierter Task) hängt von der Projektkonfiguration ab.
Zusammenfassung¶
| Punkt | Details |
|---|---|
| Ursache | Zugriff auf nicht existierenden Array-Key fe_group in Scheduler.php. |
| Fix | Null-Check einbauen oder Task-Konfiguration korrigieren. |
| Betroffene Ext. |
EXT:scheduler (Core) + ggf. benutzerdefinierte Extension. |
| Confidence | 90% |
Empfehlung:
-
Priorität 1: Prüfe zuerst, ob der Task im Backend (
Scheduler → Tasks) korrekt konfiguriert ist. -
Priorität 2: Falls kein Backend-Fehler vorliegt, patch die
Scheduler.phpmit einem Null-Check (Lösung 1). - Priorität 3: Falls eine benutzerdefinierte Extension beteiligt ist, prüfe deren Task-Implementierung.
Nichts anzuzeigen