FHEM Forum

FHEM => Sonstiges => Thema gestartet von: oldscout am 19 August 2017, 18:25:49

Titel: [gelöst] Fehler beim fhem-start configDB
Beitrag von: oldscout am 19 August 2017, 18:25:49
Hallo,
mit der Version configDB.pm 14845 vom 4.8.17 startet fhem nicht (mehr), die Tabelle "fhembinfilesave" existiert nicht.... irgendwann wurde diese ja konvertiert....und gelöscht...

Habe jetzt eine Version vom 14725 vom 16.7. und nun startet fhem wenigstens wieder!!
Bitte ganz schnell korrigieren!!! Weiss nicht was da noch kommt diesbezüglich!!
danke.


Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 19 August 2017, 18:38:18
Nachtrag:
habe die Version 14845 nochmal "vorgeholt" aber vor dem Start eine leere Tabelle "fhembinfilesave" aus einer Kopie angelegt. Nun startet fhem auch wieder.
Aber das kanns ja nicht sein, im Modul steht ja "drop table...."
Bitte prüfen.
danke.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: CoolTux am 19 August 2017, 18:56:05
Deinem User fehlen für die Tabelle die Rechte für drop. Also anmelden an der DB und die rechte Nachträglich geben. Musste ich auch machen da FHEM sonst nicht gestartet ist
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: CoolTux am 19 August 2017, 19:14:19
Da die Frage sicherlich aufkommen wird.

Hier ein Beispiel für eine MySQL Datenbank

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,LOCK TABLES,DROP ON `fhemConfigDB`.* TO 'fhem'@'%';


fhemConfigDB ist meine Datenbank und fhem mein User

Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 20 August 2017, 11:01:39
Also mein DB-User "fhem" hat alle Rechte, schon immer...., ich glaube wir reden aneinander vorbei:
Die "fhembinfilesave" wurde nach der Konvertierung in "fhemb64filesave" ja gedropt, also gelöscht.
Bei meinem letzten RASPI-Start gestern startete fhem nicht mangels fehlender "fhembinfilesave"-Tabelle in Zeile 306 in configDB.pm
Diesen Fehler bitte ich auf den Grund zugehen...denn wenn ich die Tabelle manuell anlege ohne Inhalt, dannh startet auch fhem ganz normal wieder!!

Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: CoolTux am 20 August 2017, 11:14:57
Dann haben wir in der Tat aneinander vorbei geredet. Ich dachte er hätte nicht die Rechte zum dropen. Das war bei mir so gewesen.
Im übrigen startet FHEM bei mir auch ohne fhembinfilesave denn sie würde ja von configdb gelöscht.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: dev0 am 20 August 2017, 11:18:45
ZitatDiesen Fehler bitte ich auf den Grund zugehen...
Du solltest vielleicht mal dem Grund auf den Grund gehen, wieso das bei DIR nicht funktioniert, bei (allen?) anderen Anwerdern hingenen schon, statt zu FORDERN Deinem persönlichen Grund auf den Grund zu gehen.  ;D
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 20 August 2017, 12:26:14
Ich bin der Sache auf den Grund gegangen.

Zitat von: oldscout am 20 August 2017, 11:01:39
mangels fehlender "fhembinfilesave"-Tabelle in Zeile 306 in configDB.pm

Zeile 306 in configDB.pm wird nur ausgeführt, wenn es überhaupt noch eine entsprechende Tabelle fhembinfilesave in der Datenbank gibt. Das wird explizit vorher  geprüft.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 20 August 2017, 18:10:29
ja richtig, das ist der Fehler den ich auf der Kommandozeile bei fhem start bekomme. ich werde das nochmals morgen provozieren und einen screen-shot erzeugen.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 20 August 2017, 18:21:46
An der Tatsache, dass Du die Ursache für DEIN Problem auf DEINEM System suchen musst, wird auch ein morgiger Screenshot nichts ändern.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: CoolTux am 20 August 2017, 18:23:06
Klingt nach einem klassische Popcorn Fall. Heute geh ich mal holen.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 21 August 2017, 06:23:19
Ja es ist MEIN System, völlig richtig, das Problem trat seit der Konvertierung in das Base64 Format auf, hier der Screenshot:
Erstelle ich diese leere Tabelle, geht es wieder.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 21 August 2017, 06:28:48
Nachtrag:
die Konvert-Routine ob "fhembinfilesave" existiert oder nicht wird hier in jedem Fall durchlaufen.
"if ($sth_test->fetch())......"
offensichtlich liefert dies nicht das gwünschte Ergebnis....
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 21 August 2017, 06:40:07
an dev0: ich habe nicht gefordert... es stand bitte ..... auf den Grund gehen....
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 21 August 2017, 13:23:12
Zitat von: oldscout am 21 August 2017, 06:28:48
offensichtlich liefert dies nicht das gwünschte Ergebnis....

welche Datenbank hast Du im Einsatz?
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 21 August 2017, 15:44:31
mysql, seit 3 Jahren...
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 21 August 2017, 16:52:34
Mit mysql funktioniert die Migration und die Prüfung auf die anschließende Tabellenexistenz problemlos.
Das ist mehrfach getestet und in der aktuellen FHEM Statistik sind alleine 30 FHEM Installationen verzeichnet, die mysql mit b64 benutzen.

Die Fehlerursache vermute ich nach wie vor in Deiner Datenbankinstallation.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 21 August 2017, 18:32:39
ok, Datenbankfehler... Tabelle da, fhem startet, Tabelle weg, fhem startet nicht mit genannten Fehler.
an welcher Stelle kann ich da noch schauen, die Konvertierung ist durchgelaufen, fhemb64filesave existiert, solange fhem nicht neugestartet wird,z.b. nach Update geht es super.
Bis zur Konvertierung lief es auch. Wo also könnte der Fehler liegen?
Gibt es ev. Probleme hinsichtlich der Versionen perl/Mysql??
Meine Notlösung wird sein, dass ich den Block der Konvertierung auskommentiere/lösche bzw. das drop rausnehme, Konvertierung ist ja durch....wozu also jedesmal testen.
Keine schöne Lösung, aber eine.
Trotzdem würde ich mich noch über ein paar Hinweise freuen.
danke.

Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 21 August 2017, 18:41:51
Zitat von: oldscout am 21 August 2017, 18:32:39
Trotzdem würde ich mich noch über ein paar Hinweise freuen.

ich habe keine, sonst würde ich sie Dir ja geben.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: AitschPi am 24 August 2017, 00:44:22
Moin moin,

offensichtlich ist oldscout nicht allein - ich habe seit der Umstellung auch das Problem:

Bei mir läuft fhem auf einem Raspberry 2, die Konigurationsdaten und Logs werden in der externen MySQL-Datenbank auf meinem NAS von QNAP im LAN gespeichert. Konkret läuft da MariaDB 5.5.51.


Der Fehler ist replizierbar:


Woran kann das liegen??? Offensichtlich scheint das ja bei den meisten fehlerfrei zu funktionieren. Betateilchen, welche Daten brauchst Du noch zur Fehleranalyse bzw. was kann ich hier vor Ort tun, um den Fehler zu vermeiden?
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 24 August 2017, 06:57:54
Hallo wieder,
ich bin doch nicht allein....... ;D
Der Test, ob die Tabelle fhembinfilesave existiert gibt bie mir immer das Array zurück... egal ob die Tabelle da ist oder nicht.
Hat sich die ganze DB irgendwie zerlegt? fhem läuft aber wie gewohnt... mysqlcheck gibt ein ok in allen Tabellen zurück.
an AitschPi: kommentiere das drop in configDB.pm aus und fhem startet erstmal. Ich habe einfach eine leere Tabelle fhembinfilesave erstellt.
Ich habe noch mysql 5.5.
Prüfe ich hingegen auf "irgendeine" noch nie existierende Tabelle in der DB, dann wird der Array-Zeiger als undefiniert zurückgegeben.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 24 August 2017, 07:12:38
an CoolTux: wieviel Popcorn gab es schon???? ;)
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: CoolTux am 24 August 2017, 07:19:39
Zitat von: oldscout am 24 August 2017, 07:12:38
an CoolTux: wieviel Popcorn gab es schon???? ;)

Hier im Forum über die Jahre. Eine Menge, glaube mir. Deswegen sind Udo und ich ja auch so "smart"   ;D
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: AitschPi am 24 August 2017, 08:03:30
Ah, jetzt weiß ich, woher "smart home" kommt... ;o)
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 24 August 2017, 08:22:00
Wenn die Prüfung auf die nicht mehr vorhandene Tabelle immer noch ein "true" zurückliefert, handelt es sich entweder um ein Problem der Datenbank selbst (Cache?) oder der perl Datenbanktreiber hat eine Macke.

Die Sache mit dem Cache ließe sich leicht prüfen: Nach der Migration den mysql Server einmal durchstarten.

Muss mal überlegen, ob ich die Prüfung anders umsetzen kann. Für mich ist das Problem, dass keine meiner mysql Installationen dieses Verhalten zeigt, das macht das Testen schwierig.




Könnte jemand von den "Betroffenen" bitte folgendes testen:

1. In der Konfigurationsdatei configDB.conf den parameter b64 mit 1 übergeben


%dbconfig= (
connection => "connectionString",
user => "user",
password => "password",
b64 => "1",
);


2. dann mit der hier angehängten Moduldatei testen


edit: die Datei befindet sich jetzt in SVN und kommt ab 24.08. automatisch per update
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: AitschPi am 24 August 2017, 08:38:28
Läuft. ;o)

Was könnte ich für Dich "ferntesten"? Ursache könnte ja (bei mir) die externen Datenbanken (1x config, 1x log, gleiche Zugangsdaten), die mariaDB-mySQL-Version auf QNAP oder ein fehlerhaftes Modul in fhem selbst sein... So viele Möglichkeiten. Oder einfach so lassen, läuft ja jetzt?
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 24 August 2017, 12:31:56
Danke für die Rückmeldung, hatte die Änderung heute morgen einfach mal so während der Bahnfahrt ins Büro ausgedacht und eingebaut.

Zitat von: AitschPi am 24 August 2017, 08:38:28
Was könnte ich für Dich "ferntesten"?

Brauchst Du nicht, danke. Die Prüfung für den Migrationsmechanismus werde ich entsprechend umbauen und eine datenbankunabhängige Variante verwenden. Vermutlich werde ich die Konfigurationsdatei nach der Migration automatisch um den Parameter b64 erweitern und dann diesen Parameter prüfen. Das muss ich aber in Ruhe machen.

Wichtig ist, dass wir erstmal einen Workaround haben, falls noch mehr Fälle mit diesem Problem auftauchen.

Irgendwann fliegt die Migration ohnehin wieder aus der Moduldatei, aber das wird frühestens in einigen Monaten passieren (Kompatibilitätsgründe)
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: AitschPi am 24 August 2017, 12:34:53
Danke. Und gut, dass Du mit der Bahn und nicht mit dem Auto fährst... ;o)


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 24 August 2017, 12:37:27
Eine BahnCard100 hat man nicht ohne Grund... :)
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 24 August 2017, 19:52:14
Bei mir läuft es auch jetzt.  danke. :)
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 25 August 2017, 06:40:28
Hallo,
habe nochmals einen eigenen unabhängigen Test gemacht, wegen der Existenz der Tabelle:
1. fhem stop
2. mysql restart
3. fhem start
4. Array-Zeiger wird immer noch zurück gegeben.... Tabelle ist aber eigentlich seit gestern abend gelöscht.... kein cache-Problem??
Ich habe InnoDB als Datenbankformat.


Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 28 August 2017, 20:01:57
Kannst Du mal bitte die angehängte Version von configDB.pm testen?
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 29 August 2017, 08:46:58
Hallo betateilchen,
alles ok bis jetzt, fhem startet ganz normal mit der Rev. 14955. :)
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 29 August 2017, 09:11:55
Für mein Verständnis: Mit der obigen Testversion funktioniert das Ganze nun auch ohne den Parameter b64?

(Die rev Nummer hilft mir nicht weiter, das ist die gleiche wie in der aktuellen produktiven Version)
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: AitschPi am 29 August 2017, 18:44:28
Soll ich auch nochmal testen - dachte, dass wäre jetzt für oldscout gewesen...


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 30 August 2017, 08:46:08
Hallo,
ich habe den Parameter b64 in der configdb.conf  bereits in der Testversion eingetragen und darin belassen.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: Morgennebel am 30 August 2017, 09:32:36
Zitat von: betateilchen am 20 August 2017, 18:21:46
An der Tatsache, dass Du die Ursache für DEIN Problem auf DEINEM System suchen musst, wird auch ein morgiger Screenshot nichts ändern.

Ich hab das Popcorn ja auch genossen. Speziell diese Tüte hier.

Aber vielleicht mögen das nicht alle Anwender von ConfigDB und würde sich manchmal über mehr Hilfestellung in der doch offenbar komplexen Materie anstatt "Dein Problem" freuen.

Wie schön, daß der Fehler gefunden wurde.

Ciao, -MN
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 30 August 2017, 10:21:11
@oldscout: Hattest Du gestern die gestern hier im Thread bereitgestellte Testversion ausprobiert? Bei der ist es völlig egal, ob es den Parameter b64 gibt oder nicht.




Zitat von: Morgennebel am 30 August 2017, 09:32:36
würde sich manchmal über mehr Hilfestellung ... freuen.

Diese Aussage ist eine ziemliche Unverschämtheit. Aber von Dir bin ich ja nix anderes gewohnt.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: Morgennebel am 30 August 2017, 10:54:49
Zitat von: betateilchen am 30 August 2017, 10:21:11
Diese Aussage ist eine ziemliche Unverschämtheit. Aber von Dir bin ich ja nix anderes gewohnt.

Hach, mehr Popcorn. Persönliche Angriffe, statt einen vorsichtig formulierten Vorschlag inhaltlich und sachlich zu beantworten...

Ciao, -MN

Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 30 August 2017, 13:27:18
Hallo betateilchen,
entschuldige, ich habe mich nur an der Revisionsnummer orientiert, da ich ein update gemacht hatte war das diese Version.
Habe eben (heute 13.20 Uhr) nochmal die Downloadversion aus dem Forum getestet, sowohl mit Parameter b64 als auch ohne, startet fhem beide Male fehlerfrei.
Kann der Parameter aus der configdb.conf damit entfallen oder ist der doch noch geplant?

VG


Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 30 August 2017, 13:58:27
Ok, ich versuche es nochmal...


Wenn jemand von den Anwendern, die bisher das Problem beim Starten hatten, dies bestätigen kann, werde ich diese Modulversion in das offizielle Update nehmen und hier aus dem Thread wieder entfernen.

Da ich selbst keine Installation habe, die das Fehlverhalten zeigt, kann ich es leider nicht selbst testen.

Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: AitschPi am 31 August 2017, 07:19:51
Betateilchen, ich bin heute noch bis spät unterwegs - werde es aber abends/nachts testen. Feedback kommt morgen. Danke noch/schon mal. ;o)


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: oldscout am 31 August 2017, 08:18:11
Hallo,
fhem startet mit der Version 99999 hier aus dem Forum fehlerfrei. Eben getestet. Allerdings wird unter version noch 14955 angezeigt  ;)

Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: AitschPi am 02 September 2017, 02:38:39
So, familiär bedingt etwas später die Rückmeldung:

Zitat von: betateilchen am 30 August 2017, 13:58:27
Wenn jemand von den Anwendern, die bisher das Problem beim Starten hatten, dies bestätigen kann...

bestätigt, funktioniert.

Danke nochmal.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 02 September 2017, 09:43:43
Danke an alle Tester.

Die Version wird inzwischen schon per update verteilt. Der Parameter b64 kann damit wieder entfallen.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: ronny332 am 05 September 2017, 12:50:11
Moin zusammen,

einen neuen Fred möchte ich ungerne aufmachen, aber mein Problem bezieht sich auch auf die aktuell ausgelieferte ConfigDB Version (das letzte Update hatte ich Ende Juli laufen lassen, also schon eine Weile her).

In meinem Fall crasht FHEM beim Start zwar nicht, aber die Migration schlägt fehl. Als Datenbank kommt Mysql zum Einsatz, alle Rechte sind vorhanden (ich hatte die Schritte per Hand probiert, sowohl ALTER wie z.B. auch DROP funktionieren einwandfrei mit dem verwendeten Zugang).
Die b64 Tabelle hat nach dem ersten Starten einen einzigen Eintrag (UniqueID...), alle anderen Values der alten Tabelle werden nicht übernommen. Die alte Tabelle wird aber (zum Glück) auch nicht gelöscht.
Das "Spiel" kann ich endlos wiederholen. B64 Table löschen, FHEM starten, Tabelle mit einem Eintrag wieder da. FHEM Shutdown, Tabellen löschen, ...

Da u.A. alle meine GPlot Files in der Tabelle gespeichert sind, funktioniert FHEM zwar nach dem Start, aber eben komplett ohne Graphen (was noch nicht funnktioniert habe ich nicht probiert, sondern aus dem RestoreDIR die alten Versionen erneut eingespielt).

Ich sehe weder einen Fehler im Log, noch in der Shell.

Kann man das Debugging von ConfigDB so erhöhen, dass mehr angezeigt wird?
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: Benni am 05 September 2017, 13:17:46
Nachdem dein letztes update davor ja schon länger her war, ist dir vielleicht auch folgende Information durch die Lappen gegangen:

https://forum.fhem.de/index.php/topic,74302.0.html

vielleicht liegt es ja an der fehlenden Perl library.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 13:30:40
Benni, manchmal würde ich mir wünschen, Du würdest Dich mit solchen Antworten, die niemandem weiterhelfen, einfach mal ein paar Stunden zurückhalten...



@ronny332

Starte mal FHEM bitte direkt auf der Konsole. (vorher natürlich FHEM korrekt beenden!)



cd /opt/fhem
perl fhem.pl configDB



und achte darauf, ob dabei Ausgaben auf der Konsole erscheinen.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: ronny332 am 05 September 2017, 14:24:48
Zitat von: Benni am 05 September 2017, 13:17:46
Nachdem dein letztes update davor ja schon länger her war, ist dir vielleicht auch folgende Information durch die Lappen gegangen:

https://forum.fhem.de/index.php/topic,74302.0.html

vielleicht liegt es ja an der fehlenden Perl library.

Danke für den Tip, das war es leider nicht (die Library ist installiert).

Zitat von: betateilchen am 05 September 2017, 13:30:40
Benni, manchmal würde ich mir wünschen, Du würdest Dich mit solchen Antworten, die niemandem weiterhelfen, einfach mal ein paar Stunden zurückhalten...



@ronny332

Starte mal FHEM bitte direkt auf der Konsole. (vorher natürlich FHEM korrekt beenden!)



cd /opt/fhem
perl fhem.pl configDB



und achte darauf, ob dabei Ausgaben auf der Konsole erscheinen.


Auch bei dieser Art des Starts passiert nicht wirklich etwas spannendes (keine weiteren Fehlermeldungen etc.), aber Danke für die Idee.

Vom Prinzip scheint Base64 auch zu funktionieren. Die angesprochene Unique ID habe ich eben mal gelesen und dekodiert:

# This file is auto generated.
# Please do not modify, move or delete it.

uniqueID:ac9198a3c8888ef24349f1f7a2b42a94%


Das sieht mir schon nach der richtigen Idee aus.

Im FHEM Log steht rein gar nichts Auffälliges, weder beim ersten Start (vor der Migration), noch danach. Lediglich die fehlenden (nicht gefundenen) Daten werden angemeckert, aber das ist natürlich nicht der Grund, sondern einfach die Konsequenz.

Die Verbindung selber funktioniert (gut sichtbar durch "configdb info").
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: Benni am 05 September 2017, 14:44:19
Zitat von: betateilchen am 05 September 2017, 13:30:40
Benni, manchmal würde ich mir wünschen, Du würdest Dich mit solchen Antworten, die niemandem weiterhelfen, einfach mal ein paar Stunden zurückhalten...

Das kann ich ja vorher nicht wissen  ::)
Werde mich aber in Zukunft dann eben raushalten!
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 14:53:24
Zitat von: ronny332 am 05 September 2017, 14:24:48
Auch bei dieser Art des Starts passiert nicht wirklich etwas spannendes ..., aber Danke für die Idee.

???

Das war keine "Idee", sondern der erste Schritt, Dir bei der Lösung Deines Problems zu helfen.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: ronny332 am 05 September 2017, 15:02:12
Zitat von: betateilchen am 05 September 2017, 14:53:24
???

Das war keine "Idee", sondern der erste Schritt, Dir bei der Lösung Deines Problems zu helfen.

Oh, sorry, falsch ausgedrückt. Jede Art von Hilfe ist absolut Willkommen, egal ob "Idee" oder "erster Schritt zur Lösung" ;-).

Es sieht mir immer mehr danach aus, dass wirklich "nur" die Konvertierung von den Blobs in B64 kodierte Blobs nicht klappt. Die Funktion danach ist scheinbar fehlerfrei.
Da es sich um nur 36 Einträge in der Tabelle handelt, kommt mir gerade die "Idee" die Konvertierung einfach per Hand zu machen. Das löst zwar nicht das eigentliche Problem, aber das Resultat dürfte wieder nutzbar sein.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 15:02:26
Hier kommt der zweite Schritt.

Teste bitte die angehängte Version von configDB.pm und starte FHEM manuell von der Konsole. Dann poste die Ausgaben während des FHEM Starts.

Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 15:03:19
Zitat von: ronny332 am 05 September 2017, 15:02:12
Da es sich um nur 36 Einträge in der Tabelle handelt, kommt mir gerade die "Idee" die Konvertierung einfach per Hand zu machen.

Das brauchst Du nicht. Wir müssen eine funktionierende Lösung finden.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: ronny332 am 05 September 2017, 15:11:39
Das Problem liegt an der Stelle auf dem Screenshot. Die Tabelle wird, wenn ich den Code richtig verstehe, nicht als existent erkannt, daher wird mein printf mit "reached" erreicht, das "never reached" aber niemals.
Als zweiten Screenshot füge ich mal die Datenbank selber (PhpMyAdmin) an. Der ganze Rechner ist ein Intel NUC mit Debian 8, Software technisch nichts Spezielles oder Exotisches.

Nachtrag:
Die Variable $exists einmal per Hand gültig gemacht und die Migration lief sauber durch.
Ich habe die originale Tabelle noch aufgehoben, falls Interesse daran besteht, es noch genauer zu testen. Mir persönlich fehlt hier im Perl Umfeld der Weitblick, daher wären schon Anweisungen notwendig, was ich wie testen soll um den möglichen Fehler noch genauer zu reproduzieren.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 15:35:39
Es hilft mir nicht, wenn Du selbst irgendwas rumwurschtelst und dann meinst, mir gute Tipps geben zu müssen.

Da ich den Fehler bei mir nicht reproduzieren kann, bin ich als Entwickler auf die Mithilfe der Anwender angewiesen, bei denen ein Problem existiert. Aber Deine Bereitschaft zur Mitarbeit läßt zu wünschen übrig.

Immerhin habe ich versucht, eine Lösung zu finden, die vielleicht auch anderen Anwendern helfen könnte, falls das Problem nochmal auftritt.

Zitat von: ronny332 am 05 September 2017, 15:11:39
daher wären schon Anweisungen notwendig, was ich wie testen soll um den möglichen Fehler noch genauer zu reproduzieren.

Noch klarere Anweisungen als in meinem vorletzten Beitrag fallen mir leider nicht ein.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: ronny332 am 05 September 2017, 15:47:08
Hallo,

wie geschrieben: die Tabelle habe ich aufgehoben, die Stelle des Problems genannt. Der Fehler entsteht an der Stelle in der $sth_test mit table_info() befüllt wird.
Das hieraus abgeleitete $exists ist leer/fehlerhaft, sprich nicht true.

Da der Fehler reproduzierbar ist (ich brauche lediglich die b64 Tabelle löschen und die alte wieder einspielen), sehe ich absolut nicht fehlende Bereitschaft zur Mitarbeit (sowas hat mir glaube ich in all meinen Jahren im Opensource Bereich noch nie irgend ein Beteiligter gesagt :-().

Unter Anleitung gehe ich gerne die Stellen durch, die zur Lösung des Problems beitragen können.

Nachtrag:
Das hier habe ich eben erst wirklich verarbeitet:
mir gute Tipps geben zu müssen.

Wo gebe ich denn wem gute Tips? Bis eben war mir gar nicht klar, wer das Modul geschrieben hat. Meine Aussagen sind Feststellungen, die ich mache um allen hier Helfenden Anwensenden möglichst viele Details zu liefern und damit Ihre Zeit zu sparen.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 15:49:12
Du verstehst überhaupt nicht, worum es mir geht. Sehr schade.

Egal. Ich bin hier raus.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: ronny332 am 05 September 2017, 15:58:23
Der Grund für "Du verstehst überhaupt nicht, worum es mir geht. Sehr schade." war der Doppelpost mit dem angefügten Quell Code und dem weiteren Post mit dem Inhalt "Das brauchst Du nicht. Wir müssen eine funktionierende Lösung finden.".
Den Quellcode habe ich schlicht und einfach nicht gesehen (0 Downloads beim Counter sollten das gut zeigen).

Ich teste es eben durch.

Hier das Resultat:
fhem@fhem:~$ perl fhem.pl configDB
exists: 0


Die Tabelle wird daher wohl nicht "gefunden" (in welcher Form auch immer das sein mag).
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 16:27:37
ok, danke.

Nächster Test bitte mit der Version, die hier angehängt ist.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: ronny332 am 05 September 2017, 18:40:22
Hallo,

das kommt heraus:

fhem@fhem:~$ perl fhem.pl configDB                                                                       
looking for table fhembinfilesave
testing #1
table not found


Als Anhang nochmals ein Screenshot der vorhandenen Tabellen. Die neue b64 Tabelle wird sauber angelegt, die "_org" Tabelle ist meine Kopie des Originals vor der Migration.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 18:59:48
Es erschließt sich mir nicht, warum die Tabelle nicht gefunden wird. Komischerweise gab es das Problem genau umgekehrt - auch bei mysql.

Ich habe gerade noch mehr debugging output eingebaut und hier angehängt. Bitte nochmal testen.

Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 19:09:03
Langsam habe ich den Verdacht, dass der perl Datenbanktreiber für mysql bei InnoDB nicht korrekt arbeitet. Das ist jetzt schon das zweite Fehlerbild, das im Zusammenhang mit InnoDB auftritt.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: ronny332 am 05 September 2017, 19:14:41
Hier die Ausgabe.

fhem@fhem:~$ perl fhem.pl configDB
looking for table: fhembinfilesave
testing: #1
found: `fhem_configdb`.`fhemb64filesave`
found: `fhem_configdb`.`fhembinfilesave`
found: `fhem_configdb`.`fhembinfilesave_org`
found: `fhem_configdb`.`fhemconfig`
found: `fhem_configdb`.`fhemstate`
found: `fhem_configdb`.`fhemversions`
table not found


Um InnoDB als Fehler auszuschliessen, habe ich auch einen Test mit MyISAM als Datenbank-Engine gemacht. Der Fehler ist identisch.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 19:16:41
cool... jetzt weiß ich, woher der Fehler kommt.


found: `fhem_configdb`.`fhembinfilesave`


Wenn ich diesen kompletten String nur gegen "fhembinfilesave" auf Gleichheit prüfe, kann das natürlich nie funktionieren.

Moment, gleich kommt noch eine Version zum Testen.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 19:23:17
Bitteschön... nochmal zum Testen.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: ronny332 am 05 September 2017, 19:30:59
Einwandfrei!  :)

fhem@fhem:~$ perl fhem.pl configDB
looking for table: fhembinfilesave (the hard way)...
testing: #1
found: `fhem_configdb`.`fhemb64filesave`
found: `fhem_configdb`.`fhembinfilesave`
need to migrate 36 files to base64
migrating ./db.conf : done.
migrating ./FHEM/FhemUtils/uniqueID : done.
migrating ./FHEM/template.layout : done.
migrating ./www/gplot/...

(die ganzen gplot Ausgaben habe ich gelöscht)


Aktiv nun wieder mit InnoDB, MyISAM funktioniert auch.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 19:32:05
Super. Danke fürs Testen.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 05 September 2017, 19:36:55
Die aktualisierte Modulversion wird ab morgen per update verteilt.

Mal schauen, wann der nächste Spezialfall um die Ecke kommt  8)
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: bart am 06 September 2017, 12:51:31
Trotzt Aktualisierung heute bekomme ich den Fehler (Der genauso im Log beim Neustart erscheint):

# perl fhem.pl configDB
looking for table: fhembinfilesave
testing: #1
found: `fhem_configDB`.`fhemb64filesave`
found: `fhem_configDB`.`fhemconfig`
found: `fhem_configDB`.`fhemstate`
found: `fhem_configDB`.`fhemversions`
table not found


Als Tabellen sind vorhanden:
'fhemb64filesave'
'fhemconfig'
'fhemstate'
'fhemversions'


configDB Version:
-----------------------------------------------------------------
configDB Database Information
-----------------------------------------------------------------
# $Id: configDB.pm 15012 2017-09-05 17:35:14Z betateilchen $
-----------------------------------------------------------------


DB Version:
mysqld  Ver 10.1.26-MariaDB-0+deb9u1 for debian-linux-gnu on x86_64 (Debian 9.1)


Kann ich sonst noch etwas debuggen?
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: CoolTux am 06 September 2017, 13:03:46
Kann mir nicht helfen. Ich sehe absolut keine Fehlermeldung. Wo genau ist der Fehler?
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 06 September 2017, 13:12:18
Ich sehe auch kein Problem.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: bart am 06 September 2017, 13:22:59
Was bedeutet denn die Meldung?
table not found
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 06 September 2017, 14:12:25
nix. Alles gut.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: CoolTux am 06 September 2017, 14:20:00
Zitat von: bart am 06 September 2017, 13:22:59
Was bedeutet denn die Meldung?
table not found


Sind bestimmt Debug Meldungen. Sind mehr oder weniger uninteressant für den normalen User.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 06 September 2017, 14:27:37
Die Meldung besagt zumindest, dass der User ein aktuelle FHEM einsetzt, denn diese Debug-Meldung gibts erst seit dem heutigen Update.

Diese Meldung wäre inhaltlich nur dann interessant, wenn FHEM nicht ordnungsgemäß funktionieren würde.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 06 September 2017, 14:29:11
komisch... wenn ein Antivirusprogramm meldet, dass etwas nicht gefunden wurde, sind alle zufrieden und niemand kommt auf die Idee, dass das Ergebnis ein Fehler sei  8)
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: Benni am 06 September 2017, 14:40:48
Zitat von: betateilchen am 06 September 2017, 14:29:11
komisch... wenn ein Antivirusprogramm meldet, dass etwas nicht gefunden wurde, sind alle zufrieden und niemand kommt auf die Idee, dass das Ergebnis ein Fehler sei  8)

Nun ja, bei einem Antivirenprogramm geht ja auch jeder davon aus, dass nach unerwünschtem gesucht wird.
Bei einer Konfiguration erwartet man i.d.R. schon, dass alles wiedergefunden wird.  ;)

(Bevor's wieder Haue gibt: Dass das hier was ganz anderes ist, ist mir schon klar!  8))
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: kumue am 15 September 2017, 10:07:04
Heute ist mir FHEM abgestürzt, siehe
https://forum.fhem.de/index.php/topic,76651.msg685756.html#msg685756 (https://forum.fhem.de/index.php/topic,76651.msg685756.html#msg685756)

Beim Neustart kam diese Meldung

Starting fhem...
looking for table: fhembinfilesave
testing: #2
table not found

Muss mich diese Meldung beunruhigen ?

Vorhanden ist die Tabelle jedenfalls nicht

sqlite> .tables
fhemb64filesave  fhemconfig       fhemstate        fhemversions
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: CoolTux am 15 September 2017, 10:11:31
Dein Ernst?

https://forum.fhem.de/index.php/topic,75608.msg681692.html#msg681692
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: kumue am 15 September 2017, 10:16:02
Zitat von: CoolTux am 15 September 2017, 10:11:31
Dein Ernst?

https://forum.fhem.de/index.php/topic,75608.msg681692.html#msg681692

oops , natürlich nicht...
Link angepasst...
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: ronny332 am 19 September 2017, 21:56:57
Hallo zusammen,

leider muss ich mich auch noch einmal melden. Mit der letzten hier verteilten Version von Betateilchen lief FHEM nun eine ganze Weile, bis zum Update heute (ich hatte auch keine Updates mehr eingespielt).

Seit dem Update erscheint es mir so, als ob die Erkennung ob "fhembinfilesave" existiert, nicht korrekt funktioniert. FHEM startet nicht, hier die passende Meldung:

looking for table: fhembinfilesave
testing: #1
found: `fhem_configdb`.`fhemb64filesave`
found: `fhem_configdb`.`fhembinfilesave_org`
2017.09.19 21:49:47 1: PERL WARNING: DBD::mysql::db selectrow_array failed: Table 'fhem_configdb.fhembinfilesave' doesn't exist at configDB.pm line 312.
DBD::mysql::db selectrow_array failed: Table 'fhem_configdb.fhembinfilesave' doesn't exist at configDB.pm line 312.
2017.09.19 21:49:47 1: PERL WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle database=fhem_configdb;host=127.0.0.1;port=3306 at configDB.pm line 312.


Lege ich die Tabelle "fhembinfilesave" per Hand wieder an, so klappt der Start, der Inhalt der Tabelle wird migriert, die Tabelle danach gelöscht (soweit so richtig, soweit ich das verstehe).
Nach dem Start beginnt das Spiel aber leider wieder von vorne. Die Tabelle "fhembinfilesave" wird zwingend für einen Start benötigt.

Gerne teste ich wieder auf meinem System unter Anleitung woran es klemmen könnte, bis dahin sollte es mit der letzten Version von hier hoffentlich auch sauber laufen :-).

EDIT:
das Problem könnte bei mir liegen, bzw. an der Art, wie configDB erkennt, ob "fhembinfilesave" existiert. In meinem Fall hatte ich das Original als "fhembinfilesave_org" gesichert. Wenn ich den Perl Code richtig verstehe, ist es für die Substring Erkennung ggf. sogar schon genug, um aus ""fhembinfilesave_org" ein vorhandenes "fhembinfilesave" zu erkennen. Mit einer "fhembinfilesave_org" in "hfembinfilesave_org" umbenannten Tabelle startet FHEM normal mit einem

looking for table: fhembinfilesave
testing: #1
found: `fhem_configdb`.`fhemb64filesave`
found: `fhem_configdb`.`fhemconfig`
found: `fhem_configdb`.`fhemstate`
found: `fhem_configdb`.`fhemversions`
found: `fhem_configdb`.`hfembinfilesave_org`
table not found


Daher erstmal sorry für den "Alarm" ;-).
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: betateilchen am 20 September 2017, 10:48:45
wer auf eigene Faust in der Konfigurationsdatenbank rumpfuscht, braucht sich nicht wundern, wenn irgendwas nicht mehr so funktioniert wie vorgesehen.

Für daraus resultierende Probleme fühle ich mich als Entwickler aber auch in keinster Weise verantwortlich.
Titel: Antw:Fehler beim fhem-start configDB
Beitrag von: Morgennebel am 19 März 2018, 18:34:11
Zitat von: ronny332 am 19 September 2017, 21:56:57
leider muss ich mich auch noch einmal melden. Mit der letzten hier verteilten Version von Betateilchen lief FHEM nun eine ganze Weile, bis zum Update heute (ich hatte auch keine Updates mehr eingespielt).

FHEM lief heute wunderbar. Heute update mit shutdown restart gemacht, ConfigDB meldet Fehler:

root@fhem:~# /etc/init.d/fhem start
Starting fhem...
looking for table: fhembinfilesave
testing: #2
table not found


Und diese table fehlt tatsächlich:

root@fhem:/opt/fhem# sqlite3 configDB.db
SQLite version 3.8.7.1 2014-10-29 13:59:56
Enter ".help" for usage hints.
sqlite> .tables
fhemb64filesave  fhemconfig       fhemstate        fhemversions   


Der Header der 98_configdb.pm:

root@fhem:/opt/fhem/FHEM# head 98_configdb.pm
# $Id: 98_configdb.pm 16218 2018-02-18 19:23:23Z betateilchen $
#


In restoreDir/2018-03-19/FHEM liegt keine 98_configdb.pm...

Betriebssystem www.devuan.org, Jessie:


root@fhem:/opt/fhem/restoreDir/2018-03-07/FHEM# uname -a
Linux fhem 3.16.0-5-amd64 #1 SMP Debian 3.16.51-3+deb8u1 (2018-01-08) x86_64 GNU/Linux


Danke, -MN
Titel: Antw:[gelöst] Fehler beim fhem-start configDB
Beitrag von: CoolTux am 19 März 2018, 18:37:31
Wo bitte schön liest Du daraus einen Fehler?
Steht da Fehler, steht da Error?

Es ist eine normale Debugausgabe die Udo nur noch nicht auskommentiert hat.
Die Meldung gibt es seit Anfang des Jahres.
Titel: Antw:[gelöst] Fehler beim fhem-start configDB
Beitrag von: betateilchen am 19 März 2018, 19:32:16
Zitat von: CoolTux am 19 März 2018, 18:37:31
Es ist eine normale Debugausgabe die Udo nur noch nicht auskommentiert hat.
Die Meldung gibt es seit Anfang des Jahres.

Nein, die gibt es schon viel länger, grob geschätzt seit August 2017.

Zitat von: Morgennebel am 19 März 2018, 18:34:11
Und diese table fehlt tatsächlich:

Das ist ein gutes Zeichen :)
Titel: Antw:[gelöst] Fehler beim fhem-start configDB
Beitrag von: CoolTux am 19 März 2018, 19:36:57
Zitat von: betateilchen am 19 März 2018, 19:32:16
Nein, die gibt es schon viel länger, grob geschätzt seit August 2017.

Ist es wirklich schon wieder so lange her? Oh man.
Titel: Antw:[gelöst] Fehler beim fhem-start configDB
Beitrag von: betateilchen am 19 März 2018, 19:46:57
Um genau zu sein: seit rev 15012 vom 05.09.2017

Davon abgesehen, dass diese Meldung seither beim FHEM Start jedesmal erscheint, habe ich hier im Forum schon bereits 10 Mal erklärt, dass diese Meldungen völlig normal und kein Grund zur Sorge sind.

Aber es gibt eben eine Handvoll (übrigens immer die gleichen) Leute, die mobben lieber erstmal rum, anstatt sich vorher zu informieren.
Titel: Antw:[gelöst] Fehler beim fhem-start configDB
Beitrag von: Morgennebel am 20 März 2018, 09:29:56
Zitat von: CoolTux am 19 März 2018, 18:37:31
Wo bitte schön liest Du daraus einen Fehler?
Steht da Fehler, steht da Error?

Stimmt. Das war mein Fehler (PECAB).

Das FHEM nicht startete, lag an den 1-Wire-Updates und den OW-Bibliotheken durch ein "update" verursacht. Nach einspielen aller Dateien aus dem restoreDir gings dann wieder.

Danke für die Geduld,

Ciao, -MN
Titel: Antw:[gelöst] Fehler beim fhem-start configDB
Beitrag von: Morgennebel am 20 März 2018, 09:32:24
Zitat von: betateilchen am 19 März 2018, 19:46:57
Aber es gibt eben eine Handvoll (übrigens immer die gleichen) Leute, die mobben lieber erstmal rum, anstatt sich vorher zu informieren.

Eine von Deiner abweichende Meinung zu vertreten ist kein Mobbing.

Bei der ConfigDB habe ich mich informiert, nutze sie seit Monaten. Bin aber nicht 100% überzeugt. Aber das ist meine Meinung, ich weiß, daß Du eine ganz andere hast und habe jetzt keine Lust, mich mit Dir zu streiten...

Ciao, -MN