Bestellstatus-Link in Mails führt nach Anmeldung zu Error 500

Hallo, habe folgendes Problem:
Der Link zum aktuellen Bestellstatus der per in den E-Mails versandt wird funktioniert zwar, die Anmeldung führt dann aber zu einem Error 500. Für Gastbesteller die sich mit E-Mail und Postleitzahl einloggen funktioniert alles. Es betrifft nur Kunden mit Account. In den Logs steht folgendes:


11. Juni 2022, 21:15:57	php	CRITICAL	Uncaught Error: ContainerOZVgsku\ErrorController_b437ad9::error(): Argument #2 ($request) must be of type Symfony\Component\HttpFoundation\Request, null given, called in /www/htdocs/w0175526/shopware/hofladen_v1/vendor/shopware/storefront/Framework/Routing/StorefrontSubscriber.php on line 225 {"exception":"[object] (TypeError(code: 0): ContainerOZVgsku\\ErrorController_b437ad9::error(): Argument #2 ($request) must be of type Symfony\\Component\\HttpFoundation\\Request, null given, called in /www/htdocs/w0175526/shopware/hofladen_v1/vendor/shopware/storefront/Framework/Routing/StorefrontSubscriber.php on line 225 at /www/htdocs/w0175526/shopware/hofladen_v1/var/cache/prod_h84b76c92cfd3c5b1c15b98e16d202590/ContainerOZVgsku/proxy-classes.php:1645)"} []

11. Juni 2022, 21:15:57	request	CRITICAL	Uncaught PHP Exception LogicException: "Cannot change the name of an active session." at /www/htdocs/w0175526/shopware/hofladen_v1/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php line 113 {"exception":"[object] (LogicException(code: 0): Cannot change the name of an active session. at /www/htdocs/w0175526/shopware/hofladen_v1/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php:113)"} []

11. Juni 2022, 21:15:57	php	CRITICAL	Uncaught Exception: Cannot change the name of an active session. {"exception":"[object] (LogicException(code: 0): Cannot change the name of an active session. at /www/htdocs/w0175526/shopware/hofladen_v1/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php:113)"} []

Fällt dazu jemandem etwas ein? Der Shop läuft unter PHP 8.1 falls das hilft.

Sebastian

1 „Gefällt mir“

Schon mal diesen Ordner prod_ … gelöscht?

Hallo Tarkka,

hatte diesen Ordner noch nicht gelöscht. Habe das gerade versucht.
Hat den Fehler leider nicht beseitigt. Das Verhalten ist exakt gleich geblieben.
Anmeldung über den Link aus der E-Mail führt zu Fehler 500, wenn ein Kundenkonto vorhanden ist.

Auch ein Update auf 6.4.12.0 hat leider an der Problematik nichts verändert.
Gastbesteller können sich über den Link nach Eingabe ihrer E-Mail und der PLZ weiterhin problemlos ihre Bestellung ansehen.
Kunden mit Kundenkonto erhalten nach dem Login mit E-Mail und Passwort eine Fehler 500 Seite.

Der Link mit dem deepLinkCode muss demnach ja in Ordnung sein?!?
Wo könnte da noch der Fehler in Verbindung mit den Kundenaccounts liegen?

Habe den Cannot change the name of an active session.-Bug auch in einem Projekt, jedoch in einem völlig unterschiedlichen Kontext. Shopware-Support Antwort war sinngemäß: „da wird wohl ein Fehler im individuellen Script sein“.

Hast du individuelle Plugins, die in einen der Prozesse eingreifen oder ist alles standard?

Hallo Max_Shop,
es sind ein paar Erweiterungen aus dem Store installiert. Eigentlich sollte sich aber keines in die Anmeldung einmischen. Es gibt keine eigenen Erweiterungen.
Wenn es hilft, schreibe ich gerne, welche Erweiterungen installiert sind.

Das wäre nett, falls du mir diese per PN schreiben würdest. Ich möchte keinen falschen Verdacht auf die Plugins lenken.

Und falls möglich… die error.log Einträge in Zusammenhang mit dem Fehler. Dann könnte ich diese Vergleichen und wie finden ggf. den Fehler.

Aktueller Stand: Deaktivieren des PayPal-Plugins macht den Link wieder benutzbar!

Hallo Leute,
haben das Problem ebenfalls… nur dass das Deaktivieren des PayPal Plugins ja keine Lösung in einem Shop sein dürfte…
Leider ging der thread hier nicht weiter… Wie habt Ihr den Fehler nunmehr gelöst?

Also für uns hat die Lösung von @robert.lang aus dem Issuetracker geholfen. Vielen Dank dafür.
Es wurde in der config/packages/storefront.yaml der CSRF-Mode auf ajax umgestellt.

Wird das denn nicht mit der nächsten Version wieder überschrieben?

Nein. Es handelt sich dabei um eine Konfigurationsdatei extra für Änderungen wie diese.

Wir hatten das gleiche Problem mit dem Bestellstatus-Link und haben aufgrund dieser Diskussion den CSRF-Mode auf „ajax“ umgestellt. Das Problem war damit behoben.

Nun haben wir aber 1,5 Wochen herum gesucht, warum man bei PayPal-Checkout auf einmal nicht mehr mit Kreditkarte bezahlen konnte. Ursache war genau diese Umstellung.

Daher ist die Konfiguration wieder rausgeflogen und leben erst mal mit damit SHOPWARE_HTTP_CACHE_ENABLED=0 zu setzen, wie es im IssueTracker als Problem beschrieben wird.

Ja, so war es bei uns auch. Auch eine andere Erweiterung hat durch die Umstellung nicht mehr funktioniert. Sehr ärgerlich, das ganze.