Ankündigung

Einklappen
Keine Ankündigung bisher.

SQLite objects created in a thread can only be used in that same thread.

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

    SQLite objects created in a thread can only be used in that same thread.

    Hallo,

    kann jemand mit dieser Fehlermeldung beim Sh-NG Start etwas anfangen?
    Code:
    Database [Database]: Connection error SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 140442600666944 and this is thread id 140442461001472.
    ​
    Smarthome ist SmartHomeNG v1.9.2-master

    Ich bin mir keiner Änderungen bewusst, aber ich bin auch nicht sicher, seit wann dieses Problem besteht..

    Die Konfiguration ist unspektakulär:
    Code:
    database:
        plugin_name: Database
        driver: sqlite3
        connect:
        -   database:/usr/local/smarthome/var/db/smarthome.db
    Der Fehler tritt auf, wenn ich in einer Logik die Item.db() Funktion nutze.

    Gruß,
    Hendrik

    #2
    Hm, hat keiner eine Idee?
    Ich kann das Database-Plugin leider aktuell nicht nutzen :-(

    Kommentar


      #3
      Ich würde ja erstmal schauen, ob das mit der aktuellen Version 1.9.5 master auch Probleme gibt oder spricht was dagegen?

      Kommentar


        #4
        Ich hab das mal gegoogelt. Der Database-Connect arbeitet defaultmäßig mit check_same_thread = True. Die Option kann man auf False setzen, was im Readme des Plugins angegeben ist.
        Code:
        database:
            plugin_name: Database
            driver: sqlite3
            connect:
                - database:/usr/local/smarthome/var/db/smarthome.db​
                - "check_same_thread:0"
        Gruß
        Wolfram

        Kommentar


          #5
          Hallo Bernd,

          ich habe gerade versucht den Docker-Container für 1.9.5 zu bauen. Da gibt es einen Versionskonflikt:
          Code:
          test_requirements: 'ephem' v4.1.4 too new. Maximum v4.1.0 needed
          
          Installing core requirements for the current user, please wait...
          python_bin_path=/usr/bin
          > using PIP command: '/usr/bin/pip3'
          
          ERROR:
          WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
          Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
          To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
          
          ERROR: Unable to install core requirements
          Use the commandline option --pip3_command to specify the path to the command
          ​
          Da habe ich gerade keine Luft zu, das zu beheben.

          @Wolfram: Vielen Dank! Das hat geklappt! Jetzt frage ich mich natürlich, was die Ursache war. Aber das ist nicht sooo wichtig. Wer heilt hat Recht :-)

          Gruß,
          Hendrik

          Kommentar


            #6
            Da ist nichts zu beheben. Das ist eine Deprecation Warning aus Python heraus, dass der PIP Aufruf in ZUKÜNFTIGEN Versionen nicht mehr unterstützt werden wird. Im Moment kannst Du dei Meldung nur loswerden, wenn Du eine ältere Python Version einsetzt als Du es aktuell tust.
            Viele Grüße
            Martin

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

            Kommentar


              #7
              Ich dachte an die erste Zeile

              Kommentar


                #8
                Welche „erste Zeile“ meinst Du?

                Meinst Du das Wort ERROR?

                SmartHomeNG gibt alle Meldungen als Fehler aus, die von PIP an stderr ausgegeben werden und die Python Entwickler haben sich entschieden, die Deprecated Warning nicht an stdout auszugeben, sondern an stderr…

                Btw.: Welche Python Version nutzt Du?
                Viele Grüße
                Martin

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

                Kommentar


                  #9
                  Hallo,

                  ich meinte
                  Code:
                  test_requirements: 'ephem' v4.1.4 too new. Maximum v4.1.0 needed
                  Python ist 3.9.15.

                  Gruß,
                  Hendrik

                  Kommentar


                    #10
                    Das Requirement für ephem <= 4.1.0 wurde im Januar 2022 eingeführt, weil die damals aktuelle Version 4.1.3 mit SmartHomeNG nicht funktionierte. Die Version hatte einen Bug oder einen breaking change, so dass wir die Version auf 4.1.0 beschränkt haben, damit SmartHomeNG lief.
                    Viele Grüße
                    Martin

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

                    Kommentar

                    Lädt...
                    X