Autor Thema: Cannot fork: Cannot allocate memory | BlockingInformParent  (Gelesen 20294 mal)

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1166

Offline Shadow3561

  • Full Member
  • ***
  • Beiträge: 223
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #316 am: 22 Juli 2018, 15:32:35 »
Ich habe es mit perlbrew installiert und als Standard gesetzt.
Einfach mal nach perlbrew suchen, es gibt genug Tutorials.

MfG

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19508
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #317 am: 22 Juli 2018, 18:01:46 »
Ich finde ActivePerl am einfachsten.

Offline Wernieman

  • Hero Member
  • *****
  • Beiträge: 4597
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #318 am: 22 Juli 2018, 18:10:04 »
Hatte nicht hier im Thread jemand eine Anleitung gepostet?

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Offline Nighthawk

  • Full Member
  • ***
  • Beiträge: 146
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #319 am: 22 Juli 2018, 23:27:07 »
Im Post #273 ist eine sehr gute Anleitung für Perlbrew.
Mit Active Perl bin ich leider nicht zurechtkommen.

Offline mark79

  • Full Member
  • ***
  • Beiträge: 476
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #320 am: 02 August 2018, 14:38:02 »
Hallo,

ich glaube ich habe das Problem nun auch, jedoch passiert das direkt beim Start von Fhem.

Der Fhem Prozess genehmigt sich innerhalb von 15 Sekunden nach Start gut ~50% Ram Speicher von 4 GB und 100% CPU Last auf einem Core.
Fhem ist dann natürlich nicht zu erreichen...

Meint ihr das liegt an der Perl Version?
ii  perl                                                  5.24.1-3+deb9u4                         arm64        Larry Wall's Practical Extraction and Report Language
ii  perl-base                                             5.24.1-3+deb9u4                         arm64        minimal Perl system
ii  perl-modules-5.24                                     5.24.1-3+deb9u4                         all          Core Perl modules
ii  perl-openssl-defaults:arm64                           3                                       arm64        version compatibility baseline for Perl OpenSSL packages

Das komische ist, das ich nichts upgradet habe. Vorher lief alles. Ich habe ein älteres Fhem Backup eingespielt, aber das hat auch nicht geholfen.

Bei mir läuft Fhem in einem LXC Container, dort habe ich nur das Wirtsystem aktualisiert (apt-get dist-upgrade).

Im Moment stehe ich auf dem Schlauch.... bin aber gerade dabei perlbrew mit Perl 5.20.2 zu installieren: https://forum.fhem.de/index.php/topic,84372.270.html


Viele Grüße
Mark
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, DashButtons, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Offline Nighthawk

  • Full Member
  • ***
  • Beiträge: 146
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #321 am: 02 August 2018, 15:20:44 »
Hallo Zusammen,

auch bei mir ist das Problem des Speicheranstiegs seit gestern (Update des Systems und FHEM) wieder zu beobachten.

Update:
Das Problem bei mir hat einen neuen (anderen Ursprung), also bitte ignorieren.
« Letzte Änderung: 04 August 2018, 08:00:49 von Nighthawk »

Offline Burny4600

  • Hero Member
  • *****
  • Beiträge: 1506
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #322 am: 26 September 2018, 12:10:45 »
Es ist nun einige Zeit mit der Fehlerermittlung her.
Hat sich in der Zwischenzeit eine Fehlererörterung ergeben und entsprechende Maßnahmen?
Derzeit behelfe ich mich immer noch mit einem zyklischem Reboot ab.
Mfg Chris

Raspberry Pi 2/2+/3/3+ / Betriebssystem: Jessie Stretch Lite
Schnittstellen: RFXtrx433E (Oregon) / SIGNALduino / nanoCUL 868MHz (FS20), nanoCUL 433 MHz (IT), LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, FS20, IT, WMR200, TEK603, YouLess, Resol VBUS & DL2, Fronius Datalogger Web 2

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1166
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #323 am: 26 September 2018, 15:58:59 »
Die Ursachen können so verschieden sein, dass es dafür nicht wirklich irgendwelche Maßnahmen gibt, die man ergreifen könnte. Es wurde bereits festgestellt, das bestimmte Regular Expressions mit bestimmten Perl Versionen ein solches Problem hervorrufen können. Diese Regular Expressions müssen nicht mal zwangsläufig in einem FHEM Modul vergraben sein, sondern können auch in einer Perl Library stecken. Im Sird Modul wurde z.B. ebenfalls ein solches Problem gefunden. Dieses wurde durch eine XML Bibliothek hervorgerufen, die in ganz bestimmten Versionen und unter Verwendung ganz spezieller Funktionen Speicher nicht mehr freigegeben hat. Mit anderen Worten, die Bugs stecken durchaus in Perl Bibliotheken drin, auf die die Entwickler von FHEM Modulen keinen Einfluss haben.

Offline gandy

  • Developer
  • Full Member
  • ****
  • Beiträge: 242
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #324 am: 17 Oktober 2018, 15:31:29 »
Hallo Rudi,

meine Hoffnung, dass sich das Thema mit dem Update auf Ubuntu 18.04 und Perl 5.26.1 gibt, hat sich zerschlagen, wäre wohl auch zu einfach gewesen...

Typischerweise läuft meine Produktivumgebung etwa 10 Tage, bis Forks fehlschlagen, beim letzten Monatswechsel aber auch mal nur einen Tag lang. Da ich nicht jeden Tag das Logfile checke, merke ich das mit Tagen Verzögerung anhand irgendwelcher Nebeneffekte. Schöner fände ich es, hier auf ein Event reagieren zu können.

Was würdest Du zu folgender Änderung sagen?
--- fhem.pl     (Revision 17550)
+++ fhem.pl     (Arbeitskopie)
@@ -5311,6 +5311,7 @@
   if(!defined($pid)) {
     Log 1, "Cannot fork: $!";
     stacktrace() if($attr{global}{stacktrace});
+    DoTrigger("global", "CANNOT_FORK", 1);
     return undef;
   }

Danke und beste Grüße,
Andy.
fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19508
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #325 am: 17 Oktober 2018, 17:57:12 »
Habs eingebaut.
Auchg die stacktrace Zeile.

Offline gandy

  • Developer
  • Full Member
  • ****
  • Beiträge: 242
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #326 am: 17 Oktober 2018, 18:29:38 »
Danke. War die stacktrace Zeile nicht drin? Hatte extra ein svn diff gemacht.
fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

Offline gandy

  • Developer
  • Full Member
  • ****
  • Beiträge: 242
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #327 am: 09 November 2018, 08:07:56 »
Nachtrag auf Nachfrage: Hier als Beispiel mein zugehöriges Notify zum automatischen Restart nach einem CANNOT_FORK:

define nf.cannot_fork.restart notify global:CANNOT_FORK shutdown restart

Dieses Notify hat vorgestern erfolgreich getriggert und all die unangenehmen Nebeneffekte verhindert.

Grüße,
Andy.
fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

Offline maci

  • Full Member
  • ***
  • Beiträge: 374
  • ... und sie leben doch!
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #328 am: 12 November 2018, 13:42:59 »
Ich habe das Problem auch, nur baut sich das bei mir über Tage auf.
Derzeit (seit 8. Nov) ist alles stabil im Speicherverbrauch.
Aber irgendwann wird das wieder zuschlagen.
Ich habe das nur beim 2. Server, der zur Zeit mit ca 75 MB Speicherverbrauch läuft.
Ist ein Pi2.
Hier läuft ein OWServer , Fhem und ein Midori Browser im Kioskmodus.
Allerdings erstelle ich hier keine Plots und fast keine Logs.
Die einzigen Logs sind Fhemlog und die Sysmon Logs.

Der Hauptserver ist ein Pi3, hier hatte ich das Problem noch nie.
Hier habe ich immer so um die 330 MB Speicherverbrauch. Hier läuft nur Fhem und DbLog

Bzgl Erkennung: mir ist nicht wirklich klar, wie das abfangen kann.
Das notify im Beitrag davor: Erkennt dieses das Auftreten des Fehlers, ohne zusätzliche Auswertung, das "CANNOT FORK" ?  :-\

Raspberry Pi3, UniPi Vers. 1.1 mit Raspberry Pi2, Netatmo Wetterstation + Regenmesser, Netatmo Thermostat, 2x ESP8266 1wire WLAN Bridge, HMLan, Homematic

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1166
Antw:Cannot fork: Cannot allocate memory | BlockingInformParent
« Antwort #329 am: 12 November 2018, 23:07:37 »
Das erkennt wenn der Speicher ausgegangen ist und startet fhem dann neu. Das kannst du eigentlich immer einbauen, wenn du irgendwelche Probleme dahingehend hast.

 

decade-submarginal