Der Tipp bei Neustart mit dem aktiven Netzwerk verbinden, hat geholfen, vielen Dank. Steht sogar unter Schritt 9 im Installationsmanual🙄
Ankündigung
Einklappen
Keine Ankündigung bisher.
Fragen und Probleme mit Edomi unter CentOS 7
Einklappen
X
-
Zitat von beauty Beitrag anzeigenHallo,
hat jemand eine Idee wie ich den folgenden Fehler los werde? Dieser taucht alle 2-3 Tage im Log auf und sämtliche Logiken werden gestoppt und Edomi muss neugestartet werden. Eine Neuinstallation sowie das memory_limit in der php.ini von 128MB auf 256MB erhöhen hatte keinen Erfolg. Habe auch schon sämtliche Logiken die nicht wichtig sind deaktiviert. Weitere Logiken deaktivieren wäre nicht ohne weiteres möglich ohne wichtige tägliche Funktionen zu verlieren. Daher die Frage ob jemand weiss wie ich das beheben kann?
Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 1 | Zeile: 20 | Allowed memory size of 268435456 bytes exhausted (tried to allocate 16384 bytes)
Dachte ein buggy LBS wäre das Problem, aber nix wars... die Fehlermeldung taucht immer noch alle paar Tage im Log auf.
Kommentar
-
Ja hab einige Threads gefunden mit diesem Problem, aber da wurde keine wirkliche Lösung beschrieben.
Hab das curl update gemacht und den buggy LBS wie im passenden Thread geschrieben nach besten wissen gefixt.
Aber der Fehler war heute wieder da....
Das einzigste was mir noch einfällt ist jede Logik einzeln zu deaktivieren und paar Tage warten und so systematisch den Fehler eingrenzen sofern es an einem LBS liegt
Kommentar
-
Ich würde das deaktivieren, was du kurz vor dem ersten Auftreten geändert hast, d.h. insbesondere die Seiten, wo du neue User-LBS hinzugefügt hast.
Du kannst ja mit top oder ps prüfen, ob die Speichernutzung eines php Prozesses konstant ansteigt. Dazu musst du nicht 3 Tage bis zum Fehler warten, das sollte man dann schon früher erkennen.
Kommentar
-
Danke für den Tip... es ist leider nicht mehr nachvollziehbar was geändert wurde und wann es war...hab den Fehler am Anfang auch brav ignoriert weil noch andere Dinge im argen lagen und einfach die Zeit fehlte. Nun sind alle anderen Fehler bereinigt nur dieser steht noch an.
Mit top hab ich schon geschaut, konnte aber nicht wirklich erkennen das ein php prozess ansteigt. War nur eine kurze Zeitspanne, werde das aber nochmals über eine längere zeit nachschauen.
Kommentar
-
Nun habe ich mich endlich drangesetzt mein Hauptprojekt auf die Centos 7 anzuheben.
Wie erwartet musste ich einige LBS ersetzten, aber nun läuft alles soweit stabil.
Allerdings habe ich jede Menge Fehler im Logfile, die ich nicht finde
Im wesentlichen ist das immer die Meldung bei verschiedenen LBSA non well formed numeric value encountered
2022-02-06 11:13:15 361130 ? 2467 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000570.php | Fehlercode: 8 | Zeile: 19 | A non well formed numeric value encountered ERROR 2022-02-06 11:13:57 607281 ? 2467 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000570.php | Fehlercode: 8 | Zeile: 22 | A non well formed numeric value encountered ERROR 2022-02-06 11:13:57 609869 ? 2467 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000570.php | Fehlercode: 8 | Zeile: 19 | A non well formed numeric value encountered
Den Baustein habe ich aktualisiert. aber der Fehler bleibt.
Habt ihr eine Idee?
Gruß Hartwig
Kommentar
-
Ich gebe mir mal selbst die Antwort.
Nachdem ich mir den verwendeten Baustein genauer angeschaut habe.
Es scheint dass die PHP Version sich hier anders als bei der Centos 6.5 verhält.
Der verwendete Baustein, wertet die Eingänge E1:E5 aus. Dabei wird E1 immer als numerischer Wert angenommen und zugeordnet.
Ist E1 aber leer, weil nach einen Neustart noch kein Wert anliegt führt dies unter Centos 7.6 zu einer Fehlermeldung.
Nachdem ich den Baustein nun umgebaut habe, sind die Fehler weg.Gruß Hartwig
Kommentar
-
Ich am Ausmerzen der Fehlerlogs nach der Umstellung auf Centos 7
Bei einem Fehler komme ich nicht weiterer .
Ca 300x pro Tag schlägt diese Meldung auf.
Tipp?2022-02-20 09:31:08 815361 ? 58566 Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 20 | utf8_decode() expects parameter 1 to be string, array given ERROR 2022-02-20 09:31:08 816107 ? 58566 Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 20 | utf8_decode() expects parameter 1 to be string, array given ERROR
Gruß Hartwig
Kommentar
-
Das liegt vermutlich an einem LBS, der versucht statt eines Strings ein Array auf einen Ausgang zu schreiben.
Eigentlich hätte der Fehler dann aber auch schon vorher auftreten sollen, denn utf8_decode() konnte meines Wissens noch nie ein array verarbeiten.
Ich sehe gerade, dass er auch vorher schon aufgetreten ist
Wird vermutlich schwierig sein ihn zu finden ...
Kommentar
-
Zitat von maque Beitrag anzeigenIch würde es mit grep utf8_decode /usr/local/edomi/www/admin/lbs/* probieren. So viele Treffer sollten das nicht sein.
incl_logic.php:
function logic_setOutput($elementid,$ausgang,$value)
{
logicMonitor_lbsCall_setOutput($elementid,$ausgang ,$value);
sql_call("UPDATE edomiLive.RAMlogicLink SET refresh=1,value='".sql_encodeValue($value)."' WHERE (linktyp=1 AND linkid=".$elementid." AND ausgang='".sql_encodeValue($ausgang)."')");
}
base.php:
function sql_encodeValue($n,$allowNull=false,$allowSeparators=false) { $n=utf8_decode($n); ...
D.h. der $value vom logic_setOutput() schlägt im sql_encode() als $n auf und wird dort vor dem Schreiben in die DB utf8_encoded. Und das geht mit einem Array nicht.
Kommentar
-
Man könnte zur Fehlersuche in logic_setOutput() als erste Zeile folgendes einfügen:
PHP-Code:if (is_array($value)) file_put_contents('/tmp/lbs.id','LBS: '.$elementid.' - Ausgang: '.$ausgang);
Wenn der Fehler dann auftritt sollte eigentlich in der Datei /tmp/lbs.id die ID sowie der Ausgang des verursachenden LBS stehen.
Kommentar
-
Danke für die Hilfe.
jonofe Ich habe mal die von Dir vorgeschlagen Zeile bei incl_logic.php in in die function logic_setOutput eingefügt.
Der Fehler ist auch bereits wieder x.mal aufgetreten. In /tmp/ habe ich aber keine neuen Einträge. Somit dürfte das nicht an einem Array hängen.
Interessent, dass ich den Fehler bei 1.51 schon mal hatte. Ich habe da keine Ahnung wie ich den Fehler damals fixen konnte. Jedenfalls kommt der Fehler jetzt erst wieder mit Centos 7.
Gruß Hartwig
Kommentar
Kommentar