FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Marcell am 01 Mai 2016, 22:14:36

Titel: Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: Marcell am 01 Mai 2016, 22:14:36
Hallo,

seit einem Update (fhem) und PI2 heute entstehen folgende Einträge im Sekundentakt in der Fhem-Log:
2016.05.01 22:06:11 1: DbLog myDbLog: DBLog_Push - DB Session dead! - Can't call method "ping" on unblessed reference at ./FHEM/93_DbLog.pm line 578.
2016.05.01 22:06:11 1: DbLog myDbLog: DBLog_Push - DB Session dead! - Can't call method "ping" on unblessed reference at ./FHEM/93_DbLog.pm line 578.

Ich habe bereits mehrmals "shutdown restart" / "save" / neustart des PIs und auch andere 93_DbLog.pm Versionen getestet, immer der gleiche Fehler im Log.

Ich konnte leider auch keine ähnlichen Fälle dazu finden, weder Forum noch Google.


Kann mir hier jemand weiterhelfen, warum wird "DB Session dead" gemeldet?

Ansonsten scheint alles zu funktionieren.

Vielen Dank im Voraus!

Gruß
Marcello
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: rapster am 01 Mai 2016, 22:21:12
Hi Marcell,

Ich denke nicht dass du es mit einer alten Version getestet hast, sonst würde der Fehler definitiv nicht mehr kommen.
Nimm aus deinem restoreDir die letzte /FHEM/93_DbLog.pm, mit der sollte zumindest dein Problem verschwinden. (Oder: https://sourceforge.net/p/fhem/code/11334/tree//trunk/fhem/FHEM/93_DbLog.pm?format=raw )

Welche Datenbank (und Version der Datenbank) verwendest du?
Welche Perl Version verwendest du?


Gruß
Claudiu
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: Marcell am 01 Mai 2016, 22:46:28
Hi Claudiu,

erstmal danke für die schnelle Hilfe, top!

Hat auch gleich funktioniert mit der 93_DbLog.pm aus dem restoreDir, das Verzeichnis kannte ich noch nicht.

Perl Version ist die 5.14.2

Laut meiner db.conf verwende ich die SQLite (Versionsinfo finde ich gerade nicht)


Vielen Dank!

Beste Grüße
Marcello
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: Wolfgang Hochweller am 28 Juni 2016, 11:47:57
Ich hatte das gleiche Problem.
Das Einspielen der alten 93_DbLog.pm loest zwar das Fehlerproblem,
aber das Verbindungsproblem :
logdb         Waiting for connection

bekomme ich noch nicht geloest.

Rechte etc., sollten alle korrekt sein, weitere Fehlermeldungen habe ich nicht.
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: Alex85 am 23 Juli 2016, 13:24:08
Ich habe das gleiche Problem nach dem Wechsel auf ein Raspberry PI 3.
Auch das Einspielen des alten Moduls hat dies nicht gelöst.

Was kann man noch probieren?!

2016.07.23 13:24:27 1: DbLog myDbLog: DBLog_Push - DB Session dead! - Can't call method "ping" on unblessed reference at ./FHEM/93_DbLog.pm line 578.
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: pcjogi am 27 Juli 2016, 13:15:34
Hallo zusammen,

ich habe gleiches Problem mit gleicher Fehlermeldung. Einspielen von vorherigen Versionen brachten keinen Erfolg bzw. weitere Fehler bzgl. nicht initialisierter Variable etc.

Ich nutze die 93_DbLog.pm mit der $ID lt. Sourcecode vom 21.7.2016 5:40:59Z

Ich muss dazu sagen, dass ich eine laufende fhem Instanz (auf Raspberry) habe, die gegen eine MySQL Datenbank (mariadb auf Synology) funktioniert. Hier ist eine ältere 93_DbLog installiert (Version habe ich nicht zur Hand). Der Versuch die aktuelle Installation mit der DbLog vom 21.7. an diese Datenbank zu verbinden funktionierte auch nicht. Auch eine neue MySql Datenbank auf einem Debian System brachte keinen Erfolg. Da meine Perl Kenntnisse bei weitem (noch) nicht ausreichen kann ich wenig beim debuggen helfen.

Gibt es schon einen Ansatz wo der Fehler liegen könnte?

Zur Umgebung fhem ist vollständig upgedated. Das Debian System ist vollständig neu und die MySQL Datenbank ist auch eine aktuelle neue Installation. Alle drei Komponenten laufen auf den gleichen physischen System.

Danke
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: betateilchen am 27 Juli 2016, 13:44:03
Zitat von: pcjogi am 27 Juli 2016, 13:15:34
Das Debian System ist vollständig neu und die MySQL Datenbank ist auch eine aktuelle neue Installation.

Genau das ist das Problem. Die Ursache für die Fehlermeldung liegt nicht in fhem, sondern im mySQL Datenbanktreiber von Perl, der im Hintergrund benutzt wird.
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: pcjogi am 27 Juli 2016, 14:02:53
OK und was kann ich tun bzw. kann man den updaten? Und wenn ja wie? Oder gibt es im Moment keine Möglichkeit das zum laufen zu bekommen?

Ein paar Tests bei mir brachten folgendes:

Wenn ich meine funktionierende fhem Instanz (fhem auf Raspi und DB auf Synology) so umkonfiguriere, dass ich die neue DB auf dem Debian System nutzen will erhalte ich auch auf dem Raspi die gleiche Fehlermeldung.

Das heißt dann die DB auf dem Debian ist nicht ok, oder?

Die MySQL Version ist 5.5.50


Danke

Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: franky08 am 27 Juli 2016, 21:09:32
Wie betateilchen schon schrieb, der Datenbanktreiber, könnte an libdbi-perl liegen.
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: betateilchen am 27 Juli 2016, 22:15:51
Was ich nicht verstehe: Der Aufruf von $dbh->ping steht in 93_DbLog.pm gar nicht in Zeile 578...

Kann mal jemand testen, die Zeile 582 auszukommentieren


#    if ( !$dbh || not $dbh->ping ) {


und stattdessen zu verwenden


    if ( !$dbh ) {

Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: pcjogi am 27 Juli 2016, 22:56:47
Kann ich morgen erst machen

Gesendet von meinem GT-N8020 mit Tapatalk

Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: pcjogi am 28 Juli 2016, 11:28:31
Nach ändern der Zeile kommt die Fehlermeldung nicht mehr, aber es bleibt bei einem waiting for Connection. Ich werde nachher noch folgendes Testen:

Verbindung vom fhem auf Raspi auf MySQL auf Debian -> todo
Verbindung vom fhem auf Raspi auf MariaDB/MySQL auf Synology -> funktioniert
Verbindung vom fhem auf Debian auf MySQL auf Debian -> Fehler
Verbindung vom fhem auf Debian auf MariaDB/MySQL auf Synology -> todo

Bisher sieht es wirklich so aus, das die Aussage von Betateilchen, die Ursache liegt im Perl DB Treiber, richtig ist. Nur was kann man auf der Debian Installation ändern damit es geht?

Danke


Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: betateilchen am 28 Juli 2016, 11:44:37
Ich war bei meinem Vorschlag nicht davon ausgegangen, dass er die Ursache behebt, aber die jetzt andere Fehlermeldung ist genau das, was ich erwartet hatte.

Die Sache mit dem "Waiting for connection" hatten wir hier im Forum in den letzten Tagen schon an anderer Stelle.

Was man auf Debian Seite tun kann? Warten, bis ein Update des Datenbanktreibers kommt, der das Problem behebt oder ein Perl downgrade auf eine funktionierende Version durchführen.
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: pcjogi am 28 Juli 2016, 13:05:38
Auf welche Version muss ich zurück?
Danke


Auch wenn perl der Übeltäter ist hier das Update auf die angekündigten Tests.

raspi mit Perl-Version     : "This is perl 5, version 20, subversion 2 (v5.20.2) built for arm-linux-gnueabihf-thread-multi-64int"
Debian mit Perl-Version  : "This is perl 5, version 20, subversion 2 (v5.20.2) built for i586-linux-gnu-thread-multi-64int"
MariaDB/MySQL Version : 5.5.49-MariaDB
MySQL auf Debian         : 5.5.50-0+deb8u1

Verbindung vom fhem auf Raspi auf MySQL auf Debian -> funktioniert
Verbindung vom fhem auf Raspi auf MariaDB/MySQL auf Synology -> funktioniert
Verbindung vom fhem auf Debian auf MySQL auf Debian -> Fehler
Verbindung vom fhem auf Debian auf MariaDB/MySQL auf Synology ->Fehler

Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: Zilon am 02 Oktober 2016, 11:41:55
Hallo zusammen,

bei mir funktioniert das auf dem Raspi mit
"This is perl 5, version 20, subversion 2 (v5.20.2) built for arm-linux-gnueabihf-thread-multi-64int"
zu einem Synology NAS mit MariaDB auch nicht.

Nutze ich den MariaDB client auf der Console beim Raspi, kann ich mich problemlos verbinden. Gibts, auch wenn die Perlversion die Gleiche ist, Unterschiede bei den Datenbanktreibern in Perl?

VG
Zilon


EDIT: Ich habe mal mit einem kleinen Perlscript auf der Console herumgetestet. Letztendlich funktioniert es jetzt. Bei mir waren die Datenbankpasswörter wohl nicht richtig gesetzt oder funktionierten aufgrund von Soderzeichen nicht richtig. Unten seht ihr das Testscript.

!/usr/bin/perl

# PERL MODULES WE WILL BE USING
use DBI;
use DBD::mysql;

# HTTP HEADER
print "Content-type: text/html \n\n";

# CONFIG VARIABLES
$platform = "mysql";
$database = "fhem";
$host = "host_ip";
$port = "3306";
$tablename = "current";
$user = "My_Username";
$pw = "My_Password";
#DATA SOURCE NAME
$dsn = "dbi:mysql:database=$database:host=$host:port=$port";


# PERL DBI CONNECT
$DBIconnect = DBI->connect($dsn, $user, $pw);


Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: HGButte am 19 November 2016, 18:23:00
ZitatDbLog myDbLog: DBLog_Push - DB Session dead! - Can't call method "ping" on unblessed reference at ./FHEM/93_DbLog.pm line 578.

Ich hatte genau diese Fehlermeldung beim Aufsetzen eines komplett neue FHEM Servers auf einem Raspi3.
Während der bisherige FHEM Server auf dem Raspi1 fehlerfrei läuft.

sudo apt-get install libdbd-mysql-perl

hat bei mir geholfen.
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: oruether am 28 November 2016, 17:28:43
Guten Abend!

Hmmm....also ich habe die Meldung leider immernoch. (bzw. seit dem ersten Tag)

DbLog logdb: DBLog_Push - DB Session dead! - Can't call method "ping" on unblessed reference at ./FHEM/93_DbLog.pm line 582

Ist ein raspi1.
mysql und die perl DB-Treiber sind alle aktuell. (wie der ganze raspi!)

Bleibt mir etwa nichts anderes übrig als die Datenbank auf ein anderes System auszulagern ????  :-(  :-(

Viele Grüße

Oliver
Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: arminius am 02 Dezember 2016, 21:59:22
Hallo,

ich habe FHEM auf raspi 1 und raspi 3 laufen und es funktioniert jetzt auf beiden.
Auf dem neuen raspi 3 hatte ich auch das Problem, dass der Connect immer auf disconenct stand.

Ich nutze die Perl version
This is perl 5, version 20, subversion 2 (v5.20.2).

Ich habe dann das Logging auf 5 gestellt und dort habe ich dann nach mysql gesucht und den Fehler gefunden.
Ich hatte in der /opt/fhem/contrib/dblog/db.conf zwar die Anpassungen für User und Passwort gemacht, aber den Eintrag für hostname nicht angepasst. Dort steht im standard db und nicht localhost.
Eintrag geändert und fhem restartet und dann ging der Connect.

Den Connect String findet man auch im Device vom Type DbLog im Feld "dbconn".

Sollte auch das Problem haben, dann könnte das helfen.
Es wäre vielleicht sinnvoll, wenn man den Eintrag in der db.conf für hostname auf localhost ändert bei der Auslieferung.

Gruß
Mirko 

Titel: Antw:Fehler - DbLog myDbLog: DBLog_Push - DB Session dead! - seit Update
Beitrag von: DeeSPe am 26 Januar 2017, 01:15:56
Hab's auch gerade mal wieder einrichten wollen mit hier benanntem Fehler.
Lösung war dann statt meiner eigenen ./db.conf die unter ./contrib/dblog/db.conf entsprechend anzupassen und zu verwenden.
Beide haben den selben Inhalt. Komisch...

Gruß
Dan