[gelöst] Untersuchung potentielles Speicherleck in ModbusAttr Relay

Begonnen von FhemPiUser, 09 September 2022, 17:29:30

Vorheriges Thema - Nächstes Thema

StefanStrobel

Sorry für die verspätete Antwort. Ich hatte die letzten Posts nicht bemerkt.
Der Fix ist seit Oktober eingecheckt. Das Problem war ein Verweis vom TCP-Server hash auf alle offenen Verbindungen, der beim Schließen einer Verbindung nicht gelöscht wurde (Funktion DoClose im Modbus-Modul)

Gruß
    Stefan

tamash

Hallo!

Ich denke ich habe ein ähnliches oder vergleichbares Problem mit ModbusAttr als relay.

Ich habe eine ModbusAttr TCP Verbindung zu einem WR konfiguriert:
NAME       Tr.SolaxWr
DEF        1 10 solax.sweethome.net:502 TCP

Auf dieses Device hab ich gestern ein relay aufgesetzt:
NAME       Tr.ModbusRelaySolaxWr01
DEF        10 relay 192.168.0.19:1502 TCP to Tr.SolaxWr

Seit ich das Relay aufgesetzt habe konsumiert fhem.pl kontinuierlich mehr Speicher bis der OOM-Killer kommt und der Sache ein Ende bereitet. Zuletzt hat es ca. 24h gedauert bis dieser Fall eingetreten ist.

Kann es sich hier um ein ähnliches Memory Leak handeln, mach ich u.U. etwas falsch oder benutzte das Modul in einer nicht unterstützten  Variante?

Edit: Wenn ich das Relay-Device disable (attr disable 1) ist das Phänomen weg.

Danke im Voraus
LG
Tom

StefanStrobel

Hallo Tom,

welche Version des Modbus-Moduls verwendest Du denn?

Gruss
   Stefan

tamash

hallo stefan!

die aktuellste die aus dem fhem SVN kommt.

LG
Tom

StefanStrobel

Hallo Tom,

bitte poste doch mal Deine genaue Konfiguration sowie einen möglichst langen Auszug aus dem Log mit verbose 5 für alle Modbus-Devices, dann kann ich versuchen das nachzustellen.

Gruss / Thanx
   Stefan

tamash

Hi Stefan!

Ich hab mittlerweile auf ein Slave-Device umgestellt an das ich einfach die entsprechenden Readings weitergebe. Damit hat sich das Problem für mich erstmal erledigt.
Wenn es dich aber persönlich interessiert und du es Debuggen möchtest kann ich das gerne zurück bauen und dir dann entsprechende Daten zukommen lassen.

Sag einfach kurz Bescheid obs dir deine Zeit wert ist. ;)

LG
Tom

StefanStrobel

Hallo Tom,

wenn es tatsächlich noch ein Speicherleck im Relay gibt, dann würde ich gerne verstehen, unter welchen Umständen das auftritt und es beheben.
Das mit der Zeit ist aber tatsächlich ein Thema. Kurzfristig werde ich nicht dazu kommen.
Wenn Du die Daten aber bereitstellen könntest, dann mache ich das in den nächsten Wochen sobald ich Zeit finde.

Gruss / Thanx
   Stefan

tamash

OK. Verstehe. Ich werd das in nächster Zeit mal zurückbauen und dir dann die entsprechenden Logs zukommen lassen.

Danke für deine Arbeit und Motivation.

LG
Tom

tamash

Hi Stefan!

Im Anhang findest du die Listings der 2 beteiligten Devices.
Das Logfile mit 'verbose 5' der beiden Devices hab ich hier https://kalender.waan.name/index.php/s/zacRkzm7C5Tj9gS abgelegt da es selbst gzipped noch zu groß für das Forum ist.

Ich hab es für ca. 1h laufen lassen. In dieser Zeit hat sich der Speicherabdruck von fhem.pl (PID 817) ca. verdoppelt:

09:53:31 up 16:47,  2 users,  load average: 0.69, 0.78, 0.81             
Thu 13 Jul 09:53:31 CEST 2023                                             
  PID USER     %MEM CMD
  817 fhem      3.7 perl fhem.pl fhem.cfg                                 
13811 fhem      3.7 perl fhem.pl fhem.cfg
29949 fhem      3.7 perl fhem.pl fhem.cfg
29950 fhem      3.7 perl fhem.pl fhem.cfg
29951 fhem      3.7 perl fhem.pl fhem.cfg
10:54:47 up 17:49,  2 users,  load average: 0.65, 0.78, 0.87
Thu 13 Jul 10:54:47 CEST 2023
  PID USER     %MEM CMD
  817 fhem      7.8 perl fhem.pl fhem.cfg
13811 fhem      3.7 perl fhem.pl fhem.cfg
29949 fhem      3.7 perl fhem.pl fhem.cfg
29950 fhem      3.7 perl fhem.pl fhem.cfg
29951 fhem      3.7 perl fhem.pl fhem.cfg

Wäre toll wenn wir das irgendwie hinbekommen würden.
Falls du irgendwelche weiteren Daten benötigst oder ich sonst irgendwie behilflich sein kann lass es mich bitte wissen.

LG
Tom

tamash

hi stefan!

bist du vielleicht schon dazu gekommen das logfile downzuloaden? (würd es gern wieder entfernen)

danke und lg
tom