Moin moin,
ich bekomme seit einigen Tagen und einem Update folgendes ins Log:
2023.09.30 01:43:49 0: ERROR: Cannot autoload Hideki
2023.09.30 07:49:07 1: reload: Error:Modul 14_Hideki deactivated:
syntax error at ./FHEM/14_Hideki.pm line 37, near "carp "Hideki_Initialize, hash failed""
syntax error at ./FHEM/14_Hideki.pm line 131, near "carp qq[Hideki_Define, too few arguments ($hash, $def)]"
syntax error at ./FHEM/14_Hideki.pm line 150, near "carp qq[Hideki_Undef, too few arguments ($hash, $name)]"
syntax error at ./FHEM/14_Hideki.pm line 161, near "carp qq[Hideki_Parse, too few arguments ($iohash, $msg)]"
syntax error at ./FHEM/14_Hideki.pm line 279, near "carp qq[decryptAndCheck, too few arguments (iohash, rawData)]"
syntax error at ./FHEM/14_Hideki.pm line 325, near "carp qq[Hideki_SecondCheck, too few arguments]"
syntax error at ./FHEM/14_Hideki.pm line 355, near "carp q[no bytes specified]"
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 357.
syntax error at ./FHEM/14_Hideki.pm line 367, near "carp q[no bytes specified]"
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 368.
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 368.
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 368.
syntax error at ./FHEM/14_Hideki.pm line 376, near "carp q[no bytes specified]"
./FHEM/14_Hideki.pm has too many errors.
Ich nutze das Modul nicht, aber vermute mal, dass da etwas in SVN kam - das kaputt ist?
scheint sich in Wohlgefallen aufgelöst zu haben :-)
Sorry - es war wohl nur deaktiviert :-)
Problem gibt es weiterhin.
2023.10.03 00:01:14 1: reload: Error:Modul 14_Hideki deactivated:
syntax error at ./FHEM/14_Hideki.pm line 37, near "carp "Hideki_Initialize, hash failed""
syntax error at ./FHEM/14_Hideki.pm line 131, near "carp qq[Hideki_Define, too few arguments ($hash, $def)]"
syntax error at ./FHEM/14_Hideki.pm line 150, near "carp qq[Hideki_Undef, too few arguments ($hash, $name)]"
syntax error at ./FHEM/14_Hideki.pm line 161, near "carp qq[Hideki_Parse, too few arguments ($iohash, $msg)]"
syntax error at ./FHEM/14_Hideki.pm line 279, near "carp qq[decryptAndCheck, too few arguments (iohash, rawData)]"
syntax error at ./FHEM/14_Hideki.pm line 325, near "carp qq[Hideki_SecondCheck, too few arguments]"
syntax error at ./FHEM/14_Hideki.pm line 355, near "carp q[no bytes specified]"
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 357.
syntax error at ./FHEM/14_Hideki.pm line 367, near "carp q[no bytes specified]"
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 368.
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 368.
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 368.
syntax error at ./FHEM/14_Hideki.pm line 376, near "carp q[no bytes specified]"
./FHEM/14_Hideki.pm has too many errors.
Es sieht so aus, als würde Dein Perl mit den Zeilen mit "carp" nicht zurecht kommen.
Dies sind unnötige Sicherheitsabfragen der an die Routinen übergebenen Parametern.
z.B.
Zitatsyntax error at ./FHEM/14_Hideki.pm line 37, near "carp "Hideki_Initialize, hash failed""
Bitte teste mal ob die o.g. Fehlermeldung weg ist, wenn Du in der 14_Hideki.pm die folgende Zeile löscht oder mit "#" am Anfang auskommentierst. Es ist hinterher ein fhem restart notwendig
carp "Hideki_Initialize, hash failed" if (!$hash);
Gruß Ralf
Hallo Ralf,
ich habe auf deinen Hinweis hin einmal geschaut - es gab tatsächlich was zu updaten in meinem Dockercontainer was Perl an ging.
Wenn es das war - so melde ich es.
Ansonsten teste ich danach deinen Hinweis :-)
Es scheint ja, als wäre ich allein mit dem Log-Eintrag.
Von daher - möglicherweise war es ein Update Thema.
Danke erstmal - ich beobachte nun und melde.
Hallo Ralf,
du bist nicht alleine, ich habe seit dem 22.09 (Nach einem Update) das gleiche Problem.
Zu Hideki gab es damals folgenden Eintrag:
- bugifix: 14_Hideki.pm: winddirection fixed (#1099)
Am Anfang wurde die Log Datei regelrecht mit Meldungen geflutete. Ein weiteres Update am 30.09 brachte da etwas Ruhe, ich habe aber keine Ahnung welche Änderungen das bewirkt hatten.
Das waren die Änderungen:
2023.09.30 18:20:55.068 1: Downloading https://fhem.de/fhemupdate/controls_fhem.txt
2023.09.30 18:20:55.068 1: fhem
2023.09.30 18:20:55.168 1: RMDIR: ./restoreDir/update/2023-07-27
2023.09.30 18:20:55.248 1: UPD ./CHANGED
2023.09.30 18:20:55.306 1: UPD ./fhem.pl
2023.09.30 18:20:55.358 1: UPD FHEM/88_HMCCU.pm
2023.09.30 18:20:55.400 1: UPD FHEM/88_HMCCUCHN.pm
2023.09.30 18:20:55.418 1: UPD FHEM/88_HMCCUDEV.pm
2023.09.30 18:20:55.434 1: UPD FHEM/88_HMCCURPCPROC.pm
2023.09.30 18:20:55.456 1: UPD FHEM/90_at.pm
2023.09.30 18:20:55.482 1: UPD FHEM/HMCCUConf.pm
2023.09.30 18:20:55.504 1: UPD FHEM/lib/AttrTemplate/mqtt2.template
2023.09.30 18:20:55.611 1: saving fhem.cfg
2023.09.30 18:20:55.613 1: saving ./log/fhem.save
2023.09.30 18:20:55.615 1:
2023.09.30 18:20:55.615 1: New entries in the CHANGED file:
2023.09.30 18:20:55.616 1: - change: 88_HMCCU: Fixed bug in GetDutyCycle
2023.09.30 18:20:55.616 1: - change: 88_HMCCU: Fixed substitute and authentication
Seit dem 04.10 gibt es keine Hideki Felermeldungen mehr, auch nicht mehr nach einem "restart fhem" ....
Ein Update habe ich zwischenteitlich auch nicht mehr durchgeführt
Ich habe das aber wegen anderer Themen aber nur Oberflächlich verfolgt.
Moin moin,
also bei mir scheint das update der Perl Instanz geholfen zu haben (FHEM Docker Image).
Stimmt,
Anfang Oktober habe ich auch nochmals ein komplettes Update gemacht.
Könnte also durchaus daran gelegen haben
Zitat von: Ralf9 am 04 Oktober 2023, 14:40:42Es sieht so aus, als würde Dein Perl mit den Zeilen mit "carp" nicht zurecht kommen.
Dies sind unnötige Sicherheitsabfragen der an die Routinen übergebenen Parametern.
z.B.
Zitatsyntax error at ./FHEM/14_Hideki.pm line 37, near "carp "Hideki_Initialize, hash failed""
Bitte teste mal ob die o.g. Fehlermeldung weg ist, wenn Du in der 14_Hideki.pm die folgende Zeile löscht oder mit "#" am Anfang auskommentierst. Es ist hinterher ein fhem restart notwendig
carp "Hideki_Initialize, hash failed" if (!$hash);
Gruß Ralf
Hallo Ralf,
ich habe bei mir keinen Signalduino laufen sondern einen CUL.
Irgendwann kommt fehm auf die Idee das 14_Hideki-Modul automatisch zu laden und scheitert dann wegen dem "carp".
im 14_Hideki-Modul fehlt ein:
use Carp;
Könntest du das evtl. ergänzen?
Grüße,
Arno
hier ist die letzte Änderung
https://svn.fhem.de/trac/changeset/27953/trunk/fhem/FHEM/14_Hideki.pm
Es wurden bei allen Routinen zur überprüfung der übergebenen Parameter "carp" zugefügt.
Mir ist nicht klar zu was das gut sein soll.
Macht man sowas heutzutage bei guter und sauberer Perl Programmierung?
Gruß Ralf
Mahlzeit :-)
Also bei mir hatten sich sämtliche Probleme in Luft aufgelöst mit dem updaten der Perl Versionen.
Den Rest kann ich nicht wirklich beantworten. Perl ist für mich Großteils fremd :-D
"Hatten" :-)
2023.10.14 11:27:15 0: syntax error at ./FHEM/14_Hideki.pm line 37, near "carp "Hideki_Initialize, hash failed""
syntax error at ./FHEM/14_Hideki.pm line 131, near "carp qq[Hideki_Define, too few arguments ($hash, $def)]"
syntax error at ./FHEM/14_Hideki.pm line 150, near "carp qq[Hideki_Undef, too few arguments ($hash, $name)]"
syntax error at ./FHEM/14_Hideki.pm line 161, near "carp qq[Hideki_Parse, too few arguments ($iohash, $msg)]"
syntax error at ./FHEM/14_Hideki.pm line 279, near "carp qq[decryptAndCheck, too few arguments (iohash, rawData)]"
syntax error at ./FHEM/14_Hideki.pm line 325, near "carp qq[Hideki_SecondCheck, too few arguments]"
syntax error at ./FHEM/14_Hideki.pm line 355, near "carp q[no bytes specified]"
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 357.
syntax error at ./FHEM/14_Hideki.pm line 367, near "carp q[no bytes specified]"
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 368.
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 368.
Global symbol "$decodedData" requires explicit package name (did you forget to declare "my $decodedData"?) at ./FHEM/14_Hideki.pm line 368.
syntax error at ./FHEM/14_Hideki.pm line 376, near "carp q[no bytes specified]"
./FHEM/14_Hideki.pm has too many errors.
Denn wenn es natürlich nicht im Docker Image als default Version hinterlegt ist -> so kommt es wieder.
Zitat von: Ralf9 am 13 Oktober 2023, 21:58:49Mir ist nicht klar zu was das gut sein soll.
Carp dient dazu Warnungen auszugeben die für den Aufrufen nützlich sind.
Carp ist seit Perl 5 ein Core Modul.
Warum das jetzt nach einem Perl Update ohne use oder require geht fällt mir gerade nicht ein, aber das erklärt vermutlich wieso es bei mir nicht aufgefallen ist.
Grüße Sidey
Der Fehler bezüglich carp ist korrigiert und ab morgen über das SVN Update erhähltlich:
https://forum.fhem.de/index.php?topic=135322.0