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.
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
@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.
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
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)
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.
In der commandref ist diese Einschränkung zumindest nicht zu finden.
Das weiß ich, trotzdem hatte ich es immer als "gegeben" hin genommen.
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.
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.
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
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 :)