Neu Unser Fehlerlog 5.3.0

astd

Aktives Mitglied
15. September 2013
16
2
Hallo,

im Fehlerlogbuch findet sich:
a.
Product 0 has invalid parent.
In der Wawi finde ich kein internes Product "0"

b.
Error executing query SELECT kPLZ
FROM tplz
WHERE cPLZ =
AND INSTR(cOrt COLLATE utf8_german2_ci, )
AND cLandISO = DE
SQLSTATE[42000]: Syntax error or access violation: 1253 COLLATION utf8mb3_german2_ci is not valid for CHARACTER SET utf8mb4


c.
Error executing query SELECT kPLZ
FROM tplz
WHERE cPLZ =XXXXX
AND INSTR(cOrt COLLATE utf8_german2_ci, XXXXXXX)
AND cLandISO = DE
SQLSTATE[42000]: Syntax error or access violation: 1253 COLLATION utf8mb3_german2_ci is not valid for CHARACTER SET utf8mb4


An welchen Schrauben soll/muss ich drehen um das Fehlerlogbuch wieder clean zu bekommen ?
Oder muss das jemand anderes übernehmen ?



 

NoOne

Mitglied
16. März 2024
34
10
Hmm... utf8_german2_ci ist wohl eine utf8mb3 Collation. Und dann inkompatibel, wenn die Datenbank vom Shop auf eine utf8mb4 Collation umgestellt wird...

Ich würde mal darauf tippen das man hier in der /includes/src/Customer/Registration/Validator/AbstractValidator.php die Zeile 69 etwas ändern müsste. Von

PHP:
AND INSTR(cOrt COLLATE utf8_german2_ci, :ort)

in

PHP:
AND INSTR(cOrt COLLATE utf8mb4_german2_ci, :ort)

Das könnte auch die Probleme in https://forum.jtl-software.de/threa...n-plz-ort-im-kundenkonto-update-5-3-0.217597/ erklären.
 
  • Gefällt mir
Reaktionen: shelby5

shelby5

Aktives Mitglied
16. November 2018
24
9
hi,

a) tritt bei mir auch auf seit 5.3., bisher auch noch keine Lösung in Sicht.

b./c. konnte mit dem Tip von NoOne behoben werden.

vg
 

NoOne

Mitglied
16. März 2024
34
10
Zum ersten Problem hab ich auch mal den Shop-Code durchsucht. Der Fehler wird ins Log geschrieben, wenn kArtikel = kVaterArtikel ist. Also im Prinzip, wenn ein Artikel sein eigener Vaterartikel wäre. kVaterArtikel = 0 würde heißen, dass der Artikel kein Kindartikel ist. kArtikel selbst sollte eigentlich unter keinen Umständen 0 sein, da wird sich, denke ich, auch keiner in tartikel finden. Die Prüfung bezieht sich hier auf $tmpProduct, was kurz zuvor aus Datenbank oder Cache gefüllt werden soll.

Das ist bissel komisch. Der Artikel soll aus der Datenbank geholt werden. Und wenn das nicht gelingt ($tmpProduct = null) ODER wenn kArtikel = kVaterArtikel ist, dann werden CacheTags gefüllt, ein Hook wird ausgeführt und dann wird ggf. versucht den Artikel aus dem Cache zu holen. Obwohl er da eigentlich auch nicht sein kann, wenn er gar nicht in der Datenbank steht. Und wenn $tmpProduct danach *nicht* null ist UND kArtikel immer noch = kVaterArtikel, dann wird dieser Fehler ausgegeben.

Weil hier aber vorher noch ein Hook ausgeführt wird, nehme ich an, dass das irgendwas mit Optionen für den Konfigurator zu tun hat, die durch keinen Artikel im Shop repräsentiert werden, oder das ist eine Implementation für Plugins, die eigene, sonst nicht in der Shop-DB existierende Artikel für irgendwas benutzen.

Hier muss entweder ein Artikel mit kArtikel = 0 im Cache existieren oder beim versuch den Artikel aus dem Cache zu holen, wird der Artikel nicht gefunden, aber statt dann null zurückzugeben, wird ein leerer Artikel mit kArtikel=0 in $tmpProduct geschrieben. Oder irgendwas, was ich gerade nicht bedenke. Das müsste aber in jedem Fall wohl genauer debugged werden, schätze ich.

Das klingt allerdings nach einem Fehler, bei dem man überhaupt erstmal schauen muss, wie man den provoziert bekommt.
 

OliverS

Gut bekanntes Mitglied
Mitarbeiter
1. April 2022
59
30
Hückelhoven
im Fehlerlogbuch findet sich:
a.
Product 0 has invalid parent.
In der Wawi finde ich kein internes Product "0"
Wo ich das hier grad lese... Ich hatte am Freitag noch ein Ticket, weil die Direktaufrufe von ausverkauften Artikeln nicht funktioniert haben. Das gab auch diese Fehlermeldung, ich hab das hier als Bug aufgenommen, und einen möglichen Hotfix der funktionieren sollte, ebenfalls ins Ticket gesetzt: https://issues.jtl-software.de/issues/SHOP-8009
 
Zuletzt bearbeitet: