memory leak bei Verwendung von apptime in Kombination mit TCM devices

Begonnen von hasselh, 27 Juni 2025, 23:07:32

Vorheriges Thema - Nächstes Thema

hasselh

Hallo @martinp876,

analog zu @franky08 (siehe apptime und Memory im Forum vor 8 Jahren), beobachte ich einen konstanten Anstieg des Speicherverbraus von 20MB/Tag seitdem ich am 22. Juni apptime verwendet habe (siehe Screenshot unten).

Das Problem liegt meines Erachtens in 98_apptime.pm, wo alle paar Sekunden diverse Daten der Form $defs{"FGW14"}{"helper"}{"bm"}{*}{*} angelegt werden. Da für TCM Devices $fnName auch Hash Werte enthalten kann (und die Daten aus irgendeinem Grund nicht wieder aufgeräumt werden), tummeln sich in meinem Data Stack nach 5 Tagen >30 tausend Elemente der Form $defs{"FGW14"}{"helper"}{"bm"}{*}{*}

Ein Auszug:

$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e7f1700)"}{"cnt"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e7f1700)"}{"dmx"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e7f1700)"}{"dtot"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e7f1700)"}{"dtotcnt"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e7f1700)"}{"mAr"}[0]
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e7f1700)"}{"mTS"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e7f1700)"}{"max"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e7f1700)"}{"tot"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e824110)"}{"cnt"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e824110)"}{"dmx"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e824110)"}{"dtot"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e824110)"}{"dtotcnt"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e824110)"}{"mAr"}[0]
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e824110)"}{"mTS"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e824110)"}{"max"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55557e824110)"}{"tot"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55558236f010)"}{"cnt"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55558236f010)"}{"dmx"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55558236f010)"}{"dtot"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55558236f010)"}{"dtotcnt"}
$defs{"FGW14"}{"helper"}{"bm"}{"TCM_Notify"}{"mAr"}[1]{"helper"}{"bm"}{"tmr-DOIF_TimerTrigger;REF(0x55558236f010)"}{"mAr"}[0]
[...]

Ich würde apptime gerne auch in einem Umfeld mit einem TCM Device einsetzen - natürlich ohne FHEM alle paar Tage neu starten zu müssen. ;)   Aber auch ein Aufruf von apptime clear bringt hier leider keine Abhilfe.

Kannst du mir helfen ?


Du darfst diesen Dateianhang nicht ansehen.

hasselh

@klaus.schauer,

hast du vielleicht eine Idee, warum dieses seltsame Verhalten von apptime nur bei TCM devices auftritt ? Ich hab ansonsten einen ganzen "Zoo" von physischen devices (z.B. CUL, EnOcean, IT, KLF200, SIGNALduino, WMBUS, YAMAHA_AVR), bei denen apptime keine Probleme macht...