Absturz

Hi Sathya,

Meine Homegear Installation (0.6.0-103) ist gestern Nacht abgestürzt. Zufällig hab ich entdeckt, dass noch eine ‘core’-Datei erstellt wurde. Kannst Du die zur Fehleranalyse gebrauchen bzw willst Du die überhaupt haben?

Gruß,
Frank

Hallo Frank,

oh ja, bitte schick mir die core-Datei. Und auch beide Logdateien. Mal sehen, ob ich das Problem damit identifizieren kann. Der Fehler muss weg… Leider sind keine Debuginformationen enthalten…

LG Sathya

Hi Sathya,

da ich mir nicht sicher bin, ob doch ein paar sensible Informationen in der core-Dateien enthalten sind, habe ich Dir die Daten mal per Email geschickt.
Mit den Log-Dateien wirst DU vermutlich nicht viel anfangen können, da ich den Log-Level aufgrund meines MQTT Problems mal auf 1 zurückgestellt hatte. Solltest Du noch Unterstützung bzw weitere Daten brauchen, melde Dich bitte.

Den Log-Level hab ich wieder auf 4 zurückgestellt und den MQTT Client vorerst wieder deaktiviert. Falls das Problem nochmals auftreten sollte, bin ich jedenfalls vorbereitet :wink:

Gruß,
Frank

Hallo Frank,

ich habe mir den core-Dump gestern angeschaut. Leider ist da nicht viel mit anzufangen, da die Debug-Informationen fehlen. Ich weiß, dass irgendwo ein “Signal 6” aufgetreten ist. Ich werde mal zusehen, dass ich die Nightlies ab jetzt mit Debuginformationen kompiliere, damit ich das nächste Mal mit dem core-Dump den Fehler direkt beheben kann.

Liebe Grüße

Sathya

P. S.: MQTT schau ich mir gleich an :stuck_out_tongue:.

Hallo,

ich habe auch gerade auf meinem Rasp die Version Raspbian 7 (Wheezy) 0.6.0-969 installiert. Leider bekomme ich ebenfalls nach recht kurzer zeit einen Fehler:

07/09/15 14:30:29.548 Module HomeMatic BidCoS: Info: NEXT_TRANSMISSION on channel 1 of HomeMatic BidCoS peer 8 with serial number KEQ1070171 was set to 0x08. 07/09/15 14:30:29.557 Info: Calling RPC method "system.multicall" on server 192.168.178.63. 07/09/15 14:30:29.558 Info: Connecting to host 192.168.178.63 on port 9123... 07/09/15 14:30:29.559 Info: Connected to host 192.168.178.63 on port 9123. Client number is: 16 07/09/15 14:30:29.561 Critical: Signal 6 received. Stopping Homegear...

Ich möchte gerne MQTT verwenden, daher gehe ich auf die Nightly Version. Sollte in dieser Version der Fehler behoben sein ?
Irgend welche Tipps?

Hallo Geraldus,

ich schaue morgen mal, ob ich das Problem ausfindig machen kann. Der Logausschnitt spricht dafür, dass das Problem tatsächlich am MQTT-Teil liegt.

Viele Grüße

Sathya

Hallo Sathya,

hast Du mal inzwischen reinschauen können? Leider ist die Version so für mich nicht brauchbar, da sie maximal 1 h ohne Absturz läuft.
Schicke Dir gerne den Core Dump oder sonstige Infos, wenn Du sie benötigst.

Grüße,
Frank

Hallo Frank,

ich hatte tatsächlich kurz geschaut, auf Anhieb aber keinen Fehler entdeckt. Dann habe ich es aus Zeitgründen erst einmal beiseite gepackt und natürlich vergessen :blush: (mir fehlt in PHPBB wirklich das Feature, unbeantwortete Posts zu markieren, ich muss dringend suchen, obs dafür ein Plugin gibt). Ich habe jetzt in meiner Testinstallation dauerhaft MQTT aktiviert und schaue mal, ob ich das Problem reproduziert bekomme. Vielleicht noch ein paar Infos, damit meine Testinstallation möglichst exakt deinem Aufbau entspricht: Hast du SSL für MQTT aktiviert? Nutzt du Mosquitto als Broker? Läuft Mosquitto auf dem gleichen Rechner?

Viele Grüße

Sathya

Hallo Sathya,

sorry für die verspätete Antwort. Ich lasse alles auf einem Raspberry Pi 2 laufen. Als Broker nehme ich den Mosquitto. SSL ist zur Zeit noch nicht aktiviert. Ich habe jetzt erst mal Mosquitto in der config disabled und seitdem läuft das Homegear stabil. Scheint also wirklich daran zu liegen.

Übrigens noch als Anregung: Wäre prima, wenn sich die “Formate” für Publish und subribe nicht unterscheiden würden. Wenn ich eine Nachricht an Homegear senden möchte, muss ich diese JSONRPC codieren. Nachrichten die Homegear published sind dies aber nicht. Oder habe ich da bisher was falsch verstanden? Theoretisch sollte es doch funktionieren, dass eine Nachricht, welche ich über Homegear von einem Schalter poste bewirkt, dass z.B. eine Schaltaktor eine Lampe anschaltet, weil dieser die entsprechende MQTT nachricht empfangen hat. Aktuell muss ich noch eine dritte Softwarekomponente verwenden, welche die Nachricht in JSONRPC übersetzt.

Grüße,
Frank

Hallo Frank,

deine Anregung bezüglich des Formats finde ich super und werde ich einbauen. Hab mal ein Issue dazu erzeugt: github.com/Homegear/Homegear/issues/221. Was hältst du von folgendem Format:

homegear/{HOMEGEAR-ID}/{GERÄTE-ID}/{KANAL}/config/{PARAMETER}
homegear/{HOMEGEAR-ID}/{GERÄTE-ID}/{KANAL}/value/{VARIABLE}

Die Payload wäre dann der Wert?

Ich habe jetzt eine Weile Mosquitto am Laufen, bisher ohne Absturz. Allerdings publishe ich zur Zeit nichts an Homegear. Traten die Abstürze bei dir auch auf, ohne dass du etwas gepublished hast? Welche Version von Mosquitto hast du installiert?

Viele Grüße

Sathya

Aktuell habe ich mosquitto version 1.4.2 installiert.
Ich selber habe nichts aktiv geplublished, jedoch habe ich Homematik und Max! Geräte angelernt, dass könnte noch eine Besonderheit sein.

Das mit dem Format muss Du mir nochmals erklären. Soll das Format das selbe für Publish und Subscribe sein?

Hey,

MAX! ist tatsächlich eine Besonderheit, MAX!-Geräte habe ich in meiner Testinstallation nicht und werde diese entsprechend dann mal hinzufügen.

Genau, das Format wäre dann für Publish und Subscribe identisch (zumindest für Gerätewerte). “event” würde dann entfallen. Konfigurationsparameter hätten dann folgendes Format:
homegear/{HOMEGEAR-ID}/{GERÄTE-ID}/{KANAL}/config/{PARAMETER}

Und Variablen folgendes:
homegear/{HOMEGEAR-ID}/{GERÄTE-ID}/{KANAL}/value/{VARIABLE}

Viele Grüße

Sathya

Ähnliches Setup, gleicher Fehler:

RP2 mit Raspian (Wheezy) und Homegear sowohl als nightly build als auch selber compiliert
Mosquitto (ohne SSL) auf Synology
HM-CFG-LAN

08/22/15 20:21:20.340 Critical: Signal 6 received. Stopping Homegear…

Manchmal geht es länger, manchmal weniger lange bis zum Absturz.

Manchmal stürzt der Prozess auch nicht ab, sondern bleibt einfach hängen und reagiert dann nicht mehr…

Habe nun mal den debuglevel auf 10 erhöht und könnte dann die Logfiles und Cores schicken nach dem nächsten Absturz.

In der Zwischenzeit habe ich für die Signal 6 Abbrüche einen automatischen restart aufgesetzt.

restartd installieren (apt-get restartd)

restartd konfigurieren in /etc/restartd.conf

homegear “/usr/bin/homegear.*” “/etc/init.d/homegear start” “echo ‘homegear ok’ >/tmp/homegearrestartd.out”

Nun habe ich nach versuchen mit hm-manager und homegear kickstarter auch noch anderer Fehler in homgear.err:

08/23/15 22:34:42.190 Connecting to server 192.168.92.74 on port 9876 timed out.
Removing server. Server has to send “init” again.
08/23/15 22:39:10.676 Error in file Libraries/Systems/DatabaseController.cpp lin
e 522 in function virtual std::shared_ptrBaseLib::RPC::Variable DatabaseContro
ller::getMetadata(uint64_t, std::string&): map::at
08/23/15 22:39:10.681 Error in file Libraries/Systems/DatabaseController.cpp lin
e 522 in function virtual std::shared_ptrBaseLib::RPC::Variable DatabaseContro
ller::getMetadata(uint64_t, std::string&): map::at
08/23/15 22:39:10.685 Error in file Libraries/Systems/DatabaseController.cpp lin
e 522 in function virtual std::shared_ptrBaseLib::RPC::Variable DatabaseContro
ller::getMetadata(uint64_t, std::string&): map::at
08/23/15 22:39:10.689 Error in file Libraries/Systems/DatabaseController.cpp lin
e 522 in function virtual std::shared_ptrBaseLib::RPC::Variable DatabaseContro
ller::getMetadata(uint64_t, std::string&): map::at
08/23/15 22:39:10.697 Error in file Libraries/Systems/DatabaseController.cpp lin
e 522 in function virtual std::shared_ptrBaseLib::RPC::Variable DatabaseContro
ller::getMetadata(uint64_t, std::string&): map::at
08/23/15 22:39:10.702 Error in file Libraries/Systems/DatabaseController.cpp lin
e 522 in function virtual std::shared_ptrBaseLib::RPC::Variable DatabaseContro
ller::getMetadata(uint64_t, std::string&): map::at

Hallo FotoFieber,

vielen Dank für die Logdateien und den Coredump - das schaue ich mir gleich an. Den getMetadata-Fehler kannst du ignorieren. Der Eintrag wurde nur nicht in der Datenbank gefunden und es wurde keine vernünftige Fehlermeldung ausgegeben.

Viele Grüße

Sathya

Um klar reproduzierbare Verhältnisse zu schaffen, habe ich raspian neu aufgesetzt und auf jessie upgedatet.

Das Binary vom nightly build lief dann leider nicht:

symbol lookup error: /usr/bin/homegear: undefined symbol: core_globals_id

Selbst ist also der Mann. :smiley:

Builden konnte ich erst, nachdem ich viele PHP-Packages ausgetauscht habe gegen die Version auf dem homegear-repo. (Ist mir fast zu invasiv und ich muss mir überlegen, ob ich für homegear einen separaten PI aufsetzen soll.)

Und siehe da, es scheint nicht mehr abzustürzen…

Hallo FotoFieber,

das hört sich guit an. Kannst Du mir nochmals genauer erklären, was Du alles gemacht hast damit es nun absturzfrei läuft?

Vielen Dank

Gruß, Frank

Hallo Frank,

ich übernehm mal die Antwort :wink:. FotoFieber hat auf Raspbian Jessie aktualisiert (in /etc/apt/sources.list und /etc/apt/sources.list.d/homegear.list “wheezy” durch “jessie” ersetzen, apt-get update, apt-get dist-upgrade). Anschließend PHP neu installieren (vielleicht ist das schon automatisch geschehen, aber sicherheitshalber: apt-get remove php5 libphp5-embed, apt-get install php5, libphp5-embed) und dann Homegear 0.6 drauf. Außerdem hat FotoFieber auch auf die aktuelle Mosquitto-Version aktualisiert. Damit scheint es jetzt zu klappen, nur leider bin ich bei der Lösung des Problems noch nicht weiter, denn auch mit Wheezy oder alter Mosquitto-Version muss es ja funktionieren :’(…

Viele Grüße

Sathya

Hallo Sathya,

jetzt habe ich endlich mal die Zeit gefunden, alles neu aufzusetzen.
Ich habe folgendes gemacht:

  1. Download eines Images von raspberrypi.org/downloads/raspbian/ und installieren dieses auf die Micro-SD Card

  2. Starten, einloggen und erst mal das Netzwerk einrichten (verwende eine WLAN Adapter)

  3. Aktualisieren des Systems:

sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade

  1. Update auf Jessie:
    Ändern der Repositories für apt sudo sed -i /deb/s/wheezy/jessie/g /etc/apt/sources.list sudo sed -i /deb/s/wheezy/jessie/g /etc/apt/sources.list.d/*.listr
    Paketliste Aktualisieren:

Aktualisieren auf Jessie

sudo apt-get upgrade sudo apt-get dist-upgrade
Löschen der nicht mehr benötigten Dateien

sudo apt-get autoremove sudo apt-get autoclean
4. PHP deinstallieren und neu installieren

sudo apt-get remove php5 libphp5-embed sudo apt-get install php5 libphp5-embed

  1. Download des letzten Builds von “https://www.homegear.eu/index.php/Downloads” dIe Version Raspbian 8 (Jessie)
  1. Installieren dieses Pakets:

Beim Installieren gibt es schon folgende Fehlermeldung:

chmod: Zugriff auf „/var/lib/homegear/db.sql“ nicht möglich: Datei oder Verzeichnis nicht gefunden /usr/bin/homegear: symbol lookup error: /usr/bin/homegear: undefined symbol: core_globals_id [....] Starting Homegear: homegear/usr/bin/homegear: symbol lookup error: /usr/bin/homegear: undefined symbol: core_globals_id

Also noochmals auf den Websiten nachgelesen und gesehen das dort folgendes steht:

[quote]First install the prerequisites:
apt-get update && apt-get install libsqlite3-0 libreadline6 libgcrypt11 libgnutlsxx27 unzip p7zip-full libxml2-utils patch perl[/quote]

  1. Also Homegear nochmals deinstalliert

sudo dpkg -r homegear sudo dpkg -purge homegear

Den Aufruf für die prerequisites ausgeführt

Und Homegear erneut installieren.

Gleiche Fehlermeldung :unamused:
Anscheinend hat FotoFieber doch noch mehr gemacht, nur was und wie?
Kannst Du mir das sagen?

Vielen Dank!