hap-homematic icon indicating copy to clipboard operation
hap-homematic copied to clipboard

OutOfMemory Error

Open AndreasLehmann opened this issue 2 years ago • 5 comments

Please describe your problem Nach etwa 1-2 Tagen Laufzeit stürzt der HMServer Prozess ab. Im Logfile sieht man eine OOM-Exception.

What happends

Mar 23 08:58:29 org.eclipse.smarthome.binding.hue.handler.HueBridgeHandler ERROR [ESH-thingHandler-16968] An unexpected error occurred: Java heap space
java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOf(Arrays.java:3332)
	at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
	at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:596)
	at java.lang.StringBuilder.append(StringBuilder.java:190)
	at org.apache.commons.io.output.StringBuilderWriter.write(StringBuilderWriter.java:138)
	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2002)
	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1980)
	at org.apache.commons.io.IOUtils.copy(IOUtils.java:1957)
	at org.apache.commons.io.IOUtils.copy(IOUtils.java:1907)
	at org.apache.commons.io.IOUtils.toString(IOUtils.java:778)
	at org.apache.commons.io.IOUtils.toString(IOUtils.java:759)
	at org.eclipse.smarthome.binding.hue.internal.HttpClient.doNetwork(HttpClient.java:63)
	at org.eclipse.smarthome.binding.hue.internal.HttpClient.get(HttpClient.java:32)
	at org.eclipse.smarthome.binding.hue.internal.HueBridge.getFullConfig(HueBridge.java:826)
	at org.eclipse.smarthome.binding.hue.handler.HueBridgeHandler$1.run(HueBridgeHandler.java:97)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Hier noch eine weitere Exception:

Mar 23 09:08:40 org.eclipse.smarthome.binding.hue.handler.HueBridgeHandler ERROR [ESH-thingHandler-16994] An unexpected error occurred: Java heap space
java.lang.OutOfMemoryError: Java heap space

Nach einem Neustart des HAP läuft der Prozess wieder. Manchmal ist auch ein kompletter Neustart des Raspberry nötig. Heute hatte ich zusätzlich das Problem, dass nach dem Absturz des HAP-Servers die Homematic-Instanz im Erstinstallations-Modus verfallen ist (Konfiguration der Firewall). Anschließend waren sämtliche HAP-Konfigurationen gelöscht. Keine HAP Instanzen mehr, keine zugeordneten Geräte.

Alarmmeldung in Homematic: WatchDog: hmipserver-restart

Während der HAP-Server 'hängt' ist die CPU-Last auf 70%.

** Environment ** Ich habe die HAP Bridge mit 8 Räumen und ca. 10 Geräten eingerichtet. Die gesamte Homematic Installation umfasst 84 Geräte. BidCos-RF und HomematicIP.

  • Als Homematic Server verwende ich Raspberrymatic ( 3.61.7.20220115 ) auf einem Raspi3.
  • HAP-Server Version 0.0.14

AndreasLehmann avatar Mar 23 '22 19:03 AndreasLehmann

Also laut den Auszügen aus dem LOG, scheinst du eher ein Problem mit der Hue Bridge zu haben. Was sich dann auf den HAP Dienst auswirkt.

jb-home avatar Jul 04 '22 08:07 jb-home

Ja, das sieht so aus. Aber die Hue Bridge selbst funktioniert. Auch die Integration zwischen RaspberryMatic und der HueBridge klappt zuverlässig. Der HueBridgeHandler aus dem HAP scheint sich irgendwie zu verhaken.

AndreasLehmann avatar Jul 08 '22 09:07 AndreasLehmann

Warum schleifst du denn Hue Geräte von der Hue Bridge in die CCU und von der CCU dann nach HomeKit? Wenn die Hue Geräte auch nach HomeKit sollen, würde ich die direkt mit einer HomeBridge von der Hue Bridge holen. Der Umweg über die CCU kann ggf. zu Update schleifen führen. Was dann die out of memory Fehler erklären würde.

jb-home avatar Jul 08 '22 09:07 jb-home

Hmm, guter Punkt. Ich verwende die Hue-Geräte auch in Automationen und Steuerungen in der CCU. Daher sind sie in der CCU importiert. Um verschiedene Quelle für Geräte zu vermeiden, habe ich einfach "nur" alle CCU-Devices in HAP importiert. Wobei dann natürlich auch die Hue-Geräte dabei waren.

Ich werde das testen, derzeit habe ich das Plugin allerdings deinstalliert, um wieder ein stabiles System zu erhalten. Bitte lass das Issue noch offen, damit ich das Ergebnis meines Tests posten kann.

AndreasLehmann avatar Jul 08 '22 09:07 AndreasLehmann

Ich habe jetzt nur einige ausgewählte Geräte im HAP importiert und in HomeKit eingebunden. Damit funktioniert das PlugIn stabil. Ich empfehle den Hinweis mit in die Doku aufzunehmen, dass keine Hue-Geräte über den HAP an HomeKit durchgeschleift werden sollten.

Danke für die tolle Arbeit!

AndreasLehmann avatar Sep 10 '22 08:09 AndreasLehmann

Siehe neuer/letzter Eintrag unter Devices im Wiki

ChrWi avatar Dec 08 '23 20:12 ChrWi