FileLog und Fhem freeze

Begonnen von JoWiemann, 16 November 2023, 09:26:00

Vorheriges Thema - Nächstes Thema

JoWiemann

Hallo,

ich habe folgenden Prozess:

Das Modul 98_CDCOpenData.pm löscht, sofern im Attribut clearRadarFileLog hinterlegt, über den Befehl set <FileLogDevice> clear, bevor die neuen Readings geschrieben werden, den Inhalt der referenzierten FileLog Datei.

Ich vermute, dass durch eine ungenaue RegEx in der FileLog Device Definition die angehängte Problemdatei entsteht. Leider sieht man das nicht im Web-Frontend, sondern nur wenn man die Datei im Editor öffnet.

Die Folge ist nun, dass jedes Lesen der FileLog Datei durch plotAsPng zu einer immer weiter steigenden Laufzeit von FileLog_Get führt, die schließlich Fhem einfrieren lässt. Da ich minütlich Informationen für mein Flurdisplay sammele und bereit stelle, tritt der Freeze nach ca. 6-7 Stunden ein.

Vielleicht hat ja jemand eine Idee dazu.

Danke und Grüße

Jörg

list des DWD Device:
Internals:
   DWDHOST    opendata.dwd.de
   FUUID      65479c28-f33f-4b0e-6b85-3348006acff3b981
   INTERVAL   300
   LOCATION   Home:50.964113,6.800607
   NAME       DWD_Regen_Radar
   NEXT       2023-11-16 09:15:00
   NR         467
   STATE      26 values captured in 9.43 s
   TIMEOUT    55
   TMPDIR     temp_radolan_data_DWD_Regen_Radar
   TYPE       CDCOpenData
   eventCount 27
   CONFIG:
     IN_REQUEST 0
   READINGS:
     2023-11-16 08:55:00   Home_rain_radar/00 0
     2023-11-16 09:00:00   Home_rain_radar/01 0
     2023-11-16 09:05:00   Home_rain_radar/02 0
     2023-11-16 09:10:00   Home_rain_radar/03 0
     2023-11-16 09:15:00   Home_rain_radar/04 0
     2023-11-16 09:20:00   Home_rain_radar/05 0
     2023-11-16 09:25:00   Home_rain_radar/06 0
     2023-11-16 09:30:00   Home_rain_radar/07 0
     2023-11-16 09:35:00   Home_rain_radar/08 0
     2023-11-16 09:40:00   Home_rain_radar/09 0
     2023-11-16 09:45:00   Home_rain_radar/10 0
     2023-11-16 09:50:00   Home_rain_radar/11 0
     2023-11-16 09:55:00   Home_rain_radar/12 0
     2023-11-16 10:00:00   Home_rain_radar/13 0
     2023-11-16 10:05:00   Home_rain_radar/14 0
     2023-11-16 10:10:00   Home_rain_radar/15 0
     2023-11-16 10:15:00   Home_rain_radar/16 0
     2023-11-16 10:20:00   Home_rain_radar/17 0
     2023-11-16 10:25:00   Home_rain_radar/18 0
     2023-11-16 10:30:00   Home_rain_radar/19 0
     2023-11-16 10:35:00   Home_rain_radar/20 0
     2023-11-16 10:40:00   Home_rain_radar/21 0
     2023-11-16 10:45:00   Home_rain_radar/22 0
     2023-11-16 10:50:00   Home_rain_radar/23 0
     2023-11-16 10:55:00   Home_rain_radar/24 0
     2023-11-16 09:00:17   retStat_lastReadout 26 values captured in 9.43 s
     2023-11-16 09:00:17   state           26 values captured in 9.43 s
   fhem:
     UPDATE     0
   helper:
     CronTime   1
     FhemLog3Std 0
     TimerCmd   DWD_Regen_Radar.Cmd
     TimerReadout DWD_Regen_Radar.Readout
     baseTMPDIR temp_radolan_data_DWD_Regen_Radar
     bm:
       CDCOpenData_Get:
         cnt        7
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.11. 08:45:22
         max        0.000237941741943359
         tot        0.000952005386352539
         mAr:
           HASH(DWD_Regen_Radar)
           DWD_Regen_Radar
           ?
       CDCOpenData_Set:
         cnt        34
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.11. 08:46:25
         max        0.0407838821411133
         tot        0.121289253234863
         mAr:
           HASH(DWD_Regen_Radar)
           DWD_Regen_Radar
           update
   hmccu:
Attributes:
   INTERVAL   3600
   clearRadarFileLog FileLog_DWD_Regen_Radar
   cronTime   */15 * * * *
   disable    0
   enableDWDdata rainRadarbyLocation
   room       Wetter
   updateOnStart 1

list des FileLog Device
Internals:
   DEF        ./log/DWD_Regen_Radar-%Y-%m.log DWD_Regen_Radar:.*?_rain_radar.*
   FD         53
   FUUID      65522436-f33f-4b0e-35fb-f282582c0ea58dd8
   NAME       FileLog_DWD_Regen_Radar
   NOTIFYDEV  DWD_Regen_Radar
   NR         470
   NTFY_ORDER 50-FileLog_DWD_Regen_Radar
   REGEXP     DWD_Regen_Radar:.*?_rain_radar/..:.*
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/DWD_Regen_Radar-2023-11.log
   eventCount 1
   logfile    ./log/DWD_Regen_Radar-%Y-%m.log
   READINGS:
     2023-11-16 09:00:17   linesInTheFile  375
   helper:
     bm:
       FileLog_Define:
         cnt        2
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.11. 08:45:12
         max        0.010167121887207
         tot        0.0123031139373779
         mAr:
           HASH(FileLog_DWD_Regen_Radar)
           FileLog_DWD_Regen_Radar FileLog ./log/DWD_Regen_Radar-%Y-%m.log DWD_Regen_Radar:.*?_rain_radar.*
       FileLog_Get:
         cnt        26
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.11. 08:46:07
         max        0.00851798057556152
         tot        0.0899996757507324
         mAr:
           HASH(FileLog_DWD_Regen_Radar)
           FileLog_DWD_Regen_Radar
           CURRENT
           INT
           2023-11-16_08:50:00
           2023-11-16_10:49:59
           4:.*::
       FileLog_Log:
         cnt        8
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.11. 08:45:12
         max        0.00384712219238281
         tot        0.021273136138916
         mAr:
           HASH(FileLog_DWD_Regen_Radar)
           HASH(DWD_Regen_Radar)
       FileLog_Set:
         cnt        16
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.11. 08:45:12
         max        0.0206630229949951
         tot        0.154908418655396
         mAr:
           HASH(FileLog_DWD_Regen_Radar)
           FileLog_DWD_Regen_Radar
           ?
       FileLog_regexpFn:
         cnt        21
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        16.11. 09:01:06
         max        0.000203132629394531
         tot        0.00250768661499023
         mAr:
           FileLog_DWD_Regen_Radar
           4:.*::
   pos:
Attributes:
   room       Wetter

Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

rudolfkoenig

Das schaut fuer mich so aus, als ob jemand den aktuellen Offset in der Datei nicht zurueckgesetzt haette nachdem die Datei (durch clear) geleert wurde, und deswegen an der alten Stelle weiterschreibt.
Ich habe das jetzt versucht unter Linux nachzustellen, sehe aber kein Problem, selbst mit zwei FileLogs in die gleiche Datei.

Unter welchem OS gibt es die Probleme?
Gibt es evtl. weitere Teilnehmer, die diese Datei geoeffnet haben?

ZitatIch vermute, dass durch eine ungenaue RegEx in der FileLog Device Definition die angehängte Problemdatei entsteht.
Woher kommt diese Hypothese?

JoWiemann

#2
Zitat von: rudolfkoenig am 17 November 2023, 17:23:56Das schaut fuer mich so aus, als ob jemand den aktuellen Offset in der Datei nicht zurueckgesetzt haette nachdem die Datei (durch clear) geleert wurde, und deswegen an der alten Stelle weiterschreibt.
Ich habe das jetzt versucht unter Linux nachzustellen, sehe aber kein Problem, selbst mit zwei FileLogs in die gleiche Datei.

Hallo Rudi,

im Moment wird das FileLog alle 15 Minuten durch das DWD Device getriggert und alle 60 Sekunden durch plotAsPng gelesen.

Betriebssystem ist Bullseye auf einem RPi 3B+ und Bullseye auf einem Cubie.

Zitat von: rudolfkoenig am 17 November 2023, 17:23:56Unter welchem OS gibt es die Probleme?
Gibt es evtl. weitere Teilnehmer, die diese Datei geoeffnet haben?

ZitatIch vermute, dass durch eine ungenaue RegEx in der FileLog Device Definition die angehängte Problemdatei entsteht.
Woher kommt diese Hypothese?

Nur Bauchannahme.

Danke und Grüße Jörg

PS: Ich habe die Situation jetzt drei mal gehabt, aber mit allen Tricks nicht nachstellen können. Seid einer Woche unfallfrei.
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM