Error Log: Controller/Dispatcher/Default.php on line 441

Hallo Zusammen

Seit dem Update auf 5.7.16 erhalte ich tausende von diesen Einträgen im error_log.

Weiss jemand Rat? Wieso gibt es diese Meldung und was ist zu tun?

Ich danke herzlichst!

Shopware 5.7.16
PHP 7.4

[20-Mar-2023 15:38:05 Europe/Berlin] PHP Fatal error:  Uncaught ArgumentCountError: Too few arguments to function Shopware_Controllers_Frontend_Listing::__construct(), 0 passed in /home/name/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php on line 441 and exactly 13 expected in /home/name/public_html/engine/Shopware/Controllers/Frontend/Listing.php:77
Stack trace:
#0 /home/name/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php(441): Shopware_Controllers_Frontend_Listing->__construct()
#1 /home/name/public_html/engine/Library/Enlight/Controller/Front.php(225): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#2 /home/name/public_html/engine/Shopware/Kernel.php(197): Enlight_Controller_Front->dispatch()
#3 /home/name/public_html/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(85): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#4 /home/name/public_html/vendor/symfo in /home/name/public_html/engine/Shopware/Controllers/Frontend/Listing.php on line 77


[20-Mar-2023 15:38:57 Europe/Berlin] PHP Fatal error:  Uncaught ArgumentCountError: Too few arguments to function Shopware_Controllers_Frontend_Listing::__construct(), 0 passed in /home/name/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php on line 441 and exactly 13 expected in /home/name/public_html/engine/Shopware/Controllers/Frontend/Listing.php:77
Stack trace:
#0 /home/name/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php(441): Shopware_Controllers_Frontend_Listing->__construct()
#1 /home/name/public_html/engine/Library/Enlight/Controller/Front.php(225): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#2 /home/name/public_html/engine/Shopware/Kernel.php(197): Enlight_Controller_Front->dispatch()
#3 /home/name/public_html/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(85): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#4 /home/name/public_html/vendor/symfo in /home/name/public_html/engine/Shopware/Controllers/Frontend/Listing.php on line 77


[20-Mar-2023 15:39:47 Europe/Berlin] PHP Fatal error:  Uncaught ArgumentCountError: Too few arguments to function Shopware_Controllers_Frontend_Listing::__construct(), 0 passed in /home/name/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php on line 441 and exactly 13 expected in /home/name/public_html/engine/Shopware/Controllers/Frontend/Listing.php:77
Stack trace:
#0 /home/name/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php(441): Shopware_Controllers_Frontend_Listing->__construct()
#1 /home/name/public_html/engine/Library/Enlight/Controller/Front.php(225): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#2 /home/name/public_html/engine/Shopware/Kernel.php(197): Enlight_Controller_Front->dispatch()
#3 /home/name/public_html/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(85): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#4 /home/name/public_html/vendor/symfo in /home/name/public_html/engine/Shopware/Controllers/Frontend/Listing.php on line 77


[20-Mar-2023 15:40:39 Europe/Berlin] PHP Fatal error:  Uncaught ArgumentCountError: Too few arguments to function Shopware_Controllers_Frontend_Listing::__construct(), 0 passed in /home/name/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php on line 441 and exactly 13 expected in /home/name/public_html/engine/Shopware/Controllers/Frontend/Listing.php:77
Stack trace:
#0 /home/name/public_html/engine/Library/Enlight/Controller/Dispatcher/Default.php(441): Shopware_Controllers_Frontend_Listing->__construct()
#1 /home/name/public_html/engine/Library/Enlight/Controller/Front.php(225): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#2 /home/name/public_html/engine/Shopware/Kernel.php(197): Enlight_Controller_Front->dispatch()
#3 /home/name/public_html/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(85): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#4 /home/name/public_html/vendor/symfo in /home/name/public_html/engine/Shopware/Controllers/Frontend/Listing.php on line 77

Hallo @marco

vermutlich ein Plugin, dass diesen Controller selber instanziert. Oder einen eigenen Controller gebaut, der von diesem erbt.
Wenn du nach und nach alle Plugins abschaltest, sollte sich der Übeltäter leicht finden lassen :slightly_smiling_face:

Viele Grüße aus Schöppingen
Michael Telgmann

Hallo Michael

Vielen Dank, dass du dich dem annimmst!

Dann müsste dies ja in der Stage/Test Umgebung ebenfalls in das Logfile geschrieben werden? Hier bleibt das File leer. Es sind die identischen Plugins installiert.

Zur Verständigung: ich habe die Stage Umgebung vor dem Update erstellt, dort alles getestet und danach die Live Site upgedatet. (Also die momentane Stage Umgebung ist „älter“).

Einen eigenen Controller habe ich nicht gebaut…

Sonnige Grüsse
Marco

Hallo Marco,

dann solltest du deine Staging-Umgebung auch auf den gleichen Stand wie deine Live-Umgebung bringen. So sollte sich der Fehler dann nachstellen können.
Mit Shopware 5.7.8 wurde der Listing-Controller nämlich stark überarbeitet.

Viele Grüße aus Schöppingen
Michael Telgmann

Hallo Michael

also, die Stage-Umgebung ist schon auf dem gleichen Stand. Ich habe einfach zuerst die Stage-Umgebung upgedatet und danach die Live Site.

Nun, ich habe jetzt eine komplett neue Stage-Umgebung erstellt, die ich frisch von der Live-Site kopiert habe.

Ich klicke mich durch die ganze Stage-Seite, teste alle Funktionen von Plugins… und… hier, bei der Stage-Umgebung bleibt die errog_log leer.

Bei der Live-Site wird ja alle paar Minuten einen solchen Eintrag in die Logdatei geschrieben. In unregelmässigen Abständen, manchmal im 1-2 Minuten Takt, manchmal im 10 Minuten Takt oder dann wieder im Abstand von ca 30min.

Ich habe also bei der Live-Site (wie auch bei der Stage-Seite) folgendes gemacht:

  • die error_log per FTP „beobachtet“.
  • mich durch die ganze Site geklickt.
  • immer wieder per FTP die Fileliste aktuallisiert um zu schauen, ob beim vorangegangenen Klick die Datei gewachsen ist.
  • ich habe alle Funktionen der Plugins nach und nach aufgerufen und getestet.
  • sofort immer wieder geschaut, ob dabei die Datei gewachsen ist.

Kein Ergebnis, ich kann kein Plugin und kein Klick ausmachen, dass diesen Eintrag verursacht.

Gibt es noch andere mögliche Ursachen, was diese Fehlermeldung verursacht?

Sonnige Grüsse
Marco

Hallo Marco,

könnte eventuell auch ein Problem mit dem Cache sein :thinking:
Hast du im Live-System den HTTP-Cache eingeschaltet und im Staging nicht?

Viele Grüße aus Schöppingen
Michael Telgmann

Hallo Michael

Auch hier muss ich passen. Exakt dieselben Einstellungen.

Auf deinen Hinweis hin, habe ich in der Stage-Umgebung den Cache-Warmer gestartet. Doch auch nach dem Aufwärmen diverser Sektionen und anschliessendem Besuch der Seite: ohne Ergebnis… error-log bleibt leer.

Ich bin sehr dankbar, wenn wir dem Phänomen auf die Schliche kommen würden. Die error_log füllt sich mit Einträgen und bläht sich in nur 2-3 Tagen zu einer Grösse von 2,5MB auf.

Hast du eine Idee, was ich noch testen oder unternehmen könnte?

Ich bedanke mich im Voraus für deine Unterstützung!

Sonnige Grüsse
Marco

Hallo Michael

das mit dem Cache könnte doch einen guten Hinweis gewesen sein. Der Ordner /production_xxxx ist ja unter anderem nicht in die Stage-Umgebung mit kopiert worden.

Den Cache der Live-Site habe ich schon mehrfach im Backend gelöscht.

Könnte es aber sein, dass bei der Live-Site der Cache durch löschen im Backend nicht komplett gelöscht wird? Und dadurch das Problem auftritt?

Meine Frage nun (ich habe unterschiedliches gelesen) kann man den /production_xxxx Ordner bedenkenlos löschen?

Sonnige Grüsse
Marco

Hallo Marco,

das könnte natürlich sein, dass der Cache im Production-System nicht aktuell ist.
Es ist ausreichend, wenn du den Ordner umbenennst, z.B. „_backup“ hinten dran hängen. So kannst du im Zweifel zurück.
Shopware generiert den Cache dann aber komplett neu.

Viele Grüße aus Schöppingen
Michael Telgmann

Hallo Michael

kein Glück.

Ordner umbenannt. Ein Neuer wurde von Shopware erstellt. Die error_log füllt sich weiterhin…

Hast du noch eine Idee, wo ich ansetzen könnte?

Könnte es sein, dass es auf dem Hosting einen Cache hat, auf den ich keinen Zugriff habe? Und dieser ggf nur der Hoster löschen kann/soll?

zb Lite-Speed Cache oder so was in der Art?

Sonnige Grüsse
Marco

Hallo Marco,

sorry, da bin ich vorerst mit meinem Latein am Ende :confused:
Für mehr müsste ich mir auch das System selber anschauen. Wenn möglich, erstelle gerne ein Support-Ticket, dann können wir da weiter rein schauen.

Viele Grüße aus Schöppingen
Michael Telgmann

Hallo Michael

Noch zur Vervollständigung, ich habe den Auslöser gefunden!

Es war tatsächlich ein Plugin. Es war das AMP Plugin von Biloba IT.

Da die Fehlermeldung nur beim Aufruf einer /amp/ URL entstand (und auch nicht bei allen):

1.) Bei Produkt Detailseite - AMP funktioniert
2.) Bei Produkt Liste/Kategorie - (ergibt weisse Seite mit error_log Eintrag)
3.) Bei CMS Seite - ergibt 404 nicht gefunden
4.) Bei Blog Seite - ergibt 404 nicht gefunden

… war es sehr schwierig, den Übeltäter zu finden.

Ich konnte den Fehler auch auf einer frischen Testinstallation nachstellen. Ich habe den Hersteller kontaktiert und eine neue Version des Plugins wurde schnell veröffentlicht.

Nochmals herzlichen Dank für deine ausführliche Hilfe, welche veranlasst hat, das Problem zu finden.

Sonnige Grüsse
Marco

1 „Gefällt mir“