Fehlerhafter Link bei nicht abgeschlossener Zahlung (500)

Guten Tag,

Ich benötige Hilfe bei einer Fehlersuche. Nachdem eine Bestellung durch PayPal nicht vollständig abgeschlossen wurde, erhält der Kunde eine E-Mail, in der er die Zahlung über einen Link fortfahren können soll. Dieser verweist in meinem Fall auf einen ungültigen Link. Der Server antwortet mit dem Fehlercode 500.

Der Aufbau der Links ist wie folgt:
https://dummy-url.com/account/order/-17O9RMLN-Dg33gslOIxA01PyXncsdsf (deepLinkCode wurde verändert).

Im Template der E-Mail wird folgendes Schema angewandt:
{{ rawUrl(‚frontend.account.order.single.page‘, { ‚deepLinkCode‘: order.deepLinkCode }, salesChannel.domains|first.url) }}

In einem ähnlichen Thread habe ich gelesen, der Fehler könnte durch das Plugin von PayPal hervorgerufen werden. Dies ist in meinem Fall nicht so. Auch mit deaktiviertem PayPal Plugin tritt der Fehler auf.

Ich bedanke mich im Voraus für Hilfe.
Gerne schicke ich weitere Informationen zur Fehleranalyse.

Einfach mal geraten:

/-17…

sieht für mich extrem komisch aus, wie dass etwas vor dem - fehlen würde. Schau doch mal im Template, ob da eine Variable vor dem - steht und wenn ja welche. Dann kommst du dem Fehler vielleicht näher.

im Unterverzeichnis (der Shopware-Installation) var/log sollte es eine Log-Datei für das entsprechende Datum geben. (halt an dem Tag andem der Link aufgerufen wurde und der Fehler generiert wurde).

herzlichst

CH

Hier der Log wenn ich den Link aus der E-Mail aufrufe.

[2022-09-30T11:41:59.058514+00:00] 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 /var/www/clients/client1/web12/web/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php:113)"} []
[2022-09-30T11:41:59.058884+00:00] request.CRITICAL: Uncaught PHP Exception LogicException: "Cannot change the name of an active session." at /var/www/clients/client1/web12/web/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 /var/www/clients/client1/web12/web/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php:113)"} []
[2022-09-30T11:41:59.058955+00:00] php.CRITICAL: Uncaught Error: ContainerWDUlaJP\ErrorController_b437ad9::error(): Argument #2 ($request) must be of type Symfony\Component\HttpFoundation\Request, null given, called in /var/www/clients/client1/web12/web/vendor/shopware/storefront/Framework/Routing/StorefrontSubscriber.php on line 225 {"exception":"[object] (TypeError(code: 0): ContainerWDUlaJP\\ErrorController_b437ad9::error(): Argument #2 ($request) must be of type Symfony\\Component\\HttpFoundation\\Request, null given, called in /var/www/clients/client1/web12/web/vendor/shopware/storefront/Framework/Routing/StorefrontSubscriber.php on line 225 at /var/www/clients/client1/web12/web/var/cache/prod_hbd44ad797583877b4c00c087860c55ed/ContainerWDUlaJP/proxy-classes.php:1463)"} []

Leeren des Caches hat keine Auswirkung.

Die oberen zwei Zeilen sagen aus, dass du keine Berechtigung hat den temporären Ordner zu löschen, meist /tmp.

Ob der dritte Fehler dann ein Folgefehler ist, kann ich nicht sagen.

Könnte das ein Fehler in der Serverkonfiguration sein? Wieso sollte der Aufruf der URL das löschen des /tmp Verzeichnisses auslösen?

Ich habe nicht gesagt, dass der Aufruf das verursacht. Ich sagte, die oberen zwei Zeilen des Logs sagen aus…
Es wird nicht „/tmp“ gelöscht, sondern die Session darin modifiziert: „Cannot change the name of an active session“.

Ja, das hat etwas mit der Server-Konfiguration zu tun, ob man darauf Zugriff hat oder nicht.

Langsam sind es einige, die auf diese Fehlermeldungen stoßen. Shopware Issuetracker
Gibt es denn dazu Neuigkeiten?
@Max_Shop Konntest du das Problem lösen/umgehen?

Ich hatte das Problem noch nie, kann es auch nicht rekonstruieren.

Leider habe ich bis heute keine Lösung gefunden. Gibt es einen Workaround für das Problem? Evtl. durch ein Plugin?

Das Problem mit Session könnte letztlich natürlich auch ein Konfigurationsproblem sein. Ich vermute das Problem tritt auf dem Produktionssystem auf ?
Falls es Zugriff auf die Console gibt, vielleicht dort zunächst einmal den Cache löschen. Oder vielleicht auch das System vor dem Abruf des Links auf „dev“ stellen; dann gibt es ja deutlich mehr Logs.

Das Problem im Issue Tracker ist sicher irgendwas anderes - der Fehler 500 ist einfach nur ein generischer Code, der dem Benutzer im Browser gezeigt wird.

herzlichst

CH