Autor Thema: Massenhaft uninitialized value $VALUE ...  (Gelesen 511 mal)

Online Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4945
Massenhaft uninitialized value $VALUE ...
« am: 16 März 2017, 13:05:05 »
Seitdem ich 5.8 drin habe, wird beim Experimentieren mit Beta-Versionen von Modulen tausendfach eine Perl-Warnung

uninitialized value $VALUE in substr at (eval 37509) line 1 produziert, ab und zu auch mit "index" oder "sprintf" statt "substr"

Ich habe keinen Schimmer, wo das herkommt, denn die fraglichen Module enthalten gar kein "eval". Irgendeine erläuternde Fehlermeldung gibt es nicht, auch ein verbose=5 bringt keine Erleuchtung.

LG

pah

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 13708
  • Das "S" in "IoT" steht für "Security"
Antw:Massenhaft uninitialized value $VALUE ...
« Antwort #1 am: 16 März 2017, 13:07:40 »
aber zumindest stacktrace sollte doch etwas mehr output liefern?

-----------------------
Nächster Hamburg-Stammtisch: 23.03.2018

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 17445
Antw:Massenhaft uninitialized value $VALUE ...
« Antwort #2 am: 16 März 2017, 13:09:34 »
Kommen die Meldungen mit dem "PERL WARNING:" Prefix?
Hilft attr global stacktrace?
Greifst du auf VALUE in einen der konfigurierten at/notify/etc Befehlen?

Online Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4945
Antw:Massenhaft uninitialized value $VALUE ...
« Antwort #3 am: 16 März 2017, 13:31:01 »
PERL WARNING: Use of uninitialized value $VALUE in substr at (eval 41038) line 1.
2017.03.16 13:29:15 1: stacktrace:
2017.03.16 13:29:15 1:     main::__ANON__                      called by (eval 41038) (1)
2017.03.16 13:29:15 1:     (eval)                              called by /opt/fhem/FHEM/33_readingsProxy.pm (128)
2017.03.16 13:29:15 1:     main::readingsProxy_update          called by /opt/fhem/FHEM/33_readingsProxy.pm (84)
2017.03.16 13:29:15 1:     main::readingsProxy_updateDevices   called by /opt/fhem/FHEM/33_readingsProxy.pm (185)
2017.03.16 13:29:15 1:     main::readingsProxy_Notify          called by fhem.pl (3312)
2017.03.16 13:29:15 1:     main::CallFn                        called by fhem.pl (3233)
2017.03.16 13:29:15 1:     main::DoTrigger                     called by fhem.pl (2004)
2017.03.16 13:29:15 1:     main::CommandDelete                 called by /opt/fhem/FHEM/10_FS20.pm (381)
2017.03.16 13:29:15 1:     main::FS20_Parse                    called by fhem.pl (3508)
2017.03.16 13:29:15 1:     main::Dispatch                      called by /opt/fhem/FHEM/00_CUL.pm (969)
2017.03.16 13:29:15 1:     main::CUL_Parse                     called by /opt/fhem/FHEM/00_CUL.pm (825)
2017.03.16 13:29:15 1:     main::CUL_Read                      called by fhem.pl (3312)
2017.03.16 13:29:15 1:     main::CallFn                        called by fhem.pl (675)

readingsproxy ist einer der Übeltäter.

LG

pah

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17020
Antw:Massenhaft uninitialized value $VALUE ...
« Antwort #4 am: 16 März 2017, 14:18:18 »
ich checke nachher eine version ein die das problem hoffentlich nicht mehr hat.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Online Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4945
Antw:Massenhaft uninitialized value $VALUE ...
« Antwort #5 am: 16 März 2017, 15:03:14 »
André, bitte kurze Nachricht hier, wenn das eingecheckt ist.

LG

pah

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17020
Antw:Massenhaft uninitialized value $VALUE ...
« Antwort #6 am: 16 März 2017, 17:22:28 »
hab eben eine neue version eingecheckt.

da ich zwar weiss was die meldungen verursacht hat, aber nicht sicher bin was sich in 5.8 genau geändert hat (oder ob es auch vorher schon so war) hoffe ich das es keine weiteren nebenwirkungen zum das bisherigen verhalten gibt.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Online Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4945
Antw:Massenhaft uninitialized value $VALUE ...
« Antwort #7 am: 17 März 2017, 08:14:32 »
Nein, nicht ganz. Die Anzahl ist zwar deutlich gefallen - aber auch mit dem neuen readngsProxy habe ich heute morgen

Zitat
2017.03.17 07:37:35 1: PERL WARNING: Use of uninitialized value $VALUE in sprintf at (eval 154) line 1.
2017.03.17 07:37:35 1: stacktrace:
2017.03.17 07:37:35 1:     main::__ANON__                      called by (eval 154) (1)
2017.03.17 07:37:35 1:     (eval)                              called by /opt/fhem/FHEM/33_readingsProxy.pm (130)
2017.03.17 07:37:35 1:     main::readingsProxy_update          called by /opt/fhem/FHEM/33_readingsProxy.pm (84)
2017.03.17 07:37:35 1:     main::readingsProxy_updateDevices   called by /opt/fhem/FHEM/33_readingsProxy.pm (194)
2017.03.17 07:37:35 1:     main::readingsProxy_Notify          called by fhem.pl (3312)
2017.03.17 07:37:35 1:     main::CallFn                        called by fhem.pl (3233)
2017.03.17 07:37:35 1:     main::DoTrigger                     called by fhem.pl (1852)
2017.03.17 07:37:35 1:     main::CommandDefine                 called by fhem.pl (1108)
2017.03.17 07:37:35 1:     main::AnalyzeCommand                called by fhem.pl (977)
2017.03.17 07:37:35 1:     main::AnalyzeCommandChain           called by configDB.pm (706)
2017.03.17 07:37:35 1:     main::_cfgDB_Execute                called by configDB.pm (403)
2017.03.17 07:37:35 1:     main::cfgDB_ReadAll                 called by fhem.pl (518)

Ein weiterer Übeltäter ist 98_SVG.pm:

Zitat
2017.03.17 07:47:17 1: PERL WARNING: Use of uninitialized value $file in concatenation (.) or string at /opt/fhem/FHEM/98_SVG.pm line 1117.
2017.03.17 07:47:17 1: stacktrace:
2017.03.17 07:47:17 1:     main::__ANON__                      called by /opt/fhem/FHEM/98_SVG.pm (1117)
2017.03.17 07:47:17 1:     main::SVG_doShowLog                 called by /opt/fhem/FHEM/98_SVG.pm (1020)
2017.03.17 07:47:17 1:     main::SVG_showLog                   called by /opt/fhem/FHEM/01_FHEMWEB.pm (871)
2017.03.17 07:47:17 1:     main::FW_answerCall                 called by /opt/fhem/FHEM/01_FHEMWEB.pm (535)
2017.03.17 07:47:17 1:     main::FW_Read                       called by fhem.pl (3312)
2017.03.17 07:47:17 1:     main::CallFn                        called by fhem.pl (675)
2017.03.17 07:47:17 1: PERL WARNING: Use of uninitialized value $file in string eq at /opt/fhem/FHEM/98_SVG.pm line 814.
2017.03.17 07:47:17 1: stacktrace:
2017.03.17 07:47:17 1:     main::__ANON__                      called by /opt/fhem/FHEM/98_SVG.pm (814)
2017.03.17 07:47:17 1:     main::SVG_substcfg                  called by /opt/fhem/FHEM/98_SVG.pm (1133)
2017.03.17 07:47:17 1:     main::SVG_doShowLog                 called by /opt/fhem/FHEM/98_SVG.pm (1020)
2017.03.17 07:47:17 1:     main::SVG_showLog                   called by /opt/fhem/FHEM/01_FHEMWEB.pm (871)
2017.03.17 07:47:17 1:     main::FW_answerCall                 called by /opt/fhem/FHEM/01_FHEMWEB.pm (535)
2017.03.17 07:47:17 1:     main::FW_Read                       called by fhem.pl (3312)
2017.03.17 07:47:17 1:     main::CallFn                        called by fhem.pl (675)
2017.03.17 07:47:17 1: PERL WARNING: Use of uninitialized value $fileesc in substitution (s///) at /opt/fhem/FHEM/98_SVG.pm line 819.
2017.03.17 07:47:17 1: stacktrace:
2017.03.17 07:47:17 1:     main::__ANON__                      called by /opt/fhem/FHEM/98_SVG.pm (819)
2017.03.17 07:47:17 1:     main::SVG_substcfg                  called by /opt/fhem/FHEM/98_SVG.pm (1133)
2017.03.17 07:47:17 1:     main::SVG_doShowLog                 called by /opt/fhem/FHEM/98_SVG.pm (1020)
2017.03.17 07:47:17 1:     main::SVG_showLog                   called by /opt/fhem/FHEM/01_FHEMWEB.pm (871)
2017.03.17 07:47:17 1:     main::FW_answerCall                 called by /opt/fhem/FHEM/01_FHEMWEB.pm (535)
2017.03.17 07:47:17 1:     main::FW_Read                       called by fhem.pl (3312)
2017.03.17 07:47:17 1:     main::CallFn                        called by fhem.pl (675)
2017.03.17 07:47:17 1: PERL WARNING: Use of uninitialized value $fileesc in concatenation (.) or string at /opt/fhem/FHEM/98_SVG.pm line 820.
2017.03.17 07:47:17 1: stacktrace:
2017.03.17 07:47:17 1:     main::__ANON__                      called by /opt/fhem/FHEM/98_SVG.pm (820)
2017.03.17 07:47:17 1:     main::SVG_substcfg                  called by /opt/fhem/FHEM/98_SVG.pm (1133)
2017.03.17 07:47:17 1:     main::SVG_doShowLog                 called by /opt/fhem/FHEM/98_SVG.pm (1020)
2017.03.17 07:47:17 1:     main::SVG_showLog                   called by /opt/fhem/FHEM/01_FHEMWEB.pm (871)
2017.03.17 07:47:17 1:     main::FW_answerCall                 called by /opt/fhem/FHEM/01_FHEMWEB.pm (535)
2017.03.17 07:47:17 1:     main::FW_Read                       called by fhem.pl (3312)
2017.03.17 07:47:17 1:     main::CallFn                        called by fhem.pl (675)

Und noch ein Übeltäter

Zitat
2017.03.17 07:37:29 1: PERL WARNING: Use of uninitialized value in substitution iterator at fhem.pl line 4073.
2017.03.17 07:37:29 1: stacktrace:
2017.03.17 07:37:29 1:     main::__ANON__                      called by fhem.pl (4073)
2017.03.17 07:37:29 1:     main::evalStateFormat               called by fhem.pl (2682)
2017.03.17 07:37:29 1:     main::CommandAttr                   called by fhem.pl (1108)
2017.03.17 07:37:29 1:     main::AnalyzeCommand                called by fhem.pl (977)
2017.03.17 07:37:29 1:     main::AnalyzeCommandChain           called by configDB.pm (706)
2017.03.17 07:37:29 1:     main::_cfgDB_Execute                called by configDB.pm (403)
2017.03.17 07:37:29 1:     main::cfgDB_ReadAll                 called by fhem.pl (518)

LG

pah

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17020
Antw:Massenhaft uninitialized value $VALUE ...
« Antwort #8 am: 17 März 2017, 08:38:23 »
kannst du bitte mal zeile 123 aktivieren und schauen ob die meldungen dann weg sind?

legst du das device auf das sich der readingsProxy bezieht zur laufzeit neu an?

falls ja: direkt nach dem define sind die readings noch nicht gesetzt und valueFn wird mit undefined als $VALUE aufgerufen. das muss man dann in der valueFn berücksichtigen.

wenn nein: kommt die meldung nur beim fhem start? dann reicht es vermutlich die zeile 123 noch mit einer prufung auf !$init_done zu verbinden.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Online Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4945
Antw:Massenhaft uninitialized value $VALUE ...
« Antwort #9 am: 17 März 2017, 09:08:39 »
Guten Morgen,

aktivieren ist derzeit schlecht, bin nicht daheim. Nein, Device ist bereit svorher definiert, Meldungen nur beim Start.

LG

pah

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17020
Antw:Massenhaft uninitialized value $VALUE ...
« Antwort #10 am: 17 März 2017, 10:21:39 »
ich habe eben noch mal eine version mit verbessertem start verhalten eingecheckt.

gruss
 andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

 

decade-submarginal