Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem mit Wartungsmodus in der Vorschau #159

Open
Anke opened this issue Jan 6, 2024 · 5 comments
Open

Problem mit Wartungsmodus in der Vorschau #159

Anke opened this issue Jan 6, 2024 · 5 comments

Comments

@Anke
Copy link

Anke commented Jan 6, 2024

Hallöchen,

bei einer Contao 5.2.7-Installation werden mir im BE-Wartungsmodus mit Preview-Nutzung nachfolgende Fehlermeldungen (samt Fehlerhinweis im FE, und mein CSS wurde z.T. overruled) angezeigt. Nach dem Deaktivieren des Moduls im Seitenlayout war alles, wie es sein sollte - das muss man wissen ;-).

[2024-01-06T13:06:41.700415+01:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException: "This website is in maintenance mode." at ExceptionConverterListener.php line 91 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\ServiceUnavailableHttpException(code: 0): This website is in maintenance mode. at /www/htdocs/innovalc/innoval-hc/Contao5/vendor/contao/core-bundle/src/EventListener/ExceptionConverterListener.php:91)\n[previous exception] [object] (Contao\\CoreBundle\\Exception\\ServiceUnavailableException(code: 0): This website is in maintenance mode. at /www/htdocs/innovalc/innoval-hc/Contao5/vendor/contao/core-bundle/src/EventListener/ServiceUnavailableListener.php:50)"} []
[2024-01-06T13:06:41.705741+01:00] php.CRITICAL: Uncaught Exception: Error when rendering "https://innoval-hc.com/preview.php/_fragment?_hash=Km3KpxPiOdOLaVQfH7CnPXZWTvJ3NiHJ7IKWa8PnYB4%3D&_path=_scope%3Dfrontend%26moduleModel%3D42%26section%3Dfooter%26pageModel%3D238%26_format%3Dhtml%26_locale%3Den%26_controller%3Dcontao.frontend_module.visitors" (Status code is 503). {"exception":"[object] (RuntimeException(code: 0): Error when rendering \"https://innoval-hc.com/preview.php/_fragment?_hash=Km3KpxPiOdOLaVQfH7CnPXZWTvJ3NiHJ7IKWa8PnYB4%3D&_path=_scope%3Dfrontend%26moduleModel%3D42%26section%3Dfooter%26pageModel%3D238%26_format%3Dhtml%26_locale%3Den%26_controller%3Dcontao.frontend_module.visitors\" (Status code is 503). at /www/htdocs/innovalc/innoval-hc/Contao5/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php:92)"} []
[2024-01-06T13:06:41.706070+01:00] request.CRITICAL: Uncaught PHP Exception RuntimeException: "Error when rendering "https://innoval-hc.com/preview.php/_fragment?_hash=Km3KpxPiOdOLaVQfH7CnPXZWTvJ3NiHJ7IKWa8PnYB4%3D&_path=_scope%3Dfrontend%26moduleModel%3D42%26section%3Dfooter%26pageModel%3D238%26_format%3Dhtml%26_locale%3Den%26_controller%3Dcontao.frontend_module.visitors" (Status code is 503)." at AbstractSurrogate.php line 92 {"exception":"[object] (RuntimeException(code: 0): Error when rendering \"https://innoval-hc.com/preview.php/_fragment?_hash=Km3KpxPiOdOLaVQfH7CnPXZWTvJ3NiHJ7IKWa8PnYB4%3D&_path=_scope%3Dfrontend%26moduleModel%3D42%26section%3Dfooter%26pageModel%3D238%26_format%3Dhtml%26_locale%3Den%26_controller%3Dcontao.frontend_module.visitors\" (Status code is 503). at /www/htdocs/innovalc/innoval-hc/Contao5/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php:92)"} []
[2024-01-06T13:06:41.713767+01:00] messenger.INFO: Sending message Contao\CoreBundle\Messenger\Message\SearchIndexMessage with contao_prio_low sender using Contao\CoreBundle\Messenger\Transport\AutoFallbackTransport {"class":"Contao\\CoreBundle\\Messenger\\Message\\SearchIndexMessage","alias":"contao_prio_low","sender":"Contao\\CoreBundle\\Messenger\\Transport\\AutoFallbackTransport"} []
[2024-01-06T13:06:41.713875+01:00] messenger.INFO: Received message Contao\CoreBundle\Messenger\Message\SearchIndexMessage {"class":"Contao\\CoreBundle\\Messenger\\Message\\SearchIndexMessage"} []
[2024-01-06T13:06:41.714328+01:00] messenger.INFO: Message Contao\CoreBundle\Messenger\Message\SearchIndexMessage handled by Contao\CoreBundle\Messenger\MessageHandler\SearchIndexMessageHandler::__invoke {"class":"Contao\\CoreBundle\\Messenger\\Message\\SearchIndexMessage","handler":"Contao\\CoreBundle\\Messenger\\MessageHandler\\SearchIndexMessageHandler::__invoke"} []

@BugBuster1701
Copy link
Owner

Das passiert, wenn man in der Seitenstruktur den Wartungsmodus einschaltet und dann mit der Vorschau Funktion arbeitet.
Dafür gibt es leider keinen Fix. Wartungsmodus gibt normalerweise ein Error 503 aus, der Preview Modus überstimmt das, kann das aber nicht bei ESI Request aus dem Cache.

@Schmidty2
Copy link

Schmidty2 commented Nov 24, 2024

Das Problem besteht auch außerhalb des Preview-Modus.

Bei aktiviertem Wartungsmodus im Startpunkt und angelegter 503-Seite im Backend verhindert das contao-visitors-bundle den Aufruf der 503-Seite. Das Problem tritt auch auf, wenn man den Wartungsmodus im Seitenlayout aktiviert und sich dann im Backend wieder abmeldet und danach nur das Frontend der Seite aufruft, auch mit einem andern Browser.
Getestet habe ich das Ganze mit drei verchiedenen Browsern (Firefox und Chrome unter Windows und Safari im iPad). Ich war immer im Backend abgemeldet, nur das Frontend wurde aufgerufen.

Contao 5.3.18 mit PHP 8.3.12 bei All-Inkl
contao-visitors-bundle Version 1.14.3

So kann das Ganze reproduziert werden:

  1. Vorhandene Seite mit Besucherzähler als Modul im Seitenlayout eingebunden, Besuchervorlage im Modul ist mod_visitors_fe_invisible
  2. Wartungsseite 503 im Backend anlegen (wenn nicht vorhanden)
  3. Im Startpunkt der Webseite den Wartungsmodus aktivieren.
  4. Im Backend abmelden und den Browser schließen.
  5. Mit einem anderen Browser das Frontend der Homepage aufrufen, es müsste die Wartungsseite 503 ausgeliefert werden. Hier ist der Preview-Modus definitiv nicht aktiv, es wird keine Seite ausgeliefert.
  6. Nach längerem Warten wird in var/logs ein error.log erstellt und ein die Contao-Fehlerseite angezeigt.
  7. Im Backend anmelden und im Seitenlayout das Modul des contao-visitors-bundle deaktivieren, den Wartungsmodua aktiviert lassen.
  8. Im Backend wieder abmelden das Frontend der Seite aufrufen - die Wartungsseite 503 wird angezeigt, so wie es sein soll.

Hier den Inhalt von var/logs/prod-2024-11-24.log
[2024-11-24T10:05:26.813760+01:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException: "This website is in maintenance mode." at ExceptionConverterListener.php line 89 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\ServiceUnavailableHttpException(code: 0): This website is in maintenance mode. at /www/htdocs/w1234567/verzeichnisname/vendor/contao/core-bundle/src/EventListener/ExceptionConverterListener.php:89)\n[previous exception] [object] (Contao\\CoreBundle\\Exception\\ServiceUnavailableException(code: 0): This website is in maintenance mode. at /www/htdocs/w1234567/verzeichnisname/vendor/contao/core-bundle/src/EventListener/ServiceUnavailableListener.php:55)"} {"request_uri":"https://www.domain.de/_fragment?_hash=DHuntK%2BhQp%2FxU1Z%2FTLoTco8QnOQ07%2B%2FxuPtzdhPhwrY%3D&_path=_scope%3Dfrontend%26moduleModel%3D176%26section%3Dfooter%26pageModel%3D177%26_format%3Dhtml%26_locale%3Dde%26_controller%3Dcontao.frontend_module.visitors","request_method":"GET"} [2024-11-24T10:05:26.862800+01:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\ErrorHandler\Error\OutOfMemoryError: "Error: Allowed memory size of 805306368 bytes exhausted (tried to allocate 2621440 bytes)" at Controller.php line 990 {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\OutOfMemoryError(code: 0): Error: Allowed memory size of 805306368 bytes exhausted (tried to allocate 2621440 bytes) at /www/htdocs/w1234567/verzeichnisname/vendor/contao/core-bundle/contao/library/Contao/Controller.php:990)"} {"request_uri":"https://www.domain.de/_fragment?_hash=DHuntK%2BhQp%2FxU1Z%2FTLoTco8QnOQ07%2B%2FxuPtzdhPhwrY%3D&_path=_scope%3Dfrontend%26moduleModel%3D176%26section%3Dfooter%26pageModel%3D177%26_format%3Dhtml%26_locale%3Dde%26_controller%3Dcontao.frontend_module.visitors","request_method":"GET"} [2024-11-24T10:05:29.551359+01:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException: "This website is in maintenance mode." at ExceptionConverterListener.php line 89 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\ServiceUnavailableHttpException(code: 0): This website is in maintenance mode. at /www/htdocs/w1234567/verzeichnisname/vendor/contao/core-bundle/src/EventListener/ExceptionConverterListener.php:89)\n[previous exception] [object] (Contao\\CoreBundle\\Exception\\ServiceUnavailableException(code: 0): This website is in maintenance mode. at /www/htdocs/w1234567/verzeichnisname/vendor/contao/core-bundle/src/EventListener/ServiceUnavailableListener.php:55)"} {"request_uri":"https://www.domain.de/_fragment?_hash=DHuntK%2BhQp%2FxU1Z%2FTLoTco8QnOQ07%2B%2FxuPtzdhPhwrY%3D&_path=_scope%3Dfrontend%26moduleModel%3D176%26section%3Dfooter%26pageModel%3D177%26_format%3Dhtml%26_locale%3Dde%26_controller%3Dcontao.frontend_module.visitors","request_method":"GET"} [2024-11-24T10:05:29.599658+01:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\ErrorHandler\Error\OutOfMemoryError: "Error: Allowed memory size of 805306368 bytes exhausted (tried to allocate 2621440 bytes)" at Controller.php line 990 {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\OutOfMemoryError(code: 0): Error: Allowed memory size of 805306368 bytes exhausted (tried to allocate 2621440 bytes) at /www/htdocs/w1234567/verzeichnisname/vendor/contao/core-bundle/contao/library/Contao/Controller.php:990)"} {"request_uri":"https://www.domain.de/_fragment?_hash=DHuntK%2BhQp%2FxU1Z%2FTLoTco8QnOQ07%2B%2FxuPtzdhPhwrY%3D&_path=_scope%3Dfrontend%26moduleModel%3D176%26section%3Dfooter%26pageModel%3D177%26_format%3Dhtml%26_locale%3Dde%26_controller%3Dcontao.frontend_module.visitors","request_method":"GET"} [2024-11-24T10:06:10.870584+01:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException: "This website is in maintenance mode." at ExceptionConverterListener.php line 89 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\ServiceUnavailableHttpException(code: 0): This website is in maintenance mode. at /www/htdocs/w1234567/verzeichnisname/vendor/contao/core-bundle/src/EventListener/ExceptionConverterListener.php:89)\n[previous exception] [object] (Contao\\CoreBundle\\Exception\\ServiceUnavailableException(code: 0): This website is in maintenance mode. at /www/htdocs/w1234567/verzeichnisname/vendor/contao/core-bundle/src/EventListener/ServiceUnavailableListener.php:55)"} {"request_uri":"https://www.domain.de/_fragment?_hash=DHuntK%2BhQp%2FxU1Z%2FTLoTco8QnOQ07%2B%2FxuPtzdhPhwrY%3D&_path=_scope%3Dfrontend%26moduleModel%3D176%26section%3Dfooter%26pageModel%3D177%26_format%3Dhtml%26_locale%3Dde%26_controller%3Dcontao.frontend_module.visitors","request_method":"GET"} [2024-11-24T10:06:10.915018+01:00] request.CRITICAL: Uncaught PHP Exception Symfony\Component\ErrorHandler\Error\OutOfMemoryError: "Error: Allowed memory size of 805306368 bytes exhausted (tried to allocate 2621440 bytes)" at Controller.php line 990 {"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\OutOfMemoryError(code: 0): Error: Allowed memory size of 805306368 bytes exhausted (tried to allocate 2621440 bytes) at /www/htdocs/w1234567/verzeichnisname/vendor/contao/core-bundle/contao/library/Contao/Controller.php:990)"} {"request_uri":"https://www.domain.de/_fragment?_hash=DHuntK%2BhQp%2FxU1Z%2FTLoTco8QnOQ07%2B%2FxuPtzdhPhwrY%3D&_path=_scope%3Dfrontend%26moduleModel%3D176%26section%3Dfooter%26pageModel%3D177%26_format%3Dhtml%26_locale%3Dde%26_controller%3Dcontao.frontend_module.visitors","request_method":"GET"}

@BugBuster1701
Copy link
Owner

Als ich sehe hier als erstes ein:
OutOfMemoryError(code: 0): Error: Allowed memory size of 805306368 bytes exhausted (tried to allocate 2621440 bytes
Irgendwas frisst da mehr als 800 MB RAM.
Wenn das einige Sekunden braucht bis dahin, dann sieht das nach einer Redirect Schleife aus bis es knallt.
Ich versuche das mal nach zu stellen.

@BugBuster1701
Copy link
Owner

Siehe auch im Forum

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants