PHP JIT memory failed awstats  [SOLVED]

For topics beyond KeyHelp. / Für Themen jenseits von KeyHelp.
trollolol
Posts: 144
Joined: Wed 18. Sep 2019, 10:18
Location: Eisenach

Re: PHP JIT memory failed awstats

Post by trollolol »

Habe die gleiche Fehlermeldung, aber nie beachtet.
User avatar
Alexander
Keyweb AG
Posts: 3842
Joined: Wed 20. Jan 2016, 02:23

Re: PHP JIT memory failed awstats

Post by Alexander »

Weil der Wunsch an anderer Stelle aufkam:
blickgerecht wrote:evtl. gibt es ja seitens Keyhelp nochmal eine Rückmeldung in dem anderen Thema. Durch den (völlig zurecht) verschlüsselten Quellcode ist die Fehlersuche ohne Hilfe natürlich schwieriger.
(viewtopic.php?p=47979#p47979)


Hier die gewünschte Zeile 175 (früher 158) der IpAddress.php Datei:

Code: Select all

if (preg_match('~([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/([0-9]+)~', $range, $matches))
$range ist ein String einer IPv4 Adresse und könnte folgendermaßen aussehen:

Code: Select all

xxx.xxx.xxx.xxx
xxx.xxx.xxx.[yyy-zzz] 
xxx.xxx.xxx.xxx/nn
---

Man könne das folgende probieren:
Man prüft, ob jit in der CLI aktiv ist aktiv ist:

Code: Select all

php -ini | grep 'pcre.jit'
Und schaltet es dann ggf. inaktiv.

Code: Select all

pcre.jit = 0
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
blickgerecht
Posts: 72
Joined: Tue 28. Nov 2023, 17:52

Re: PHP JIT memory failed awstats

Post by blickgerecht »

Hallo Alexander,

danke schonmal!

Wenn das keine Probleme macht, ist das für uns auch in Ordnung, dass es diese Fehler gibt und wir ignorieren sie als "Rauschen". Ich bin vor allem darüber gestolpert, weil es sie vor dem Upgrade nach dem Anfügen der folgenden Zeilen in /lib/systemd/system/logrotate.service nicht mehr gab:

Code: Select all

# Exception so that AWStats works without complaints
ReadWritePaths=/etc/awstats
Nach dem Upgrade sind die Fehler wieder da. Auf einer initial mit Debian 12 installierten Maschine gibt es die Fehler gar nicht, noch nie. Ich dachte auch, das sei evtl. interessant für euch, da andere Nutzer das gleiche beobachten.

Irgendwie bin ich vorher nicht auf die Idee gekommen, aber ich habe gerade mal noch auf beiden Systemen die Dateien /lib/systemd/system/logrotate.service verglichen. Da gibt es Unterschiede – kann es evtl. daher kommen?

Debian 12, von Anfang an:

Code: Select all

[Unit]
Description=Rotate log files
Documentation=man:logrotate(8) man:logrotate.conf(5)
ConditionACPower=true

[Service]
Type=oneshot
ExecStart=/usr/sbin/logrotate /etc/logrotate.conf

# performance options
Nice=19
IOSchedulingClass=best-effort
IOSchedulingPriority=7

# hardening options
#  details: https://www.freedesktop.org/software/systemd/man/systemd.exec.html
#  no ProtectHome for userdir logs
#  no PrivateNetwork for mail deliviery
#  no ProtectKernelTunables for working SELinux with systemd older than 235
#  no MemoryDenyWriteExecute for gzip on i686
PrivateDevices=true
PrivateTmp=true
ProtectControlGroups=true
ProtectKernelModules=true
ProtectSystem=full
RestrictRealtime=true

# Exception so that AWStats works without complaints
ReadWritePaths=/etc/awstats
Debian 12, Upgrade von Debian 11:

Code: Select all

[Unit]
Description=Rotate log files
Documentation=man:logrotate(8) man:logrotate.conf(5)
RequiresMountsFor=/var/log
ConditionACPower=true

[Service]
Type=oneshot
ExecStart=/usr/sbin/logrotate /etc/logrotate.conf

# performance options
Nice=19
IOSchedulingClass=best-effort
IOSchedulingPriority=7

# hardening options
#  details: https://www.freedesktop.org/software/systemd/man/systemd.exec.html
#  no ProtectHome for userdir logs
#  no PrivateNetwork for mail deliviery
#  no NoNewPrivileges for third party rotate scripts
#  no RestrictSUIDSGID for creating setgid directories
LockPersonality=true
MemoryDenyWriteExecute=true
PrivateDevices=true
PrivateTmp=true
ProtectClock=true
ProtectControlGroups=true
ProtectHostname=true
ProtectKernelLogs=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectSystem=full
RestrictNamespaces=true
RestrictRealtime=true

# Exception so that AWStats works without complaints
ReadWritePaths=/etc/awstats

Übrigens ist jit in beiden in der CLI aktiv, das hatte ich auch geschaut. Nicht, dass es da einen Unterschied gibt.

Oder sagst Du auch, einfach ignorieren?
Grüße
Roland
User avatar
Alexander
Keyweb AG
Posts: 3842
Joined: Wed 20. Jan 2016, 02:23

Re: PHP JIT memory failed awstats

Post by Alexander »

Wie hier (viewtopic.php?p=46287#p46287) vom Nutzer beschrieben, musste er noch "MemoryDenyWriteExecute=true" entfernen.

... Hmm, Ich sehe gerade, bei allen Dist-Upgrade-Scripten lasse ich /lib/systemd/system/logrotate.service neu schreiben, außer bei Debian 11 auf Debian 12... Das würde es natürlich erklären :roll:.

Ich schau mir den Sachverhalt Anfang nächster Woche nochmal an und aktualisiere dann ggf. das Upgrade-Script + aktualisiere ggf. fehlerhafte logrotate.service im Zuge des nächsten KeyHelp-Updates für Debian 12 Systeme.

Hilft natürlich nur solange, bis die Datei ggf. durch ein Logrotate Update später wieder geändert wird.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
blickgerecht
Posts: 72
Joined: Tue 28. Nov 2023, 17:52

Re: PHP JIT memory failed awstats

Post by blickgerecht »

Alexander wrote: Wed 13. Mar 2024, 16:11 Wie hier (viewtopic.php?p=46287#p46287) vom Nutzer beschrieben, musste er noch "MemoryDenyWriteExecute=true" entfernen.
Ach je, das war nach meinem Post dazu. Das hab' ich nicht mehr gesehen. Vielen lieben Dank!
Grüße
Roland
User avatar
Alexander
Keyweb AG
Posts: 3842
Joined: Wed 20. Jan 2016, 02:23

Re: PHP JIT memory failed awstats

Post by Alexander »

Habe die Korrektur am Dist-Upgrade script nun entsprechend vorgenommen.

Die beiden logrotate Dateien werden nun entsprechend überschrieben:

Code: Select all

/lib/systemd/system/logrotate.timer
/lib/systemd/system/logrotate.service
Danke fürs hartnäckig bleiben ;).

Im nächsten regulären KeyHelp-Update überschreibe ich sie für Debian 12 Systeme sicherheitshalber auch noch mal, so dass sie spätestens dann den richtigen stand haben sollten. Ein mögliches nachträgliches Überschreiben seitens des Betriebssystem kann ich natürlich nicht verhindern.

---

Der Vollständigkeit-halber, hier der Inhalt, den die Dateien unter Debian 12 haben sollten:
  • /lib/systemd/system/logrotate.timer

Code: Select all

[Unit]
Description=Daily rotation of log files
Documentation=man:logrotate(8) man:logrotate.conf(5)

[Timer]
OnCalendar=*-*-* 06:24:50
AccuracySec=12h
Persistent=true

[Install]
WantedBy=timers.target
  • /lib/systemd/system/logrotate.service

Code: Select all

[Unit]
Description=Rotate log files
Documentation=man:logrotate(8) man:logrotate.conf(5)
ConditionACPower=true

[Service]
Type=oneshot
ExecStart=/usr/sbin/logrotate /etc/logrotate.conf

# performance options
Nice=19
IOSchedulingClass=best-effort
IOSchedulingPriority=7

# hardening options
#  details: https://www.freedesktop.org/software/systemd/man/systemd.exec.html
#  no ProtectHome for userdir logs
#  no PrivateNetwork for mail deliviery
#  no ProtectKernelTunables for working SELinux with systemd older than 235
#  no MemoryDenyWriteExecute for gzip on i686
PrivateDevices=true
PrivateTmp=true
ProtectControlGroups=true
ProtectKernelModules=true
ProtectSystem=full
RestrictRealtime=true

# Exception so that AWStats works without complaints
ReadWritePaths=/etc/awstats
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Post Reply