Warenkorb leert sich ohne Grund

Moin miteinander,

vielen Dank für eure Unterstürzung!

Bin schon am verzweifeln gewesen, dass sich sonnst niemand mit diesem Problem gemeldet hat.

Ihr habt bereits festgestellt, wie man es lösen kann, wenn das Problem auftritt. Regelmäßiges leeren vom Cache bringt leider nichts. Ganz im Gegenteil, ich denke, dass es sogar hin und wieder provoziert wird, dass die SessonID in die hübsche Cache Datei eingetragen wird.

Ich habe mir das hier überlegt:
erstellt eine Datei mit dem Namen sessontest.sh und kopiert das nachfolgende Inhalt hinein.

#!/bin/bash
while true
do
  if [[ -n $(grep -RH 'session-' /srv/www/domain.de/var/cache/**/pools/app 2>&1 3>&1) ]]; then
    CACHECLEAN=$(sudo -u nginx /srv/www/domain.de/bin/console cache:clear)
    /bin/sendmail admin@domain.de <<EOF
subject:Season Problem im Shop
from:system@domain.de
Die Ausgabe vom Cache leeren:
$CACHECLEAN                             
EOF                                     
  fi                                    
  let i++ 
  sleep 1
done

Vergisst es bitte nicht euer Distribution und Webserver-Konfiguration entsprechend anzupassen. Ändert bitte auch die Absender und Empfänger E-Mail Adresse. Außer dem müsst ihr benötigt ihr noch „screen“

Und führt dann nur noch die Zeile aus:

screen bash sessiontest.sh

Ich hoffe es wird euch die Zeit überbrücken bis Shopware in der Lage ist einen sauberen Code zur veröffentlichen.

Viele Grüße

Ich

Hey,

könntet ihr diese Datei vendor/shopware/storefront/Framework/Routing/NotFound/NotFoundSubscriber.php ersetzen mit den Inhalt hier? NotFoundSubscriber.php · GitHub

und schauen ob das Problem dann gelöst ist? Das Problem ist nicht wirklich nachzuvollziehen auf einer neuen Shopware 6.5.8.6 ohne Plugins. Deshalb gehen wir stark von einem Plugin aus was dies verursacht.

1 „Gefällt mir“

SW 6.5.8.6 - Hoster: All-Inkl.com / Managed Server / Theme: Themeware Strong
(Apache / PHP 8.2 / MariaDB 10.11.7)

@all: bitte auch mal ein paar Angaben zum Hoster / Theme etc. mit angeben. Vielleicht lässt sich ein Muster / Parallelen erkennen.

Wir haben - zumindest verstärkt in den letzten 1-2 Wochen aufgefallen - ebenso Problem mit leeren Warenkörben.
Allerdings haben wir das aktuell nur auf Smartphones feststellen können. In unserem Fall getestet mit iOS / Safari.
Produkt in den Warenkorb - zur Kasse - Daten als Gastbesteller eingegeben - weiter - und danach gibts nur ne Meldung: Ihr Warenkorb ist leer.
Auf dem Laptop / PC hingegen kein Problem.
Aufgefallen ist das durch niedrige Verkaufszahlen und insbesondere viele Neukunden im Backend jedoch keine Bestellungen. Und warum alle Daten eingeben, wenn man nicht bestellen möchte…
2. Auffälligkeit - Kunden haben z.T. mehrfach die Daten eingegeben. Dennoch keine Bestellung.

Vielleicht kann das ja der eine oder andere reproduzieren.

Provider sind sogar 3 unterschiedliche. An denen wird es nicht liegen.
An das Theme habe ich auch gedacht, aber auch hier haben wir 2 unterschiedliche (z.B. Caprice Pro und Shopware Standard).
CMS Bundle (Erweiterung der Erlebniswelten) war auch ein Verdächtiger, aber dürfte auch ausgeschlossen sein.

Interessant ist folgendes: Ich habe in einem Shop mal unsere Template Anpassungen vom Custom Template Manager entfernt. Dieser Shop hat seit die Anpassungen entfernt sind keine Probleme mehr. Könnte auch Zufall sein.

Das Problem liegt ja scheinbar u.A. darin, dass nach einer gewissen Änderung z.B. der Cache / Template Cache gelöscht wird und der Fehler dann vorerst wieder verschwunden sein könnte.
Was die Diagnose und damit wieder schwieriger macht.

Zu erkennen ist es jedenfalls daran, dass weitaus mehr Kunden registriert sind als Käufe durch gehen.
Hab schon überlegt, ein kleines Plugin oder Script zu programmieren, welches mich per Mail informiert, wenn zwar ein Kunde angelegt wurde, aber keine Bestellung erfolgt ist. Gut. Mag auch mal sein, dass jemand ne Bestellung abbricht, aber lieber vorerst alles im Blick behalten als Kunden zu verlieren.

Jedoch löst das nicht das Problem.

Des Weiteren suche ich noch nach einer Lösung, Bestellvorgänge und einzelne Schritte loggen zu können ohne den DEV Modus zu aktivieren.

Edit:
Sind anscheinend gar nicht mal so wenige davon betroffen:
https://forum.shopware.com/search?q=warenkorb%20leer%20%23shopware-6-german%20order%3Alatest

Für alle, die den Fehler rekostruieren können:
In der .env und in der .env.local mal den cache auf 0 setzen:
SHOPWARE_HTTP_CACHE_ENABLED=0

Das sollte zwar den Cache vorerst komplett deaktivieren und ist ansich contraproduktiv - aber in unserem Fall besser als 80% der Bestellungen zu verlieren, solange es keine offizielle Lösung gibt.

Des Weiteren habe ist mir noch eine Einstellung in der env aufgefallen, die ich gemäß Doku / Performance vor kurzem integriert hatte:

# SHOPWARE_CACHE_ID=meinShop_cache_id
Diese habe ich ebenso vorerst deaktiviert bzw. wieder auskommentiert. Hat noch wer diese Variable angelegt? Könnte dies ein weiterer Zusammenhang sein?
Zeitlich könnte sich das etwa decken mit den massiven Einbrüchen der Verkäufe.

Werde das die nächsten Tage mal beobachten ob sich die Anzahl der Neukunden dann mit der Anzahl an Bestellungen in etwa deckt.

Leider eben wieder passiert - hatte schon Hoffnung das es sich erledigt hat nachdem wir die ganzen Template Anpassungen entfernt hatten :confused:

Edit: In einem anderen Beitrag hat man uns noch auf Einstellungen > Warenkorb „Zeit in Minuten, die ein Kunde Zeit hat eine Transaktion abzuschließen“ aufmerksam gemacht. Das Feld war bei uns leer, wir haben da jetzt einfach mal 120 (Minuten) eingetragen. Mal sehen ob wir damit diesen Fehler umgehen können.

Der Wert SHOPWARE_CACHE_ID ist bei mir nicht gesetzt. Ein Deaktivieren des Shop HTTP Caches hat leider ebenfalls nichts gebracht.

Geht mir genauso.
Gerade nochmal mit Chrome auf PC getestet. Dort ist der Fehler auch wieder da.
Einmal ins Backend - Cache gelöscht und aufgewärmt - Fehler wieder weg.
Hab jetzt mal versucht, per Cronjob den Cache alle 30 min neu zu generieren. Vielleicht hilft das ja temporär.

echo 'Cache löschen... (cache:clear)...<br>';
$output = shell_exec('php82 ../../../bin/console cache:clear');

echo 'Cache aufwärmen... (cache:warmup)...<br>';
$output = shell_exec('php82 ../../../bin/console cache:warmup');

Darf ich Fragen welche Plugins bei euch im Einsatz sind? Gerne auch als private Nachricht?

Auch ein Cronjob mit alle 30 Minuten cache leeren kann zwar zur Besserung führen, aber das Problem kann selbst in der Zwischenzeit noch auftreten.

Hier mal die Plugin-Liste:


Bei uns besteht dieses Problem auch immer noch, es scheint definitv am Cache zu liegen. Wir nutzen bei uns auch das Paypal-Plugin und Custom JavaScript/CSS Manager.

Bei mir scheint es so, als hätte das den Fehler behoben. Danke dafür!

Paypal, Custom JavaScript/CSS nutzen wir auch.
Tools ebenfalls und von ACRIS haben wir auch ein Plugin - aber nicht das selbe, sondern „Gutscheine (Rabatte) - Restwert-Verwaltung“.

Das Update ist jetzt released als Shopware 6.5.8.7. Nach dem Update ist es behoben

1 „Gefällt mir“

@bastiC3 Das haben schon so einige gedacht.
Um dies zu überprüfen täglich die Kunden mit den Bestellungen abgleichen. Wenn viele Kunden ein Kundenkonto angelegt haben (insbesondere Gastaccounts) dann läuft vorausssichtlich etwas schief.
Ebenso täglich zu unterschiedlichen Uhrzeiten mal Produkte in den Warenkorb legen und mal zwischen den Seiten hin und her springen. Testen mit verschiedenen Browsern und auch auf jeden Fall mal mobil eine Bestellung auslösen (z.B. günstigster Artikel / Testartikel und dann per Vorkasse - geht am schnellsten)

@shyim Laut Patchnotes betrifft das lediglich ein anderes Problem. Gut - könnte den Nebeneffekt haben, dass auch das Warenkorbproblem gelöst wird.
Da ich aber mal davon ausgehe, dass nach dem Update der Cache gelöscht wird, kann dies natürlich auch wieder eine kurzfristige Lösung sein, bei der der Fehler erst wieder in ein paar Stunden auftritt.
Also @all - Update installieren, mal nen Tag abwarten und beobachten und dann bitte mal ein Feedback dazu, ob das Update tatsächlich eine dauerhafte Lösung des Problems ist oder das Problem auch nach dem Update weiterhin auftritt (meine Vermutung)

@Moritz_Naczenski konntet ihr dieses Problem schon nachstellen? Ich vermute mal dass die Dunkelziffer weit höher ist als die 16 Upvotes im Iussuetracker ( NEXT-33787). Viele werden noch nach der Ursache suchen oder noch gar nicht herausgefunden haben, warum ihre Verkäufe eingebrochen sind und somit noch gar nicht auf diesen Beitrag gekommen sind.
Habe gerade mit zwei weiteren Firmen gesprochen, die ebenfalls betroffen sind. Verkäufe sind z.T. um mehr als 50% eingebrochen. :frowning:

@XXL-Webdesign genau das Problem wurde mit 6.5.8.7 behoben. Ich hab das Ticket NEXT-33787 geschlossen als duplikat.

Wir haben den Fix bei mehreren Shops getestet wo genau es genau diese Probleme gibt. Lasst uns es gerne wissen, ob es bei euch das Problem behoben hat, sonst müssen wir nochmal schauen :slight_smile:

1 „Gefällt mir“

Kann mir gut vorstellen das nicht alle Probleme öffentlich angesprochen werden :wink: Ist ja ein fataler Fehler wenn sich der Warenkorb ständig leert - kein gutes Bild. Schlafende Hunde soll man ja nicht wecken.

Wir warten mal bis alle Plugins das OK für die Komptabilität bekommen und dann schauen wir mal weiter.

Der Report betrachtet das Problem eher technisch, dass die Browser Sitzungen geteilt werden, das impliziert dann das der Warenkorb auch geleert wird. Ich habs gerade nochmal ergänzt mit Konsequenzen um es klarer zu machen.

Ich denke so versteht man es besser :slight_smile: