Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Backend Plugin nach Update

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

    Problem mit Backend Plugin nach Update

    Hab ein kleines Problem mit meinem SmarthomeNG System.

    Hab heute versucht mein SmarthomeNG auf den aktuellen Master-Branch zu aktualisieren,
    seitdem erhalte ich beim Starten im Logfile einen Fehler des BackendServer Plugins:

    Code:
    TypeError: source code string cannot contain null bytes
    Alle Python Module sind auf dem aktuellen Stand, und Debian Jessie ebenfalls.
    Das Python Modul cherrypy hab ich auch schon mal neu installiert.

    Kann evtl. jemand einen Tipp geben, was ich noch machen könnte, ansonsten bleibt nur ein neu aufsetzen des Systems,
    da ansonsten meine Linux-Kenntnisse nicht weiter kommen.

    Hier das Logfile:
    Code:
    2017-08-24  19:08:10 WARNING  Main         --------------------   Init SmartHomeNG 1.3.v1.3_Hotfix_2   --------------------
    2017-08-24  19:08:10 INFO     Main         Init Scheduler
    2017-08-24  19:08:10 INFO     Main         Init Plugins
    2017-08-24  19:08:10 INFO     Main         Loading '/usr/local/smarthome/etc/plugin.yaml' to 'OrderedDict'
    2017-08-24  19:08:11 ERROR    Main         Plugin BackendServer exception: source code string cannot contain null bytes
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/plugin.py", line 90, in __init__
        plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance)
      File "/usr/local/smarthome/lib/plugin.py", line 127, in __init__
        exec("import {0}".format(classpath))
      File "<string>", line 1, in <module>
      File "/usr/local/smarthome/plugins/backend/__init__.py", line 25, in <module>
        import cherrypy
      File "/usr/local/lib/python3.4/dist-packages/cherrypy/__init__.py", line 76, in <module>
        from cherrypy import _cprequest
      File "/usr/local/lib/python3.4/dist-packages/cherrypy/_cprequest.py", line 10, in <module>
        from cherrypy import _cpreqbody, _cpconfig
      File "/usr/local/lib/python3.4/dist-packages/cherrypy/_cpreqbody.py", line 135, in <module>
        import cheroot.server
      File "/usr/local/lib/python3.4/dist-packages/cheroot/server.py", line 65, in <module>
        from .workers import threadpool
    TypeError: source code string cannot contain null bytes
    2017-08-24  19:08:13 INFO     Main         Init InfluxData
    2017-08-24  19:08:14 INFO     Main         Init UZSU
    2017-08-24  19:08:14 INFO     Main         SP: Adding listener on: http:0.0.0.0:2788
    2017-08-24  19:08:14 INFO     Main         SP: Server Starts - 0.0.0.0:2788
    2017-08-24  19:08:14 INFO     Main         RCswitch: setup on localhost OK
    2017-08-24  19:08:14 INFO     Main         Init Items
    Kleines Update:

    Hab gerade versucht, die alte SmartHomeNG Version wieder zurückzuspielen,
    hat auch soweit funktioniert, allerdings besteht der Fehler auch hier, es hat mir also somit eher irgendwas im Python zerschossen.
    Zuletzt geändert von Mike01; 25.08.2017, 08:36.

    #2
    In Deinem original Posting war aus dem Log zu lesen, dass ein Problem bei, Laden con backend_shng_1_3 auftrat. Im master branch gibt es kein solches Plugin. Das gibt es nur unter Develop. Jetzt steht in Deinem Posting nur noch backend im Log. Es wäre gut, wenn Du den Grund der Anpassung des Postings nennen könntest.

    Was hast genau beim Update getan? Ein reines update aus dem Master kann es nicht gewesen sein.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #3
      Hi, genau aus diesem grund hab ich das posting editiert, damit nicht der verdacht aufkommt, dass es evtl. an der develop version liegt.
      Ich hab nachdem der master branch den fehler gemeldet hat zum test mal die develop version ausgescheckt und die verschiedenen Backend versionen getestet.
      Der logfile auszug den ich gepostet hab war eben genau von diesem zeitpunkt. Der Fehler ist aber immer der selbe, auch nachdem ich meine alte smarthomeng version wieder zurückkopiert hab kam der gleiche fehler, deshalb vermute ich fast es liegt irgendwo am linux oder python, aber da weiß ich nicht so ganz wo ich suchen muss.
      Bis aufs backend plugin läuft auch alles soweit fehlerfrei.

      Kommentar


        #4
        CherryPy hast Du mal geupdated? Nur um hier Wechselwirkungen auszuschließen?

        Kommentar


          #5
          Hier mal mein Vorgehen, wie ich upgedatet habe:

          Zuerst das System aktualisiert (Debian Jessie)
          Konsole:
          Code:
          sudo su
          apt-get update && apt-get upgrade
          apt-get dist-upgrade
          Danach die Python Pakete aktualisiert (Quelle)
          Code:
           pip freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 pip install -U
          Dann smarthomeng aktualisiert:
          Code:
          cd /usr/local/smarthome
          git checkout -f master
          git pull
          
          cd plugins
          git checkout -f master
          git pull
          Ordnerrechte auf Smarthome User übertragen:
          Code:
          chown -R smarthome:smarthome /usr/local/smarthome
          chmod 777 -R /usr/local/smarthome
          Danach zum User smarthome gewechselt, und smarthomeng gestartet.
          Seitdem hab ich im Logfile den Fehler des Backend Plugins.

          Danach hab ich noch gezielt das cherrypy Plugin aktualisiert, meldete aber dass es up to date ist,
          und danach noch cherrypy direkt deinstalliert, und nach neustart wieder installiert.
          Zuletzt geändert von Mike01; 25.08.2017, 08:16.

          Kommentar


            #6
            Hm, welche Version vom cherrypy nutzt Du denn?

            Und wenn Du das Backend in der plugin.yaml auskommentierst, startet der Rest dann?

            Kommentar


              #7
              Hi,

              Es ist die Version
              cherrypy-11.0.0
              installiert.


              UPDATE !!!:

              Ich habs gerade gelöst, es lag an dem Plugin "cheroot"

              Hab gerade testweise das cherrypy Plugin nochmal deinstalliert, da hab ich gesehen, dass zus. die Pakete cheroot, six, portend,tempora und pytz aufgeführt werden, aber diese nicht extra entfernt werden.
              Also hab ich diese testweise auch mal deinstalliert, und danach mit dem Befehl
              "pip3 install cherrypy"
              die installation neu gestartet, da wurden die zus. Pakete auch wieder installiert.

              Danach hab ich smarthome neu gestartet, und seitdem kann das backend Plugin wieder gestartet werden.

              Vielen Dank für eure Bemühungen.
              Gruß, Mike
              Zuletzt geändert von Mike01; 25.08.2017, 08:37.

              Kommentar


                #8
                Mike01 na dann viel spass mit dem neuen release.. und gerne feedback geben! die entwicklung geht schon wieder mit "7-meilen-stiefeln" weiter

                Kommentar

                Lädt...
                X