Ankündigung

Einklappen
Keine Ankündigung bisher.

FATALERROR: Prozess LOGIC läuft nicht mehr!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    FATALERROR: Prozess LOGIC läuft nicht mehr!

    Hallo zusammen,

    nach einigem Experiemtieren mit der Entwicklung eines Logikbausteins zur Anbindung der mPower IP Steckdosen erhalte ich nun beim Start von edomi folgenden Fehler:
    2016-02-26 17:26:40 689517 MAIN 1339 Prozess LOGIC läuft nicht mehr! FATALERROR
    Ich habe sowohl den Logikbaustein von den entsprechenden Logikseiten gelöscht als auch die Definition des Logikbausteins.
    Trotzdem bleibt der Fehler derselbe.

    Zusätzlich sind auch noch einige andere Fehler aufgetreten:
    2016-02-26 17:01:50 326174 ? 1341 /var/edomi-backups/_public/main/proc/proc_main.php: Code 2 / Zeile 1106 / mysql_num_rows() expects parameter 1 to be resource, boolean given ERROR
    oder
    2016-02-26 16:50:39 461467 KNX 1365 ROUTER @ DE | TUNNELING_REQUEST / ErrMsg: ChannelId abweichend: Ist-Wert=1, Soll-Wert=2 / Raw: 0610042000150401b6002900bcd0012b2934010080 ERROR
    Letzterer liegt wohl daran, dass ich eibd verwende. Dieser Fehler tritt auch nicht immer auf. Hier muss ich wohl mal in einen IP Router investieren.
    Welcher Router ist denn hier empfehlenswert?

    Auch lässt sich das Update von 1.18 auf 1.19 nicht installieren. Fehler: Das Update ist fehlgeschlagen! Es wurden keine Änderungen vorgenommen.

    Bin für jeden Tip dankbar.

    Viele Grüße
    André

    #2
    Zitat von jonofe Beitrag anzeigen
    Bin für jeden Tip dankbar.
    Schau mal unter "/usr/local/edomi/www/data/liveproject/lbs/" nach, dort gibt es php-Dateien die jeweils aus dem (von Edomi bearbeitetem) EXEC bzw LBS Teil der Logikbausteine im aktuellen Projekt bestehen. Dort einfach (anhand der passenden ID) Deinen Baustein loeschen (also jeweils EXE19012345.php und LBS19012345.php) und das Projekt aktivieren.
    Der Baustein wird dann im Logikeditor als fehlend angezeigt, aber die Logikengine sollte erstmal nicht mehr sterben.

    HTH :: Michael

    Kommentar


      #3
      Super, vielen Dank. Jetzt bin ich wieder im Spiel.

      Kommentar


        #4
        Interessant ist, dass sich EDOMI dann auch nicht mehr pausieren lässt.

        Habe gerade herausgefunden, dass mein Fehler war, eine Funktion im LBS Bereich aufzurufen, die im EXEC Bereich definiert ist. Kann man einen solchen Fehler wirklich nur mit der oben von Michael beschriebenen Methode heilen?

        Zur Info: Wenn ich auf Pause klicke, dann startet das gelbe Blinken und endet scheinbar in einer Endlosschleife.

        Kommentar


          #5
          Zitat von jonofe Beitrag anzeigen
          Kann man einen solchen Fehler wirklich nur mit der oben von Michael beschriebenen Methode heilen?
          Ich habs (noch ) nicht ausprobiert, aber in der 1.19 sollte das Verhalten zumindest anders sein:

          • im Falle des Auftretens eines FatalErrors (z.B. der Aufruf einer unbekannten Funktion) wird wie folgt vorgegangen:
            • EDOMI wird neugestartet (kein Reboot) und pausiert
            • die Status-Seite zeigt eine entsprechende Meldung, z.B. "FatalError in LBS 19000001"
            • nun kann das FehlerLog untersucht und der Fehler behoben werden

          Kommentar


            #6
            In 1.19 reagiert EDOMI wie beschrieben in Falle eines Fatalerrors mit einer Pausierung (siehe Changelog). Warum scheitert das Update von 1.18 auf 1.19?! Da kann irgendwas nicht so ganz richtig sein...
            EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

            Kommentar


              #7
              Nochmal kurz erwähnt: EDOMI ist keine(!) Entwicklungsumgebung... Der LBS sollte schon fehlerfrei sein (syntaktisch usw. zumindest), bevor der Bursche von der Leine gelassen wird...
              EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

              Kommentar


                #8
                Zitat von gaert Beitrag anzeigen
                Nochmal kurz erwähnt: EDOMI ist keine(!) Entwicklungsumgebung... Der LBS sollte schon fehlerfrei sein (syntaktisch usw. zumindest), bevor der Bursche von der Leine gelassen wird...
                Soweit das möglich ist, habe ich das natürlich geprüft. Soweit ich das verstanden habe, kann ich allerdings die eigentliche Funktionalität erst beim aktivieren testen, da es doch keine Umgebung gibt, in der ich meinen EDOMI Spezifika (Funktionen, Variable, Eingänge, Ausgänge, $id, etc) testen kann. Oder habe ich das falsch verstanden?

                Vielleicht ist es auch zu kompliziert was ich da versuche:

                Ich möchte einen LBS bauen, der im Exec Bereich einen Daemon repräsentiert, der zyklisch die Ausgänge einer IP Steckdose pollt und bei Änderung den Status auf entsprechende Ausgänge gibt. Parallel habe ich 6 Eingänge, die die 6 Steckdosen repräsentieren. Bei Signalen auf diesen Ausgängen soll dann im LBS Teil die entsprechende Steckdose geschaltet werden.

                Dazu starte ich bein erstmaligen Start die Exec Routine und bei jeder Aktivität auf einem der 6 Eingänge die LBS Routine.
                Der Daemon alleine funktioniert sehr gut. Seit ich die Erweiterung im LBS Bereich gemacht habe, erzeuge ich einen Reboot.

                Ich versuche jetzt noch mal das Update.

                VG
                André

                Kommentar


                  #9
                  Da hast Du schon recht - richtig testen kann man den LBS natürlich nur unter realen Bedingungen in EDOMI. Aber ein FatalError ("Absturz") ist die allerletzte Instanz eines Fehlers in PHP und führt nunmal zum Abbruch des Scripts. Dies kann auch nicht abgefangen werden. Typische Fehler dieser Art sind z.B. der Aufruf einer nicht existierenden Funktion (aka Tippfehler). Und genau dieses ist jetzt in der 1.19 zumindest soweit es möglich ist berücksichtigt, d.h. man landet nicht mehr in einer Bootschleife (Absturz -> Reboot -> Absturz -> Reboot ->...). wintermute hatte schon vor einiger Zeit zu recht darauf hingewiesen - und ich habe in 1.19 eine entsprechende "Abfangfunktion" implementiert. (ich persönlich hatte keinen Bedarf dafür, weil ich natürlich die internen Vorgänge von EDOMI genauestens verstehe und daher auf anderem Wege damit umgehen kann)
                  EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                  Kommentar

                  Lädt...
                  X