Perl Warnung bei Blocking.pm

Begonnen von Tom111, 15 Oktober 2016, 13:31:44

Vorheriges Thema - Nächstes Thema

Tom111

Hallo,

seit dem letzten Update von "Blocking.pm" am 14.10. bekomme ich immer nach einem Neustart von FHEM folgende Fehlermeldung ins LOG:
PERL WARNING: Use of uninitialized value in pattern match (m//) at FHEM/Blocking.pm line 101.

FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

chriz


Auch scheint der Fhem backup befehl nicht mehr Nonblocking zu sein?
2016.10.15 04:11:01.016 2: Backup with command: tar -cf - "./backup_cfg-state" "./CHANGED" "./configDB.pm" "./contrib" "./demolog" "./docs" "./FHEM" "./fhem.cfg" "./fhem.cfg.demo" "./fhem.pl" "./log" "./mybackup" "./README_DEMO.txt" "./restoreDir" "./unused" "./www" |gzip > ./backup/FHEM-20161015_041101.tar.gz
2016.10.15 04:12:17.154 1: backup done: FHEM-20161015_041101.tar.gz (280146837 Bytes)
2016.10.15 04:12:17.154 3: AT_Backup:
backup done: FHEM-20161015_041101.tar.gz (280146837 Bytes)
2016.10.15 04:12:17.177 1: 192.168.77.100:2001 disconnected, waiting to reappear (LGW1:keepAlive)
2016.10.15 04:12:17.284 2: harmonyhub: disconnect
2016.10.15 04:12:17.286 1: Perfmon: possible freeze starting at 04:11:02, delay is 75.286
2016.10.15 04:12:17.287 1: HMUARTLGW LGW1:keepAlive KeepAlive sent 71.060s too late, this might cause a disconnect!
2016.10.15 04:12:17.341 1: 192.168.77.100:2000 disconnected, waiting to reappear (LGW1)
2016.10.15 04:12:17.393 3: Opening LGW1:keepAlive device 192.168.77.100:2001
2016.10.15 04:12:17.393 1: 192.168.77.100:2000 reappeared (LGW1)
2016.10.15 04:12:17.402 3: LGW1:keepAlive device opened
2016.10.15 04:12:17.404 3: HMUARTLGW LGW1 BidCoS-port opened
2016.10.15 04:12:17.406 3: HMUARTLGW LGW1:keepAlive KeepAlive-port opened
2016.10.15 04:12:18.404 3: HMUARTLGW LGW1 currently running Co_CPU_App


Grüße
Chris
FHEM auf Intel NUC D34010WYK Core i3, SSD, Ubuntu. HomeMatic mit HMLAN (Groundplane Antenne), Fritz DECT!200, FritzBox 7490, EnerGenie EG-PMS2-LAN, Yamaha RX-V475, Netatmo, Withings, Philips hue, Osram Lightify, Flukso Energy Meter, Harmony, RooWifi, Junkers ZSB 24-4 C Heizung via Heatronic HT-BUS

rudolfkoenig

@Tom111:Habe warning (hoffentlich) vermieden. Konnte leider nicht testen, da das Problem bei mir nie auftrat.
@chriz: kann Problem mit "backup nicht mehr nonblocking" nicht nachstellen, bei mir ist es, gerade getestet.
"attr global updateInBackground" muss aber natuerlich gesetzt sein.

chriz

attr global updateInBackground 1 ist gesetzt, dann scheint es wohl ein anderes Problem mit dem HMUARTLGW disconnect zu geben - der HMUARTLGW Keepalive zumindest scheint durch das Backup beeinflusst zu werden.

Grüße
Chris
FHEM auf Intel NUC D34010WYK Core i3, SSD, Ubuntu. HomeMatic mit HMLAN (Groundplane Antenne), Fritz DECT!200, FritzBox 7490, EnerGenie EG-PMS2-LAN, Yamaha RX-V475, Netatmo, Withings, Philips hue, Osram Lightify, Flukso Energy Meter, Harmony, RooWifi, Junkers ZSB 24-4 C Heizung via Heatronic HT-BUS

dev0

#4
Ich kann es nachstellen (fhem.cfg.demo), dass trotz 'updateInBackground 1' das Backup blockiert. Das ist (bei mir) auch schon länger so, da ich es aber nur sehr selten nutze, hatte ich bisher nicht weiter geforscht. 'global verbose 5' zeigt nichts ungewöhnliches im log. Die Meldung, dass das Backup im Hintergrund ausgeführt wird erscheint nicht.


Server started with 57 defined entities (fhem.pl:12192/2016-09-22 perl:5.018002 os:linux user:fhem pid:29146)

marvin78

Ist es nicht ohnehin so, dass das Backup tatsächlich NUR beim update im Hintergrund ausgeführt wird? Ich meine, wenn man es per direktem Befehl ausführt, hat es bei mir immer blockiert.

dev0

In der commandref ist diese Einschränkung zumindest nicht zu finden.

marvin78

Das weiß ich, trotzdem hatte ich es immer als "gegeben" hin genommen.

dev0

#8
Interessanterweise funktioniert das Backup im Hintergrund auf meiner produktiven FHEM Instanz, die auf der selben Hardware läuft...

Edit:

Server started with 622 defined entities (fhem.pl:12095/2016-08-30 perl:5.018002 os:linux user:fhem pid:29973)


Edit2:
Ahh, nur übers Webinterface läufts im Hintergrund ?!
98_backup.pm:

  if($cl && ref($cl) eq "HASH" && $cl->{TYPE} && $cl->{TYPE} eq "FHEMWEB") {
    use Blocking;
    our $BC_telnetDevice;
    BC_searchTelnet("backup");
    my $tp = $defs{$BC_telnetDevice}{PORT};

    system("($cmd; echo Backup done;".
                "$^X $0 localhost:$tp 'trigger global backup done')2>&1 &");
    return "Started the backup in the background, watch the log for details";
  }



Ohne die Prüfung auf "FHEMWEB" läuft es (bei mir) auch im Hintergrund, wenn es über eine Telnet Sitzung aufgerufen wird.

Tom111

Zitat von: rudolfkoenig am 15 Oktober 2016, 19:04:56
@Tom111:Habe warning (hoffentlich) vermieden. Konnte leider nicht testen, da das Problem bei mir nie auftrat.
Danke, die Warnung kommt nicht mehr.
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

Ralf W.

Hallo Rudi,

ich rufe backup über ein at auf und bekomme eine Meldung von perfmon:
2017.01.24 18:57:00 2: Backup with command: tar -cf - "./cfg_fhemUser.cfg" "./CHANGED" "./configDB.pm" "./contrib" "./dead.letter" "./demolog" "./docs" "./FHEM" "./fhem.cfg
" "./fhem.cfg.demo" "./fhem.pl" "./log" "./README_DEMO.txt" "./restoreDir" "./setup" "./sound" "./unused" "./www" |gzip > ./backup/FHEM-20170124_185700.tar.gz             
2017.01.24 18:57:31 1: backup done: FHEM-20170124_185700.tar.gz (92165095 Bytes)                                                                                           
2017.01.24 18:57:31 3: SE_BackupRun:                                                                                                                                       
backup done: FHEM-20170124_185700.tar.gz (92165095 Bytes)                                                                                                                   
2017.01.24 18:57:31 1: Perfmon: possible freeze starting at 18:57:01, delay is 30.09


Da ich gegen die eigene Rumfrickelei in den Modulen bin, meine Frage: "Kann das nicht grundsätzlich im Modul 98_backup.pm geändert und ausgeliefert werden?"

MfG
Proxmox Nipogi AM16, FHEM:RaspberryMatic:DE ConBee II, diverse Sensoren und Aktoren.

rudolfkoenig

ZitatKann das nicht grundsätzlich im Modul 98_backup.pm geändert und ausgeliefert werden?

Na grundsaetzlich ist vieles moeglich, das Modul habe ich geerbt bzw. wird komissarisch von mir betreut, und ich habe bisher nicht viel damit gemacht.
Falls das jemand von mir uebernehmen will, bitte melden.

Wenn man backup als Teil von update durchfuehrt (attr global backup_before_update, default ist 0), und update im Hintergrund laeuft (attr global updateInBackground, default ist 1), dann laeuft backup auch im Hintergrund :)