FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: Dr. Boris Neubert am 19 September 2015, 09:13:47

Titel: Can't call method "close" on an undefined value at /opt/fhem/FHEM/HttpUtils.pm
Beitrag von: Dr. Boris Neubert am 19 September 2015, 09:13:47
Hallo,

als ich gestern meine Internetverbindung voll ausgelastet hatte, kam es zu Verbindungsabbrüchen beim FHEM-Update:

2015.09.18 21:34:06 1: UPD ./CHANGED
2015.09.18 21:34:08 1: UPD ./fhem.pl
2015.09.18 21:34:09 1: UPD FHEM/00_FBAHA.pm
2015.09.18 21:34:11 1: UPD FHEM/00_MAXLAN.pm
2015.09.18 21:34:12 1: UPD FHEM/00_NetzerI2C.pm
2015.09.18 21:34:14 1: UPD FHEM/00_ZWDongle.pm
2015.09.18 21:34:18 1: http://fhem.de/fhemupdate/FHEM/00_ZWDongle.pm: Select timeout/error:
Can't call method "close" on an undefined value at /opt/fhem/FHEM/HttpUtils.pm line 65.


Diese Nachricht (mit Crash) bekam ich nochmal beim Herunterladen eines Kalenders durch das Calendar-Modul.

Ich denke, dass die Zeile 65 in HttpUtils.pm

  $hash->{conn}->close() if($hash->{conn});

wie folgt lauten müsste:

  $hash->{conn}->close() if(defined($hash->{conn}));


Viele Grüße
Boris
Titel: Antw:Can't call method "close" on an undefined value at /opt/fhem/FHEM/HttpUtils.pm
Beitrag von: rudolfkoenig am 19 September 2015, 13:58:11
Habs geaendert und eingecheckt.
Allerdings wird das im Vergleich zum alten Code keinen Unterschied machen, oder ich verstehe perl nicht mehr.
Titel: Antw:Can't call method "close" on an undefined value at /opt/fhem/FHEM/HttpUtils.pm
Beitrag von: Dr. Boris Neubert am 19 September 2015, 14:41:47
Ich bin ja auch der Meinung, dass if() einen undefinierten Wert wie ein boolesches falsch behandelt. Aber wie sonst erklärt sich die Meldung?
Titel: Antw:Can't call method "close" on an undefined value at /opt/fhem/FHEM/HttpUtils.pm
Beitrag von: rudolfkoenig am 19 September 2015, 17:59:56
Mit einer anderen Version?