5.3.2, unser Freund, der unknown tag "s"

PHP Fatal error: 
Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template 
"/var/.../themes/Frontend/Bare/frontend/index/index.tpl" 
on line 7 html class="no-js" lang="{s name='IndexXmlLang'}{/s}" itemscope="itemscope" itemtype="http://schema.org/WebPage" unknown tag "s"
in /var/.../engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php:657

In einem SW 5.3.3 haben wir bei einem Kunden nun auch diese Fehlermeldung und ich suche mir seit Tagen einen Wolf nach der Ursache. Im Shop selber sind KEINE  inkompatiblen Plugins installiert. Alle Plugins (und das sind ganz wenige) sind auf aktuellen Stand. Leider tritt immer spoardisch diese nervige Fehlermeldung (unknown tag “s”) im System auf. Die Seite des Artikels bliebt weiß. Es sind immer nur bestimmte Artikel die es betrifft. Ein Zusammenhang ist (noch) nicht erkennbar. Nach dem Cache leeren ist der Fehler in der Regel wieder weg, tritt aber irgendwann wieder auf. Testhalber haben wir in der config.php auch “‘enabled’ => true” eingetragen. Leider ohne jeglichen Erfolg.

Langsam geht mir das sowas von auf den … Sorry

Was kann ich noch tun um diesem Mist entlich ein Ende zu setzen?

 

Wir hatten ein bestimmtes SEO-Plugin drin. Seit wir es deaktiviert haben, ist Ruhe.

@Moritz Naczenski schrieb:

Ihr könnt bei großen Problemen die Smarty-Security auch als temporäre Lösung komplett deaktivieren in der config.php:

‚template_security‘ => [
‚enabled‘ => true,
],

Empfiehlt sich aber nur, als temporäre Lösung, bis ihr in euren Testumgebungen den Übeltäter gefunden habt.

Wir haben die Empfehlung als temporäre Lösung genutzt (übrigens kein PayPal installiert…), was auch die letzten Tage den Fehler endlich ausgeschaltet hat. Doch heute morgen ist der trotzdem wieder aufgetreten.

Gibt es keine Möglichkeit, die Smarty-Kompilierung direkt beim Fehler „crashen“ zu lassen? Scheinbar wird ja der Tag gar nicht erst geladen oder wieder gelöscht, da sollte ja der Fehler vor der Meldung im Log auftreten.

Ich tippe ja eher auf einen BUG im http-cache. Hab zwar nicht so viel Traffic, aber auch keine “S”-Fehler - allerdings habe ich auch den HTTP-Cache deaktiviert, was bei “wenig” Traffic den Shop eh schneller macht. Wink Mit “HTTP-Cache” aktiviert hab ich oft Fehler, weil der Timeout für das Filesystem etwas knapp bemessen ist.
Der Fehler scheint auch nicht umbedingt im “S”-Tag zu sein, sondern ein paar Code-Stellen früher. Ich vermute so eine Art Kombination aus ESI-Tag und “S”-Regexpression.

Edit: Nee - nochmal nachgedacht: Passt nicht so ganz:
Wenn “Cache löschen” für eine gewisse Zeit hilft, wird es was mit dem Smarty-Cache zu tun haben können. Damit Textbausteine selber wieder Smarty abarbeiten können, müssen sie ja durch den Compiler gejagt werde. mit “Include string:” wird der Inhalt gerendert und mit einem Hash aus dem Inhalt vom gerenderten Textbaustein im Cache abgelegt und includet. Auch wenn es nur “einmal” verwendet wird, bleibt es bis zum Cache Leeren vorhanden und wird ggf. überschrieben. Möglich wäre also auch, dass hier beim Überschreiben ein Fehler entsteht oder ein Datei-Limit in einem Verzeichnis erreicht wird.

Ich habe bisher keinen blassen Schimmer woher das kommt. Ich weiß nur, nach dem Cache leeren (nicht über Cronjob, sondern manuell) ist der Fehler weg. Und den Fehler sehe ich nur bei Produkten deren Lagerbestand 0 oder -1 ist.

@IFF schrieb:

Ich habe bisher keinen blassen Schimmer woher das kommt. Ich weiß nur, nach dem Cache leeren (nicht über Cronjob, sondern manuell) ist der Fehler weg. Und den Fehler sehe ich nur bei Produkten deren Lagerbestand 0 oder -1 ist.

Das mit dem Lagerbestand können wir für einen unserer Shops bestätigen - wenn wir das betreffende Produkte auf einen Lagerbestand größer 0 setzen tritt der Fehler nicht mehr auf, setzt man direkt anschließend zurück auf 0 oder -1 ist der Fehler wieder da. Auch wir suchen bereits seit mehreren Tagen den Fehler und kommen nicht weiter…  

Wir haben auch viele Artikel welche mit Überverkauf laufen

Hallo, wir sind die Neuen …  

Wir haben gestern von 5.2.22  auf 5.3.3 gewechselt und nun das gleiche Problem!

Auch hier der 500 Fehler ausnahmslos bei Artikeln mit Warenbestand = Null

/engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(443): Smarty_Internal_TemplateCompilerBase->trigger_template_error(‘unknown tag “s”’, 7) #1

Variantenartikel mit Bestand = Null werden hingegen angezeigt

Wird der Cache manuell geleert, ist der Fehler verschwunden, anschließendes Aufwärmen des Cache, der Fehler ist wieder da… 

Erneut manuell leeren - alles o.k.

LG Hans

Morgen in die Runde der vom „unknown tag s“ geplagten Schicksal

Frage: Habt ihr zuflällig dazu auch ein Plugin für Lagerbestand mit installiert?

 

kein Lagerbestand Plugin

Was auch sehr verwundert, wir haben vorher ausführlich auf einem 1:1 Testserver geprüft, da gab und gibt es das Problem nicht… ?  

ich bin jetzt ca 24h Fehlerfrei bei mir scheint es mit PayPal Plus zusammen zu hängen. PayPal Plus jetzt deaktiviert und jetzt kommt der Fehler nicht mehr.
Habt ihr PayPal Plus laufen?

Moin in die Runde,

ich reihe mich mal mit in die Runde der geplagten “unknown tag s” User mit ein. Habe schon viele graue Haare und durch die Fehlersuche werden es immer mehr. Witzig ist, dass in der Tat dieser Fehler nur bei Produkten auftritt, deren Lagerbestand kleiner 1 zu seien scheint. Aktuell läßt sich nciht erkennen, ab welchem Zeitpunkt dieser Fehler vorkommt. Er tritt sehr sporadisch auf. Und nach dem Cache leeren (also übers Backend per Hand) ist er wieder weg.

[Nachtrag]

Ich habe versucht das Problem auf einer 1:1 Testumgebung nachzustellen. Ich kann machen was ich will, aber dort tritt der Fehler nicht auf. Was ich davon halten soll weiß ich nicht.

 

Gerade probiert mit Paypal Plus, keine Änderung…

Irgendwie hat das Ganze mit dem smarty Cache zu tun.  Sonic verweist ja auch schon darauf.

Der Trigger scheint wohl verschieden zu sein, bei uns ist definitiv Lagerbestand = 0 der Auslöser

Ich habe keine Ahnung von Programmierung aber es passiert doch wohl hier….   

 /engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 657

Damit muss doch für die Spezies was anzufangen sein.

Ohne Aufwärmen ist der Shop unerträglich lahm und das mit angekündigter Performance Verbesserung  40+ out oft he box     

Jedenfalls ist das kein Zustand,  der unknown „s“ tag ist  definitiv nicht mein Freund!   

LG Hans

Hallo Hans,

ich hatte den Fehler immer beim zurück leiten von PayPal zum Shop dann kommt eine komplett weiße Seite bis ich den Cache leere (deshalb leere ich aktuell alle  5Minuten Cache per Cron bringt nur bedingt was…)

Das hat Bestellungen ohne Ende gekostet ca 10 Stück am tag…

request: „GET /checkout/finish/sUniqueID/QHXHj3ESsn7GytMi9errjt8L90RUaB8D HTTP/1.1“, upstream: „fastcgi://unix:/run/php/php7.0-fpm.sock:“, host: „www.shop.de“, referrer: „https://www.shop.de/checkout/confirm

Jop, das war auch der Fehler bei vielen anderen wenn es von PP zurück zum Shop geht.
Jedoch sind PP und PP-Plus Core Plugins daher sollte so etwas nicht sein.

 

Ich verkaufe nur Lagerbestand ab daher kann ich die Vermutung nicht bestätigen das der Bestand unter 0 sein muss.

 

Ich glaube der Verweis auf die “smarty_internal_templatecompilerbase.php” sind Folgefehler, aber nicht die Ursache. Leider kann man mit der Fehlermeldung rein gar nichts anfangen.

Ich habe gerade eine pp+ Bestellung gemacht, Rechnung, KK, PP soweit o.k. wenn ich den regulären PP Weg zurück gehe, auch wenn wenn ich im Browser zurück gehe kein Problem…

Kann denn mal jemand die Sache mit dem WB = 0  oder auch  WB < 0 bestätigen ?  Ich will mich ja nicht darauf festlegen, aber mindstens bei 3 Leuten ist das die bisher gemeinsam gefundene Ursache. 

Abgesehen davon, warum taucht das Problem auf unserem Testserver wie auch bei 4RAM nicht auf ?

Was ist denn hier der Unterschied?  

LG Hans

  

Das mit dem Warenbestand kann ich bestätigen.

Der Fehler tratt immer nur bei bestimmten Artikeln auf (jedenfalls in der Live-Umgebung). Wir konnten das nachvollziehen, nachdem wir bei einem besagten Artikel ohne den Cache zu lerren den Lagerbestand auf 1 gesetzt hatten. Dann war der Fehler weg! Dann wieder auf 0 gesetzt => Fehler wieder da. Cache geleert => Fehler weg. Also langsam geht mir auch der Mist auf den Sack!

Warum der Fehler auch bei unserer Testumgebung nicht vorkommt, ist mir ein völliges Rätsel. Die Testumgebung ist eine 1:1 Kopie der Live-Umgebung in einem Unterverzeichnis. Es herschen also die selben Bedingungen. Der einzige Unterschied ist die URL.

Offensichtlich ist das kein Plugin Problem oder sonst irgendein User Problem!  Das kann nur ein SW BUG sein! 

Bis vor dem gestrigen 5.3.3 Livegang hatten wir keine Probleme, seit Juni monatelang auf alle Plugin Updates gewartet, vorab getestet, die sensible SW Lady bloß nicht verärgern und jetzt dieser Salat.  Ein Downgrade ist ja leider nicht möglich.  Ich habe nicht die Absicht weiter mit der Stange im Nebel zu stochern schon gar nicht wochenlang …

Also bitte liebes SW Team, nehmt euch des Problems an!

LG Hans            

1 „Gefällt mir“