Debian Jessie Apache 2.4 crashes bei Reload

  • Guten Tag,


    wir haben seit dem 4.2. häufiger das Problem, dass die Apache Reloads vom Liveconfig einen Bug im Apache 2.4 (aktuelles amd64 Debian Jessie) mit FastCGI PHP auslöst.
    Die mehrfachen Reloads triggern zB:


    error.log.12.gz:[Thu Feb 04 09:52:38.571720 2016] [mpm_event:error] [pid 31478:tid 140087651706752] AH00485: scoreboard is full, not at MaxRequestWorkers
    error.log.12.gz:[Thu Feb 04 09:52:39.572832 2016] [mpm_event:error] [pid 31478:tid 140087651706752] AH00485: scoreboard is full, not at MaxRequestWorkers
    error.log.12.gz:[Thu Feb 04 09:52:40.573925 2016] [mpm_event:error] [pid 31478:tid 140087651706752] AH00485: scoreboard is full, not at MaxRequestWorkers
    error.log.12.gz:[Thu Feb 04 09:52:41.575047 2016] [mpm_event:error] [pid 31478:tid 140087651706752] AH00485: scoreboard is full, not at MaxRequestWorkers
    error.log.12.gz:[Thu Feb 04 09:52:42.576181 2016] [mpm_event:error] [pid 31478:tid 140087651706752] AH00485: scoreboard is full, not at MaxRequestWorkers
    error.log.12.gz:[Thu Feb 04 09:52:43.577321 2016] [mpm_event:error] [pid 31478:tid 140087651706752] AH00485: scoreboard is full, not at MaxRequestWorkers
    error.log.12.gz:[Thu Feb 04 09:52:44.578467 2016] [mpm_event:error] [pid 31478:tid 140087651706752] AH00485: scoreboard is full, not at MaxRequestWorkers
    error.log.12.gz:[Thu Feb 04 09:52:45.579573 2016] [mpm_event:error] [pid 31478:tid 140087651706752] AH00485: scoreboard is full, not at MaxRequestWorkers
    error.log.12.gz:[Thu Feb 04 09:52:46.580680 2016] [mpm_event:error] [pid 31478:tid 140087651706752] AH00485: scoreboard is full, not at MaxRequestWorkers
    error.log.12.gz:[Thu Feb 04 09:52:47.582295 2016] [mpm_event:error] [pid 31478:tid 140087651706752] AH00485: scoreboard is full, not at MaxRequestWorkers


    Was dann zB endet in:


    error.log.4.gz:[Fri Feb 12 10:54:12.262734 2016] [core:notice] [pid 31478] AH00060: seg fault or similar nasty error detected in the parent process


    Nun ist das kein Bug vom Liveconfig selbst, aber das Verhalten scheint sich mit der Version 2.1.0-r4084 geändert zu haben, so dass der jetzt erst merklich auftritt (zB wenn man Domains editiert).


    Im lcclient Log sieht mann dann auch zB:


    [2016/02/15 13:44:55.616962] [703|714] [LUA] LC.exec(/usr/sbin/a2ensite web812.conf): program output: Site web812 already enabled
    [2016/02/15 13:45:04.439017] [703|714] [LUA] LC.exec(/usr/sbin/a2ensite web812.conf): program output: Site web812 already enabled
    [2016/02/15 13:45:10.524622] [703|715] [LUA] LC.exec(/usr/sbin/a2ensite web812.conf): program output: Site web812 already enabled
    [2016/02/15 13:45:20.649210] [703|714] [LUA] LC.exec(/etc/init.d/apache2 reload): program output: Reloading apache2 configuration (via systemctl): apache2.service failed!
    [2016/02/15 13:45:20.649276] [703|714] [LUA] LC.exec(/etc/init.d/apache2 reload): error output: Job for apache2.service failed. See 'systemctl status apache2.service' and 'journalctl -xn' for details.
    [2016/02/15 13:45:20.649299] [703|714] [LUA] LC.exec(/etc/init.d/apache2 reload): exited with return code 1
    [2016/02/15 14:16:39.132338] [703|715] [LUA] LC.exec(/usr/sbin/a2ensite web812.conf): program output: Site web812 already enabled
    [2016/02/15 14:16:49.840130] [703|715] [LUA] LC.exec(/etc/init.d/apache2 reload): program output: Reloading apache2 configuration (via systemctl): apache2.service.
    [2016/02/15 14:16:51.120074] [703|713] [LUA] LC.exec(/usr/sbin/a2ensite web812.conf): program output: Site web812 already enabled

  • Ja, mit LiveConfig (oder Änderungen daran) hat das nichts zu tun. Seit jeder führt Apache lediglich ein "Reload" aus (wenn an irgendeinem vHost was geändert wurde). Genau das scheint der Analyse bei StackOverflow nach aber die Ursache für das volle Scoreboard zu sein (also dass die Reloads zu lange brauchen bzw. alte Childs nicht flott genug beendet werden).


    In diesem Fall müssen also die Server-Parameter (MaxRequestWorkers, MaxConnectionsPerChild etc.) getuned werden. Ich vermute mal, dass Sie die Prefork-MPM nutzen?


    Seitens LiveConfig könnte man höchstens das minimale Warteintervall zwischen zwei Reload-Befehlen hochsetzen (Standard: mind. 60 Sekunden). Dadurch braucht es aber dann etwas länger bis Änderungen aktiv werden.


    Viele Grüße


    -Klaus Keppler

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!