beim Programmieren GS verhindern und aufgehängtes Plugin beenden

  • Wenn der Screen sich aber wegen z.B. einem Sinfehler aufgehängt hat, dann hilft bei mir auch die self.close()-Taste nicht mehr.
    Da reagiert dann gar keine Taste mehr.
    Man sieht dann immer nur das Symbol für eine "unzulässige" Taste.

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • So ein Modus wäre schlichtweg das Ende, den würden dann Leute aktivieren die den nicht verwenden sollen, Fehler werden nicht mehr behoben weil gar nicht auffallen usw.
    Ich find selbst das mit dem reload ist ein übles gefrickel :winking_face:

  • Ja, der könnte ja begrenzt sein auf eine kurze Zeit oder für ein bestimmtes Plugin.


    Aber grundsätzlich hast du da natürlich recht, dass der dann missbraucht werden könnte und auf der Box dann nichts mehr funktioniert, weil keiner mehr die Fehler mitbekommt.


    Eine Messagebox würde es auch tun :smiling_face:


    Wenn ein Windows-Programm abkackt, starte ich doch auch nicht jedesmal Windows neu :face_with_tongue:
    (Ok, zugegebener Maßen ein schlechter Vergleich :winking_face: )

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

  • Du startest ja auch enigma2 neu und nicht das zugrundeliegende Linux :winking_face:


    Die MessageBox reicht doch da nicht vom Platz her.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Ja, ok. Dann nehmen wir Excel VBA - da kommt auch eine Buggingfehler-Messagebox, ohne dass dabei gleich Excel neu gestartet werden muss :face_with_tongue:


    Wegen der Messagebox war es als Hinweis an den normalen Nutzer gedacht, falls der missbräuchlich den "GS-freien" Modus aktiviert. Irgendwann nervt ihn die Meldung dann auch und er meldet sich irgendwo im Forum.
    Einfach eine Meldung "Das Plugin XXX hat einen Fehler verursacht und wurde beendet!" würde doch vollkommen reichen.
    Wäre bei weitem nutzerfreundlicher als diese GS.
    (frage mich gerade, warum es bei Windows keine BlueScreens mehr gibt :face_with_tongue: )


    Die eigentliche Fehlermeldung sollte natürlich im Log erscheinen (auch live in der Console).

    Gruß Sven (aka Dreamy)


    DM920 mit unstable OE2.5 DP
    One mit unstable OE2.6 DP

    • Offizieller Beitrag

    Das was du möchtest geht aber nicht.... weil Enigma2 nun mal kein Betriebssystem ist.


    Und Plugins als solches sind halt keine Plugins... sondern im Endeffekt gleichberechtigt wie alle anderen Teile von Enigma2 auch.


    Es sind einfach nur Python Dateien.. wie eben ein großer Teil von E2 auch.


    Es gibt keine richtige Schnittstelle die in irgendeiner Form Plugins von E2 abgrenzt.


    Hinzu kommt, dass du in Python sehr viele "böse" Dinge tun kannst... wie eben komplette Klassen zur Laufzeit ersetzen, Instanzen ersetzen, funktionen ersetzen.


    Auf die dann ggf. ein Screen / Teil von Enigma2 dann zugreift und sie benutzt.


    Es gibt keinen Hypervisor oder dergleichen der irgendwie Plugins in einem eigenen Bereich zwingt.. und das überwachen könnte.


    cu

  • @Sven H
    Ähm dir ist aber schon klar dass der Python Interpreter selbst crashed das hat erstmal nix mit E2 zu tun, wenn der crashed dann gilt das für das ganze E2.


    Wie bei Windows gibt es keine Bluescreens? Das liegt wohl eher daran dass es sehr wenige Fehler gibt, ich hab schon oft genug welche gesehn (auch unter Win10).

  • Ich seh die auch nur noch auf Arbeit. Aber zu Hause nutze ich auch einen Mac und Windows nur über vmware. Aber auf Arbeit kann man einen Bluescreen sogar gezielt provozieren. Einfach vor dem Herunterfahren bei einem Tool das Passwort nicht eingeben und es wird blau.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource