Shopware 5.3. - Refresh Statistics lädt sich tot

Hi zusammen,

seit dem Update auf einem Testsystem (Gottseidank) habe ich das Problem, dass sich das Refresh Statistics Widget todlät. Sprich,
der Request

https://www.meinestruempfe.de/shopwaretest/widgets/index/refreshStatistic?requestPage=/shopwaretest/&requestController=index

findet kein Ende.

Hat jemand eine Idee, was das sein könnte?

Vielen Dank und viele Grüße,

Chris

Da es eine Testumgebung ist, mal alle Plugins ausgemacht bzw. Standard Theme probiert? Konnte ich bei mir zumindest nicht nachstellen.

Ist auch im Standardtheme der Fall. Aktuell habe ich noch eine Idee, woran es denn liegen könnte… Es wird ein Inline-JavaScript von mir an den Block appended, welches den Statemanager benötigt, welcher jetzt natürlich nach dem neuen asynchronen Laden an dieser Stelle noch nicht zur Verfügung steht. Hmm…

Hallo corsay,

schau mal hier: Shopware 5 upgrade guide 
Dein Inline Javascript sollte natürlich erst dann laufen, wenn alles geladen wurde. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

Hi Michael,

das habe ich ebenfalls mit eingebaut. Irgendwas ist komisch… Auch wenn ich das Plugin von mir deaktiviere, besteht der Fehler weiterhin.

So, mein Plugin lädt nun wieder. Gibts auch eine Abfrage, mit der man explizit nach dem geladenen Statemanager fragen kann? Das würde das Laden bestimmt deutlich beschleunigen, oder?

Die Statistiken laden leider immer noch… Vielleicht gehts dann in der Liveumgebung. Ansonsten bleibt mir nur, die Statistiken zu Überschreiben. Das Template wird an dieser Stelle auf keinen Fall von irgendwas überschrieben.

Hi nochmal die Herren,

so, der Shop läuft nun auf 5.3 im Livemodus und der Statistiker lädt sich immer noch tot:

https://www.meinestruempfe.de/widgets/index/refreshStatistic?requestPage=/&requestController=index

So, kann es vielleicht der hier sein?

 

ERROR
Message: 	

Enlight_Controller_Exception: Action "Widgets_Index_indexAction" not found failure in /html/shopware/engine/Library/Enlight/Controller/Action.php:402
Stack trace:
#0 /html/shopware/engine/Library/Enlight/Controller/Action.php(159): Enlight_Controller_Action->__call('indexAction', Array)
#1 /html/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(525): Enlight_Controller_Action->dispatch('indexAction')
#2 /html/shopware/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#3 /html/shopware/engine/Shopware/Kernel.php(184): Enlight_Controller_Front->dispatch()
#4 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(491): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#5 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(268): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#6 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#7 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(344): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#8 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(189): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#9 /html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(210): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#10 /html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(116): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#11 /html/shopware/shopware.php(118): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#12 {main}

Time: 	

2017-08-01T12:58:58.982571+0200

Channel: 	

core

request: 	

{
    "uri": "/shopwaretest/widgets/index/refreshStatistic?requestPage=/shopwaretest/&requestController=index",
    "method": "GET",
    "query": {
        "requestPage": "/shopwaretest/",
        "requestController": "index",
        "module": "widgets",
        "controller": "shopwaretest",
        "action": "index",
        "refreshStatistic": ""
    },
    "post": []
}

session: 	

No session data available

shopId: 	

1

shopName: 	

Hauptshop Deutsch

 

So, jetzt habe ich erstmal die Statistiken deaktiviert. Ne andere Idee habe ich gerade leider nicht…

Hat hier keiner eine Idee, weshalb das nicht laufen möchte? Auch im Originaltemplate funktionierts nicht… Echt komisch.

Naja im Demoshop läuft es. Das müsste man bei deinem Shop im speziellen debuggen. (z.B. alle Plugins deaktvieren usw.) Vielleicht liegt es auch am Hoster? kA

Ein allgemeines Shopware-Problem ist es jedenfalls nicht. 

Viele Grüße

wenn du ganz viel Glück hast, hat jemand genau das gleiche Problem und meldet sich hier. Dann hilft es aber auch nicht, den Beiträg ständig wieder hochzuholen :confused:

Ja, da hast Du natürlich völlig recht. Ein Tag bereits am Debuggen. Nicht nur dieses Problem. Das ist jetzt leider das Letzte :slight_smile:

Wenn du keinen Zugriff auf eine Debugumgebung hast (z.B. XDEBUG oder ähnliches) kannst du auch einfach testweise mal die(“TEST”); in den Code einbauen und schauen wie weit noch alles läuft: 

shopware/Bootstrap.php at 5.3 · shopware/shopware · GitHub

Ist das Statisktik-Plugin bei dir im Plugin-Manager aktiv?

Viele Grüße

Interessanterweise macht er alles bis auf den Header zu setzen:

 

        /** Setting mime type for jsonp request */
        $this->Response()->setHeader('Content-type', 'application/javascript', true);

 

Was passiert, wenn du nach dem setHeader noch ein die(“TEST”); machst? Wird das ausgegeben?

Mir fällt nur auf, dass hier zwar ein Header gesetzt wird, der Body aber leer bleibt.

Viele Grüße

Sobald ich die Zeile komplett auskommentiere, funktionieren die Statistiken einwandfrei…

Was passiert, wenn du nach dem setHeader noch ein die(„TEST“); machst? Wird das ausgegeben?

Nur kurz, könntest du das auch noch testen? :) 

Ja, wird ausgegeben und das Rödeln hört direkt danach auf :slight_smile:

Ok hier meine Vermutung:

  • Bei dir ist irgendwas vor dem Webserver vorgeschaltet, was nicht damit zurecht kommt, dass der Body leer bleibt, obwohl der Content-Type gesetzt ist (Varnish, Irgendwelche Caches, Apache Module, etc. … )
  • Vielleicht wird auch irgendwie die Content-Length gesetzt und die stimmt dann nicht überein? Kann das zu Konflikten führen?
  • Irgendwas anderes kommt damit nicht zurecht auf dem Server

Es gibt auch andere mit dem Problem:
In case of empty response, REST Client wait indefinitely · Issue #158 · chao/RESTClient · GitHub

Vielleicht findest du ja noch das betroffene Modul, etc.

Viele Grüße

1 Like

Sehr eigenartig, da es vor dem Update definitiv noch funktioniert hat. Also in der 5.2. Wahrscheinlich irgendein Modul, wobei ich schon alle deaktiviert hatte… Dann auf jeden Fall was am Server. Nun denn, vorerst funktionierts ja erstmal so.