Hallo,
ich kann mein fhem nichtmehr ordentlich neustarten. Seit ein paar Wochen erhalte ich, wenn ich "shutdown+restart" in der Console absende, folgenden Fehler:
Zitat
2019.09.06 14:26:19 3: telnetPort: port 7072 opened
2019.09.06 14:23:55 1: PERL WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::SQLite::db handle dbname=/opt/fhem/fhem-config.db at configDB.pm line 396.
Wide character in subroutine entry at configDB.pm line 396.
2019.09.06 14:23:55 0: Server shutdown
2019.09.06 14:23:54 2: DbLog logdb - Last database write cycle done
2019.09.06 14:23:54 2: DbLog logdb_remote - Last database write cycle done
2019.09.06 14:23:53 1: Server shutdown delayed due to logdb_remote,logdb for max 10 sec
2019.09.06 14:23:53 2: DbLog logdb_remote - Last database write cycle due to shutdown ...
2019.09.06 14:23:53 2: DbLog logdb - Last database write cycle due to shutdown ...
Meine Recherche hier hat nur auf das Thema: https://forum.fhem.de/index.php/topic,23135.15.html hingewiesen, wobei das hier ja nichtmehr zutreffen sollte.
Das System ist uptodate.
Nach diesem Fehler ist ein kompletter Neustart des Betriebssystems notwendig.
Kennt jemand das Problem?
Ein paar Wochen vorher habe ich auf configdb umgestellt, aber ich bin mir zu 99% sicher, dass ich seitdem erfolgreich restarts durchgeführt habe. :'(
Grüße
Hallo zurück.
Nutze auch configDB (@SQLite). Habe bisher keine derartigen Probleme feststellen können, und auch nichts verglichbares hier gelesen die letzte Zeit, auch auf meinem Testsystem mit fhem.cfg funktioniert shutdown restart aus FHEM heraus (das war doch gemeint mit "Console", oder meinst du die Linux-Konsole...?).
Empfehlung daher: Lt MAINTAINER.txt gehören solche Themen nach "Sonstiges", bitte dahin verschieben und den Hinweis in den Threadtitel aufnehmen, dass es um configDB geht. Hier im Anfängerbereich ist sonst die Wahrscheinlichkeit nicht so hoch, dass betateilchen (auch dort zu finden) das unter diesem Titel liest und ggf. der Sache auf den Grund geht - wenn es nicht ganz andere Ursachen hat, auf die jemand anderes kommt ;) .
Vielleicht lieferst du ihm noch konkrete Infos dazu, was exakt unter einem "System uptodate" zu verstehen ist (mind. version von configDB und fhem.pl, OS, Hardware, auf der das läuft...).
Ein Tipp aus der Glaskugel noch: Wenn Raspi, dann check mal, ob die SD-Karte integer ist. Die ist dort nämlich gerne der Grund für die seltsamsten Effekte, die sonst keiner hat...
Gruß, Beta-User
Danke für den Hinweis.
ConfigDB:
-----------------------------------------------------------------
configDB Database Information
-----------------------------------------------------------------
d:$Id: configDB.pm 19514 2019-06-01 07:50:09Z betateilchen $
c:$Id: 98_configdb.pm 18754 2019-02-27 21:26:16Z betateilchen $
-----------------------------------------------------------------
dbconn: SQLite:dbname=/opt/fhem/fhem-config.db
dbtype: SQLITE
Version:
fhem.pl 20069 2019-08-27 08:36:02Z rudolfkoenig
"Raspberry Pi 3B plus" mit "Raspbian GNU/Linux 9 (stretch)" drauf.
Ich habe oben im Eingabefeld "shutdown restart" eingegeben.
Dann muss ich auf die Linux-Konsole "/etc/init.d/fhem stop" und " /etc/init.d/fhem start" eingeben, damit fhem wieder erneut startet.
Wenn ich "/etc/init.d/fhem stop" weglasse, dann kann ich fhem nicht neu starten. So wie ich mir das vorstelle, wird der "shutdown"-Prozess nicht richtig beendet.
Ein Prüfung der SD-Karte habe ich noch nicht gemacht.
Es sieht danach aus, dass irgendeines Deiner devices bzw. benutzten Module bei einem shutdown restart versucht, eine Datei wegzuschreiben (nicht die config, nicht das statefile) und dabei geht etwas schief.
Setze mal verbose = 4 und mach dann nochmal ein shutdown restart.
Einfachste Vernutung: Dateinamen mit Umlauten oder anderen merkwürdigen Zeichen
::) auf die Idee hätte ich auch selber mal kommen können. *facepalm*
2019.09.10 09:08:56 1: PERL WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::SQLite::db handle dbname=/opt/fhem/fhem-config.db at configDB.pm line 396.
Wide character in subroutine entry at configDB.pm line 396.
2019.09.10 09:08:55 4: configDB writing file: ./log/eventTypes.txt
2019.09.10 09:08:55 0: Server shutdown
2019.09.10 09:08:55 4: DbLog logdb_remote -> check Device: global , Event: SHUTDOWN
2019.09.10 09:08:55 4: DbLog logdb_remote -> number of events received: 1 for device: global
2019.09.10 09:08:55 4: DbLog logdb_remote -> ################################################################
2019.09.10 09:08:55 4: DbLog logdb_remote -> ### start of new Logcycle ###
2019.09.10 09:08:55 4: DbLog logdb_remote -> ################################################################
2019.09.10 09:08:55 4: DbLog logdb -> check Device: global , Event: SHUTDOWN
2019.09.10 09:08:55 4: DbLog logdb -> number of events received: 1 for device: global
2019.09.10 09:08:55 4: DbLog logdb -> ################################################################
2019.09.10 09:08:55 4: DbLog logdb -> ### start of new Logcycle ###
2019.09.10 09:08:55 4: DbLog logdb -> ################################################################
2019.09.10 09:08:55 4: BlockingCall (HMinfo_archConfigExec): created child (4150), uses telnetPort to connect back
2019.09.10 09:08:55 4: monitoring (Activity_monitoring2) triggered by "global SHUTDOWN"
2019.09.10 09:08:54 2: DbLog logdb - Last database write cycle done
2019.09.10 09:08:54 2: DbLog logdb_remote - Last database write cycle done
2019.09.10 09:08:54 4: WEB: /fhem?fw_id= / RL:52001 / text/html; charset=UTF-8 / / Cache-Control: no-cache, no-store, must-revalidate
2019.09.10 09:08:54 4: DbLog logdb_remote -> insert / update table current committed by autocommit
2019.09.10 09:08:54 4: DbLog logdb_remote -> 3 of 3 events updated in table current
2019.09.10 09:08:54 4: DbLog logdb_remote -> insert table history committed by autocommit
2019.09.10 09:08:54 4: DbLog logdb_remote -> 3 of 3 events inserted into table history
2019.09.10 09:08:54 4: DbLog logdb_remote -> Primary Key used in current: none
2019.09.10 09:08:54 4: DbLog logdb_remote -> Primary Key used in history: none
2019.09.10 09:08:54 4: DbLog logdb -> insert / update table current committed by autocommit
2019.09.10 09:08:54 4: DbLog logdb -> 3 of 3 events updated in table current
2019.09.10 09:08:54 4: DbLog logdb -> insert table history committed by autocommit
2019.09.10 09:08:54 4: DbLog logdb -> 3 of 3 events inserted into table history
2019.09.10 09:08:54 4: DbLog logdb -> Primary Key used in current: none
2019.09.10 09:08:54 4: DbLog logdb -> Primary Key used in history: none
2019.09.10 09:08:54 4: WEB_80.153.43.245_24644 GET /fhem?fw_id=; BUFLEN:0
2019.09.10 09:08:54 4: Connection accepted from telnetPort_127.0.0.1_40484
2019.09.10 09:08:54 4: DbLog logdb_remote -> Insert mode: Array
2019.09.10 09:08:54 4: DbLog logdb_remote -> AutoCommit mode: ON, Transaction mode: ON
2019.09.10 09:08:54 4: DbLog logdb -> Insert mode: Array
2019.09.10 09:08:54 4: DbLog logdb -> AutoCommit mode: ON, Transaction mode: ON
2019.09.10 09:08:54 4: Connection accepted from telnetPort_127.0.0.1_40480
2019.09.10 09:08:54 4: Connection accepted from telnetPort_127.0.0.1_40478
2019.09.10 09:08:54 4: BlockingCall (HMinfo_archConfigExec): created child (4143), uses telnetPort to connect back
2019.09.10 09:08:54 4: monitoring (Activity_monitoring2) triggered by "global DELAYEDSHUTDOWN"
2019.09.10 09:08:54 1: Server shutdown delayed due to logdb,logdb_remote for max 10 sec
Ich hatte die Datei ./log/eventTypes.txt wohl nicht in die configdb importiert.
Vermutlich hatte ich eventTypes während der Umstellung deaktiviert und dann irgendwann wieder aktiviert.
Über einen nachträglichen "fileimport" konnte ich das Problem lösen.
Danke für die Hilfe. ;D
Schön, dass es wieder funktioniert.
Es hat mir keine Ruhe gelassen und ich habe ein bisschen getestet.
Mit einer nicht in der Datenbank vorhandenen Textdatei für eventTypes kann ich den Fehler bei mir allerdings nicht reproduzieren.
Egal. Hauptsache Dein Problem ist gelöst.
Leider tritt der Fehler nun doch wieder auf :-(
2019.09.27 17:26:59 3: telnetPort: port 7072 opened
pipe 4
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3088ms
--- 192.168.2.58 ping statistics ---
From 192.168.2.13 icmp_seq=4 Destination Host Unreachable
From 192.168.2.13 icmp_seq=3 Destination Host Unreachable
From 192.168.2.13 icmp_seq=2 Destination Host Unreachable
From 192.168.2.13 icmp_seq=1 Destination Host Unreachable
PING 192.168.2.58 (192.168.2.58) 56(84) bytes of data.
2019.09.27 17:22:27 5: PRESENCE (KarstenSony) - ping command returned with output:
2019.09.27 17:22:22 1: PERL WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::SQLite::db handle dbname=/opt/fhem/fhem-config.db at configDB.pm line 396.
Wide character in subroutine entry at configDB.pm line 396.
2019.09.27 17:22:22 4: configDB writing file: ./log/eventTypes.txt
2019.09.27 17:22:22 0: Server shutdown
2019.09.27 17:22:22 5: End notify loop for global
2019.09.27 17:22:22 5: Home: Events from monitored device global: SHUTDOWN