FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: roedert am 07 Februar 2018, 16:16:30

Titel: DBlog: gelegentliche Abstürze seit Update vom 5. oder 6.2.
Beitrag von: roedert am 07 Februar 2018, 16:16:30
Seit dem letzten Update am 5. oder 6.2. ist mein FHEM mittlerweile schon 3 mal abgestürzt.
Letzter Eintrag im Log war jedesmal
DBD::mysql::db selectrow_array failed: fetch() without execute() at /opt/fhem/FHEM/93_DbLog.pm line 817.

Ist da irgendwas bekannt was dies sein könnte?
Titel: Antw:DBlog: gelegentliche Abstürze seit Update vom 5. oder 6.2.
Beitrag von: DS_Starter am 07 Februar 2018, 16:35:21
Hallo roedert,

die zitierte Stelle ist die Ausführung eines SQL Statements mit set userCommand.
Das bedeutet du musst irgend ein Statement auf die DB absetzten was ihr nicht gefällt.

BTW mit dem update kann es nichts zu tun haben da diese Stelle schon "ewig" in dieser Form definiert ist.
Ich schaue mal heute Abend ob ich nicht zumindest die Auswirkung solch fehlerhaften Statements abfangen kann um einen Absturz zu verhindern. Überall im Modul habe ich es schon umgesetzt, nur beim Usercommamd fehlt die "Schutzhülle" noch.  :(

Grüsse Heiko
Titel: Antw:DBlog: gelegentliche Abstürze seit Update vom 5. oder 6.2.
Beitrag von: roedert am 07 Februar 2018, 16:43:05
Hmmm, ich führe zu dieser Zeit aber kein "set userCommand" aus? Evtl. hat sich an einem anderen Modul was geändert welches diese Funktion nutzt.
Dumm ist auch, das kein Timestamp dazu zu sehen ist.

Der Fehler kommt sporadisch (bisher 3mal) seit dem Update vom 6.2. - an irgendeinem Modul davon muss es wohl liegen:
2018.02.06 12:53:18.042 1: UPD ./CHANGED
2018.02.06 12:53:18.094 1: UPD ./MAINTAINER.txt
2018.02.06 12:53:18.122 1: UPD ./fhem.pl
2018.02.06 12:53:18.166 1: UPD FHEM/00_THZ.pm
2018.02.06 12:53:18.206 1: UPD FHEM/01_FHEMWEB.pm
2018.02.06 12:53:18.243 1: UPD FHEM/10_CUL_HM.pm
2018.02.06 12:53:18.293 1: UPD FHEM/30_HUEBridge.pm
2018.02.06 12:53:18.492 1: UPD FHEM/30_MilightBridge.pm
2018.02.06 12:53:18.512 1: UPD FHEM/31_HUEDevice.pm
2018.02.06 12:53:18.535 1: UPD FHEM/31_MilightDevice.pm
2018.02.06 12:53:18.561 1: UPD FHEM/37_NotifyAndroidTV.pm
2018.02.06 12:53:18.584 1: UPD FHEM/52_I2C_EMC1001.pm
2018.02.06 12:53:18.605 1: UPD FHEM/73_PRESENCE.pm
2018.02.06 12:53:18.640 1: UPD FHEM/74_Unifi.pm
2018.02.06 12:53:18.671 1: UPD FHEM/74_UnifiVideo.pm
2018.02.06 12:53:18.699 1: UPD FHEM/88_xs1Bridge.pm
2018.02.06 12:53:18.727 1: UPD FHEM/93_DbLog.pm
2018.02.06 12:53:18.789 1: UPD FHEM/93_DbRep.pm
2018.02.06 12:53:19.040 1: UPD FHEM/94_PWM.pm
2018.02.06 12:53:19.245 1: UPD FHEM/98_HMtemplate.pm
2018.02.06 12:53:19.247 1: UPD FHEM/98_SVG.pm
2018.02.06 12:53:19.294 1: UPD FHEM/98_freezemon.pm
2018.02.06 12:53:19.317 1: UPD FHEM/HMConfig.pm
2018.02.06 12:53:19.347 1: UPD FHEM/lib/openzwave_manufacturer_specific.xml
2018.02.06 12:53:19.372 1: UPD docs/commandref_frame.html
2018.02.06 12:53:19.404 1: UPD docs/commandref_frame_DE.html
2018.02.06 12:53:19.449 1: UPD www/pgm2/f18.js
2018.02.06 12:53:19.475 1: UPD www/pgm2/f18style.css
2018.02.06 12:53:19.497 1: UPD www/pgm2/fhemweb.js
2018.02.06 12:53:19.525 1: saving fhem.cfg
2018.02.06 12:53:19.526 1: saving ./run/fhem.save
Titel: Antw:DBlog: gelegentliche Abstürze seit Update vom 5. oder 6.2.
Beitrag von: DS_Starter am 07 Februar 2018, 16:49:48
Das ist in der Tat merkwürdig, kann mir kaum vorstellen dass ein anderes Modul set userCommand ausführt.
Mit verbose 4 würde man das abgesetzte sql statement sehen. Aber wenn du nicht weisst wann das passiert ist es etwas unschön weil in dem Fall recht viele daten ins log geschrieben werden.

Edit: mir ist eingefallen , dass ja ein Reading userCommand mit dem ausgeloesten statement erstellt wird. Wenn ich mit der neuen Version heute abend den Absturz verhindere, siehst du im Reading das Statement.

Probieren kannst du es natürlich.
Titel: Antw:DBlog: gelegentliche Abstürze seit Update vom 5. oder 6.2.
Beitrag von: DS_Starter am 07 Februar 2018, 18:30:42
In der angehängten 3.8.4 Version ist das userCommand nun auch gekapselt.
Ich habe es getestet und der Fehler erscheint im Reading userCommandResult und im Log mit verbose 1 wenn er auftritt.

Grüße,
Heiko
Titel: Antw:DBlog: gelegentliche Abstürze seit Update vom 5. oder 6.2.
Beitrag von: roedert am 07 Februar 2018, 19:24:49
Super, besten Dank! Kommt die Änderung auch morgen übers normale update?

Und nochmal zum userCommand. Ich habe mal den Verbose hochgesetzt und tatsächlich was gefunden.
Ich mache zwar kein "set userCommand ...." sondern nutze den FHEM-get-Befehl:
get <DBlogdevice> - - <startzeit> <endezeit> <device:reading>

Ich denke dieser wird intern über ein userCommand abgebildet.
Titel: Antw:DBlog: gelegentliche Abstürze seit Update vom 5. oder 6.2.
Beitrag von: DS_Starter am 07 Februar 2018, 19:35:29
ZitatKommt die Änderung auch morgen übers normale update?

Ja, will ich heute noch einchecken.

Zitat
Ich mache zwar kein "set userCommand ...." sondern nutze den FHEM-get-Befehl:
get <DBlogdevice> - - <startzeit> <endezeit> <device:reading>

Ich denke dieser wird intern über ein userCommand abgebildet.
Nein, get ist eine extra Funktion. Die Abbruchzeile wäre auch eine ganz andere.
Die Zeile 817 ist tatsächlich die (recht simple) Ausführung von "set userCommand".

Probiere die oben angehängte Version bei dir ruhig mal aus. Da müsste ja theoretisch das Statement im Reading erscheinen.