Dringend: Service unavailable

Ich bekomme iin verschiednen Kategorien im Frontend folgende Meldung Fatal error: Uncaught exception ‚RuntimeException‘ with message ‚Error when rendering „/?action=shopMenu&controller=index&module=widgets“ (Status code is 503).‘ in …/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Esi.php:276 Stack trace: #0 /…/cache/production_201508211013/html/en/c0/99/cea7654b29de4935c491dab0e7011a7a022f642b0a3e2191b17142a2b60e(254): Symfony\Component\HttpKernel\HttpCache\Esi->handle(Object(Shopware\Components\HttpCache\AppCache), ‚/?module=widget…‘, ‚‘, false) #1 /…/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(644): include(’/…’) #2 /…/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(214): Symfony\Component\HttpKernel\HttpCache\HttpCache->restoreResponseBody(Object(Symfony\Component\HttpFoundation\Request), Object(Symfony\Component\HttpFoundation\Response)) #3 /h in /…/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Esi.php on line 276 503 Service Unavailable Den Cache kann ich über das Backend nicht leeren, weil im Backend ebenfalls so gut wie nichts geht. Im Backend erscheint die Meldung Ext.globalEval

Hallo, als erstes die Caches mit der Kommandozeile löschen. Viele Grüße HTH

Äh, wie meinst du mit der Kommandozeile?

[quote=“simplybecause”]Äh, wie meinst du mit der Kommandozeile?[/quote] Per SSH über die Console. Falls du da keinen Zugriff hast, frag deinen Hoster. Alternativ solltest du auch einfach per FTP den Ordner löschen können.

[quote=“simplybecause”]Äh, wie meinst du mit der Kommandozeile?[/quote] Sich über SSH mit der Shell (Kommandozeile) des Servers verbinden und die Caches per Linux-Kommando oder clear_cache-Skript von Shopware löschen. Jetzt war Kayyy schneller: Per FTP ist aber keine gute Idee, es sei denn man hat Lust auf eine sehr lange Kaffeepause. Es können ziemlich viele Dateien im Cache liegen. Außerdem können beständig neue Dateien hinzukommen während der FTP-Client arbeitet. Am Ende steht man im Zweifel mit einem Dateikuddelmuddel da.

Okay, danke für Eure Hilfe. Habe alle Unterverzeichnisse unter /cache/productionxyz/ per ssh gelöscht. Nun läuft es wieder. Hoffe, das war nur eine einmalige Angelegenheit.

Jetzt kann ich im Backend schon wieder einige Menuepunkte nicht aufrufen und erhalte für z.B. Marketing > Auswertungen > E-Mail-Benachrichtigung ein Popup mit folgendem Inhalt: Stack-Trace: Ext.globalEval

Hallo, hast Du den kompletten Cache Ordner gelöscht? Also nicht nur /cache/productionxyz/ ? /cache

Du meinst, alles unterhalb von cache, denn cache ansich muss ja vorhanden bleiben. Jetzt ja. :wink: Hatte nur die Verzeichnisse unterhalb von cache/production xyz gelöscht. Mal gucken, ob es was bringt.

Ja genau, den kompletten Cache Ordner, der kann gelöscht werden, wird wieder neu erstellt wenn nicht vorhanden. :wink:

Jetzt nochmal: den kompletten Ordner cache, also cache selbst auch oder alles unterhalb von cache, damit cache selbst vorhanden bleibt?

Ab deiner Version von Shopware reicht es unterhalb des Cache-Ordners, ist ja nicht mehr die alte Cache-Struktur von Shopware 4. Läuft der Shop denn oder sind es einzelne Probleme im Backend? Und solltest mal nicht sicher sein welcher Ordner gelöscht werden kann, einfach den Ordner mal umbenennen und gucken was nach Neukompilierung passiert. :wink:

Sobald ich den Cache geleert habe, läuft wieder alles. Ich beobachte gerade die log-Einträge sowohl vom Shop selbst und vom Server.

Dann mal abwarten und analysieren. :wink:

Nachfolgend ein Eintrag aus dem Shop-Log-Verzeichnis. Das ist der erste, nach dem ich heute bereits das dritte Mal den Cache leeren musste, weil es im Backend zu Fehlern gekommen ist - siehe vorherige Posts: [2015-09-23 22:13:33] core.ERROR: exception ‘SmartyException’ with message ‘unable to write file /xyz/abc/cache/production_201508211013/templates/frontend_Hf_de_DE_1_secure_esi/27/c5/6e/wrt560307ed6952e2.43543574’ in /xyz/abc/engine/Library/Smarty/sysplugins/smarty_internal_write_file.php:48 Stack trace: #0 /xyz/abc/engine/Library/Smarty/sysplugins/smarty_internal_template.php(201): Smarty_Internal_Write_File::writeFile(’/xyz/www.h…’, ‘<?php /* Smarty…’, Object(Enlight_Template_Manager)) #1 /xyz/abc/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(155): Smarty_Internal_Template->compileTemplateSource() #2 /xyz/abc/engine/Library/Enlight/View/Default.php(274): Smarty_Internal_TemplateBase->fetch() #3 /xyz/abc/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(216): Enlight_View_Default->render(Object(Enlight_Template_Default)) #4 /xyz/abc/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(242): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default)) #5 /xyz/abc/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render() #6 [internal function]: Enlight_Controller_Plugins_ViewRenderer_Bootstrap->onPostDispatch(Object(Enlight_Controller_ActionEventArgs)) #7 /xyz/abc/engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs)) #8 /xyz/abc/engine/Library/Enlight/Event/EventManager.php(211): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs)) #9 /xyz/abc/engine/Library/Enlight/Controller/Action.php(202): Enlight_Event_EventManager->notify(‘Enlight_Control…’, Object(Enlight_Controller_ActionEventArgs)) #10 /xyz/abc/engine/Library/Enlight/Controller/Dispatcher/Default.php(524): Enlight_Controller_Action->dispatch(‘genericErrorAct…’) #11 /xyz/abc/engine/Library/Enlight/Controller/Front.php(227): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #12 /xyz/abc/engine/Shopware/Kernel.php(143): Enlight_Controller_Front->dispatch() #13 /xyz/abc/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(490): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #14 /xyz/abc/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #15 /xyz/abc/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(447): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #16 /xyz/abc/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(347): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true) #17 /xyz/abc/engine/Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #18 /xyz/abc/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(211): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true) #19 /xyz/abc/engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #20 /xyz/abc/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #21 {main} {“uid”:“96f623b”} Kann damit jemand etwas anfangen?

Hallo, evtl. Webspace voll? Würde erklären, dass es immer zu einem späteren Zeitpunkt auftritt. Nach Leerung hast du wieder Platz und es läuft gewisse Zeit rund. Das wäre meine Vermutung Sebastian

Wir hosten bei ProfiHost mit einem Managed Server. Die gesamten Shop-Daten belegen nicht mal 20% des zur Verfügung stehenden Speicherplatzes. Habe gerade die Datenmenge des caches anzeigen lassen: 29 MB Letze Leerung des Caches war um 4:30 Uhr (laut Cronjob). Es ist eine RAM-Disk eingerichtet, die 128 MB Speicher zur Verfügung stellt. Sollte eigentlich alles ausreichen, oder?

“unable to write file” kann ja nun nicht so viele Ursachen haben. a) freier Speicher => ausgeschlossen b) fehlende Rechte Könnte es sein, dass der “Cron” mit anderen Rechten läuft, als der Webserver? Z.B. WWW-User für den Server und “root” für (locale) Cronjobs? Möglich, dass der Cron im Cache Verzeichnisse anlegt, in die der Webserver dann wegen fehlender Rechte nicht mehr schreiben / Unterverzeichnisse anlegen kann.

Der Fehler ist eindeutig. Es kann auf dem vorhandenen Speicher nicht geschrieben werden. Entweder Verzeichnis-Berechtigung falsch oder zu wenig Speicherplatz. Hier die Berechtigung der Ordner mittels SSH anzeigen lassen (ls -ls). Den Speicherplatz mitttels “vgdisplay” überprüfen. Die RAM-Disk würde ich entfernen, 128MB sind definitiv viel zu wenig. Wenn RAM-Disk, dann mindestens 4-8GB. Allerdings wird dann schon ein entsprechender RAM von Nöten sein. :wink: Gruß Olaf

Danke für Euer Input. Nach Rücksprache mit PH wurde der Speicher der RAM-Disk erhöht auf 256 MB, was wohl definitiv ausreichend sein soll. 126 MB soll eigentlich schon genug sein. Die Rechte des Cronjobs sollen auch okay sein. Ich hatte die letzten Tage im Backend bei den Performance-Einstellungen für SEO, Suche, Topseller & Empfehlungsmarketing die Aktualisierungsstrategien auf Cronjob eingestellt, weil es als Empfohlen angezeigt wird. Das habe ich gestern Abend wieder auf Live gestellt. Vielleicht hängt es damit zusammen. Ich warte mal ab und behalte die Logs im Auge. Beim nächsten 503 prüfe ich die Datenmenge des Caches, bevor ich ihn leere.