Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Script-Fehler terminiert Script-Instanz

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Script-Fehler terminiert Script-Instanz

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      neo4a last edited by

      Aus etwas vergangenen Zeiten hatte ich noch ein "Alexa"-Script aktiviert, was sich jetzt als Zeitbombe herausstellte. Zwar konnte über das Log der Fehler relativ schnell lokalisiert werden.

      ! host.iobroker 2018-10-25 09:11:33.120 error instance system.adapter.javascript.0 terminated with code 0 (OK)
      ! Caught 2018-10-25 09:11:33.120 error by controller[0]: at process._tickCallback (internal/process/next_tick.js:63:19)
      ! Caught 2018-10-25 09:11:33.120 error by controller[0]: at endReadableNT (_stream_readable.js:1081:12)
      ! Caught 2018-10-25 09:11:33.120 error by controller[0]: at IncomingMessage.emit (events.js:187:15)
      ! Caught 2018-10-25 09:11:33.120 error by controller[0]: at IncomingMessage. <anonymous>(script.js.Andreas.AlexaControl:217:85)
      ! Caught 2018-10-25 09:11:33.120 error by controller[0]: at dpAbfrageAlexaAnlegen (script.js.Andreas.AlexaControl:248:36)
      ! Caught 2018-10-25 09:11:33.120 error by controller[0]: at JSON.parse (<anonymous>:null:null)
      ! Caught 2018-10-25 09:11:33.120 error by controller[0]: SyntaxError: Unexpected end of JSON input</anonymous></anonymous>
      Für mich bleibt allerdings etwas Verwirrung, wenn durch einen unvorgesehenen Systemzustand ein Script plötzlich Fehler wirft und damit die JavaScript-Instanz abschießt.

      Wie kann man Script-Ausführungen isolieren? Wäre es ein Ansatz, mehrere JavaScript-Instanzen zu starten und die Scripte diesen Instanzen zuzuordnen, so dass Fehler in einer Instanz keine Auswirkungen auf andere haben?

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Hi,

        generell musst Du immer schauen das dein Code mit Fehlern umgeht. Und ja es gibt aktuell noch bestimmte Fehler die sowas verursachen können. In Deinem Fall mach ein try/catch drumrum wenn Du nicht anderweitig prüfst das die Response sinnvoll ist.

        1 Reply Last reply Reply Quote 0
        • N
          neo4a last edited by

          Bei eigenen Scripten ist das sicher ein guter und richtiger Ansatz.

          In meinem geschilderten Fall handelt es sich um ein "Fremd-Script", das stört. Daher meine Überlegung mit der Isolierung.

          1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 last edited by

            Dann melde es dem Ersteller sodass es für alle gefixt werden kann. Es gibt faktisch keine Fremdskripte 🙂

            Aber ja Du kannst mehrere Javascript instanzen anlegen und die Skripte darauf verteilen

            1 Reply Last reply Reply Quote 0
            • N
              neo4a last edited by

              Gut, das werde ich so umsetzen. Bislang gab es dafür noch keine Notwendigkeit.

              Aber seit letzter Nacht spinnt das "Fremd-Script" und das führte dazu, dass alle 15 Alexa/Sonoff-gesteuerten Rollos im Haus unten blieben und auch keine XIAOMI- Bewegungsmelder für HUE- Licht sorgten…Es ist praktisch unmöglich, seiner Frau dieses Problem zu erklären, wenn man sie seit einem Jahr nach und nach dafür einnehmen konnte. Sie murmelte nur etwas von Gruft und so...

              1 Reply Last reply Reply Quote 0
              • K
                Karl_999 last edited by

                @neo4a:

                Wie kann man Script-Ausführungen isolieren? `
                Wie schon Apolon77 geschrieben hat, ist die "Auslagerung" in eine eigene Javascript-Instanz (neben der Behebung der Fehlerursache) ein richtiger Weg.

                Wenn das Skript abstürzt, stoppt es nur die eigene Instanz.

                Ich nutze das auch gerne und teste auf diese Art Eigenentwicklung und isoliere kritische von unkritischen JS-Programmen.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                740
                Online

                31.8k
                Users

                80.0k
                Topics

                1.3m
                Posts

                3
                6
                885
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo