FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Gernott am 24 Januar 2022, 21:54:11

Titel: [gelöst] Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file
Beitrag von: Gernott am 24 Januar 2022, 21:54:11
Hallo

Seit einem Update letzter Woche erscheint im Systemlog unregelmäßig diese Fehlermeldung.

2022.01.16 19:20:40 0: Can't read ./FHEM/_1:USF1000.pm: No such file or directory

version findet die Datei nicht:
no loaded modules found that match: 09_USF1000.pm

Die Datei ist im FHEM-Hauptverzeichnis. Allerdings verwende ich kein entsprechendes Gerät.
Hat jemand eine Idee, was wer oder was da meckert und wie ich das wegbekomme?
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: Wernieman am 24 Januar 2022, 22:02:26
Wie lautret der Dateiname wirklich?
_1:USF1000.pm

Kannst Du mal ein "update force" probieren?

Und .. ist es ein Pi mit SDCard?
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: Gernott am 24 Januar 2022, 22:22:11
Zitat von: Wernieman am 24 Januar 2022, 22:02:26
Wie lautret der Dateiname wirklich?
_1:USF1000.pm

09_USF1000.pm

Im System:
-rw-rw-rw-  1 fhem root       6824 Jan 24 22:10  09_USF1000.pm


Zitat
Kannst Du mal ein "update force" probieren?
Gerade eben. Mal sehen, was mit der Meldung passiert. Die Situation der Datei, wie oben beschrieben, hat sich aber nicht geändert.

Zitat
Und .. ist es ein Pi mit SDCard?

Nein, auf einer SSD an einem PI per USB-Adapter
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: Wernieman am 25 Januar 2022, 10:07:35
wenn er "_1:USF1000.pm" sucht, Du so eine Datei aber nicht hast (09_USF1000.pm ist für einen Computer was gaaaaans anderes), ist bei Dir fhem irgendwie verdreht.

Bei einem Pi mit SDCard hätte ich gesagt, tausche mal die SD. Bei einem mit per USB angeschlossener SSD ...... trotzdem hört es sich für mich nach Dateisystemproblemen an (Bauchgefühl, ohne "Beweis").

Gibt folgendes ein Output?
grep -i i/o /var/log/kern.log
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: betateilchen am 25 Januar 2022, 10:23:58
Zitat von: Wernieman am 25 Januar 2022, 10:07:35
wenn er "_1:USF1000.pm" sucht,

... ist die erste zu klärende Frage: Warum sucht FHEM nach dieser Datei, wenn keine devices vorhanden sind, die das Laden dieser Datei überhaupt erfordern.
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: Wernieman am 25 Januar 2022, 10:31:33
Nur .. wie sucht man am besten? Bzw. erklärt jemanden, wie er zu suchen hat?
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: betateilchen am 25 Januar 2022, 10:42:54
Im ersten Schritt würde ich die Datei 09_USF1000.pm erstmal aus dem System löschen und beobachten, was dann passiert.
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: yersinia am 25 Januar 2022, 10:55:46
Such doch mal im FHEM Ordner, wo es auftaucht
grep -rnw '/opt/fhem/FHEM' -e 'USF1000'

Bei mir ergibt das folgende Ausgabe (bei Revision 25551):
/opt/fhem/FHEM/00_TSCUL.pm:401:                       ':USF1000'.
/opt/fhem/FHEM/00_TSCUL.pm:427:    'O:USF1000'      => '^81..(?:04|0c)..0101a001a5ceaa00....',
/opt/fhem/FHEM/00_FHZ.pm:85:  $hash->{Clients} = ":FHZ:FS20:FHT:HMS:KS300:USF1000:BS:";
/opt/fhem/FHEM/00_FHZ.pm:87:    "1:USF1000" => "^81..(04|0c)..0101a001a5ceaa00....",
/opt/fhem/FHEM/00_CUL.pm:52:my $clientsSlowRF    = ":FS20:FHT.*:KS300:USF1000:BS:HMS:FS20V: ".
/opt/fhem/FHEM/00_CUL.pm:63:    "1:USF1000"   => "^81..(04|0c)..0101a001a5ceaa00....",
/opt/fhem/FHEM/98_autocreate.pm:14:# - No plot files for BS/CUL_FHTTK/USF1000/X10/WS300
/opt/fhem/FHEM/98_autocreate.pm:15:# - check "UNDEFINED" parameters for BS/USF1000/X10
/opt/fhem/FHEM/09_USF1000.pm:41:  my $u= "wrong syntax: define <name> USF1000 geometry";
/opt/fhem/FHEM/09_USF1000.pm:42:  my $g= "wrong geometry for USF1000";
/opt/fhem/FHEM/09_USF1000.pm:75:  $modules{USF1000}{defptr}{$dev} = $hash;
/opt/fhem/FHEM/09_USF1000.pm:84:  delete($modules{USF1000}{defptr}{$dev});
/opt/fhem/FHEM/09_USF1000.pm:92:  my ($hash, $msg) = @_; # hash points to the FHZ, not to the USF1000
/opt/fhem/FHEM/09_USF1000.pm:94:  if(!defined($modules{USF1000}{defptr}{$dev})) {
/opt/fhem/FHEM/09_USF1000.pm:95:    Log3 $hash, 3, "USF1000 Unknown device, please define it";
/opt/fhem/FHEM/09_USF1000.pm:96:    return "UNDEFINED USF1000 USF1000 cylv 1 1 0.5";
/opt/fhem/FHEM/09_USF1000.pm:99:  my $def= $modules{USF1000}{defptr}{$dev};
/opt/fhem/FHEM/09_USF1000.pm:153: #Debug "USF1000 $name: $state";
/opt/fhem/FHEM/09_USF1000.pm:182:<a name="USF1000"></a>
/opt/fhem/FHEM/09_USF1000.pm:183:<h3>USF1000</h3>
/opt/fhem/FHEM/09_USF1000.pm:198:    <code>define &lt;name&gt; USF1000 &lt;geometry&gt;</code>
/opt/fhem/FHEM/09_USF1000.pm:218:      <code>define MyTank USF1000 cylv 2 1 0.3</code>: a cylindrical water tank with

(TSCUL (https://forum.fhem.de/index.php/topic,24436.0.html) ist spezifischer, hast du ggf nicht - da wird aber zB auch die 98_autocreate.pm ersetzt)

man kann den parameter -l hinzufügen, ergibt dann nur die files:
grep -rnwl '/opt/fhem/FHEM' -e 'USF1000'
/opt/fhem/FHEM/00_TSCUL.pm
/opt/fhem/FHEM/00_FHZ.pm
/opt/fhem/FHEM/00_CUL.pm
/opt/fhem/FHEM/98_autocreate.pm
/opt/fhem/FHEM/09_USF1000.pm


Irgendwo hier würde ich ansetzen:
/opt/fhem/FHEM/00_FHZ.pm
/opt/fhem/FHEM/00_CUL.pm
/opt/fhem/FHEM/98_autocreate.pm


Hat vlt ein nachbar ein Wassertank o.ä.?
commandref USF1000 (https://fhem.de/commandref.html#USF1000)
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: Wernieman am 25 Januar 2022, 14:20:54
Was mich nur furchtbar wundert, woher kommt das "_1:" im Dateinamen. Das ist doch so etwas "abnormal" in FHEM ...
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: yersinia am 25 Januar 2022, 14:37:14
Ich denke (mit meinem laienhaften Verständnis von FHEM), irgendwo wird das Modul nicht richtig geladen - irgendwo bei MatchList (https://wiki.fhem.de/wiki/DevelopmentModuleIntro#Die_Match-Liste) bin ich ausgestiegen.
Was wahrscheinlich helfen würde ist wenn der TE herausfinden könnte, wann der Fehler auftritt (Regelmäßigkeit?) und dann kurz vor dem nächsten vermuteten event ein stacktrace plus verbose 5 einschaltet und hier teilt.

Das 1:USF1000 riecht nach 00_FHZ.pm (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/00_FHZ.pm#L87) oder 00_CUL.pm (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/00_CUL.pm#L63). Aber wie gesagt, dies ist nur eine Vermutung eines (anderen) Ahnungslosen. :-\
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: betateilchen am 25 Januar 2022, 14:49:52
Zitat von: Wernieman am 25 Januar 2022, 14:20:54
Was mich nur furchtbar wundert, woher kommt das "_1:" im Dateinamen. Das ist doch so etwas "abnormal" in FHEM ...

Ich vermute, dass das Problem vom Dispatch verursacht wird. Irgendeine Funkhardware empfängt ein Signal, versucht das zu identifizieren und übergibt das dann an den FHEM-internen Dispatcher zur Weiterverarbeitung durch das zugehörige Modul. Und dabei geht irgendwas schief.

An einen Fehler im Dateisystem glaube ich jedenfalls nicht.

Vielleicht sollte man das Ganze mal mit verbose=5 bei den angeschlossenen Funkmodulen protokollieren, um herauszufinden, was da wirklich passiert.
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: betateilchen am 25 Januar 2022, 14:52:38
Zitat von: Gernott am 24 Januar 2022, 21:54:11
Seit einem Update letzter Woche erscheint im Systemlog unregelmäßig diese Fehlermeldung
2022.01.16 19:20:40 0: Can't read ./FHEM/_1:USF1000.pm: No such file or directory

Zufälligerweise gab es vor kurzem (11.01. + 17.01.) zwei Änderungen am Dispatch...

Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: Wernieman am 25 Januar 2022, 15:26:25
Man merkt, das Du viel tiefer in FHEM drinsteckst als ich. Danke für Eure Analysen ....
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: yersinia am 25 Januar 2022, 17:20:54
Testhalber könnte der TE nen Rollback auf die fhem.pl rev 25450 (https://svn.fhem.de/trac/export/25450/trunk/fhem/fhem.pl) machen - und dann sukzessive aktualisieren und schauen ab welcher revision der Fehler auftritt, oder?

Die Änderungen sind ja (für einen geübten perl Programmierer) im SVN (Diff 25309:25544) ersichtlich (https://svn.fhem.de/trac/changeset/25544/trunk/fhem/fhem.pl?old=25309&old_path=trunk%2Ffhem%2Ffhem.pl).
Titel: Antw:Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file or direc
Beitrag von: Gernott am 25 Januar 2022, 20:42:28
Hier spricht nun der TE:

Nach dem "force update" gestern und dem Neustart danach ist die Meldung nicht mehr aufgetaucht.

Ich danke allen für die Hinweise und setzte das mal auf "gelöst".



Titel: Antw:[gelöst] Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file
Beitrag von: Wernieman am 25 Januar 2022, 21:31:21
Ich tippe auf eine Beschädigte Datei .. immer noch ...
Titel: Antw:[gelöst] Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file
Beitrag von: Gernott am 25 Januar 2022, 22:36:21
Zitat von: Wernieman am 25 Januar 2022, 21:31:21
Ich tippe auf eine Beschädigte Datei .. immer noch ...
Welcher? Vermutlich werden wir das nicht mehr rausfinden.

Nach diesem Update ging es los:
2022.01.14 22:30:33 1: UPD FHEM/10_KNX.pm
2022.01.14 22:30:33 1: UPD FHEM/31_HUEDevice.pm
2022.01.14 22:30:33 1: UPD FHEM/37_echodevice.pm
2022.01.14 22:30:33 1: UPD FHEM/47_OBIS.pm
2022.01.14 22:30:34 1: UPD FHEM/50_Signalbot.pm
2022.01.14 22:30:34 1: UPD FHEM/71_COE_Node.pm
2022.01.14 22:30:34 1: UPD FHEM/82_LGTV_WebOS.pm
2022.01.14 22:30:34 1: UPD FHEM/88_HMCCU.pm
2022.01.14 22:30:34 1: UPD FHEM/88_HMCCUCHN.pm
2022.01.14 22:30:34 1: UPD FHEM/88_HMCCUDEV.pm
2022.01.14 22:30:34 1: UPD FHEM/88_HMCCURPCPROC.pm
2022.01.14 22:30:34 1: UPD FHEM/93_DbRep.pm
2022.01.14 22:30:34 1: UPD FHEM/HMCCUConf.pm
2022.01.14 22:30:35 1: UPD FHEM/lib/AttrTemplate/mqtt2.template
2022.01.14 22:30:35 1: UPD www/images/fhemSVG/hue2019_archetypesDoubleSpot.svg
2022.01.14 22:30:35 1: UPD www/images/fhemSVG/hue2019_archetypesPendantRound.svg
2022.01.14 22:30:35 1: UPD www/images/fhemSVG/hue2019_archetypesSingleSpot.svg
2022.01.14 22:30:35 1: UPD www/images/fhemSVG/hue_filled_filament.svg
2022.01.14 22:30:35 1: UPD www/images/fhemSVG/hue_filled_foh.svg
2022.01.14 22:30:36 1: UPD www/images/openautomation/hm_module_sensor.svg
2022.01.14 22:30:36 1: UPD www/images/openautomation/hm_module_switch.svg
2022.01.14 22:30:36 1: UPD www/images/openautomation/taster_ch6_8.svg
2022.01.14 22:30:36 1: UPD www/images/openautomation/taster_ch6_9.svg
2022.01.14 22:30:36 1: saving fhem.cfg
2022.01.14 22:30:36 1: saving ./fhem.save


Unmittelbar vor dem ersten Auftreten kam das noch, aber später dann nicht mehr:
2022.01.15 11:15:07 1: PERL WARNING: Use of uninitialized value $o in concatenation (.) or string at fhem.pl line 2039.
2022.01.15 11:15:07 0: Can't read ./FHEM/_1:USF1000.pm: No such file or directory


Kann auch Zufall gewesen sein.
Titel: Antw:[gelöst] Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file
Beitrag von: yersinia am 26 Januar 2022, 07:45:41
Zitat von: Wernieman am 25 Januar 2022, 21:31:21Ich tippe auf eine Beschädigte Datei .. immer noch ...
Das klingt so abstrus, dass ich es ebenso für fast möglich halte.

Das Update am 14.1. wäre imho rev 25463 (https://svn.fhem.de/trac/browser/trunk/fhem/CHANGED?rev=25463).
Zitat von: Gernott am 25 Januar 2022, 22:36:21Unmittelbar vor dem ersten Auftreten kam das noch, aber später dann nicht mehr:
2022.01.15 11:15:07 1: PERL WARNING: Use of uninitialized value $o in concatenation (.) or string at fhem.pl line 2039.
2022.01.15 11:15:07 0: Can't read ./FHEM/_1:USF1000.pm: No such file or directory
Die fhem.pl Zeile 2039 (https://svn.fhem.de/trac/browser/trunk/fhem/fhem.pl?rev=25463#L2039) passt aber irgendwie zum code:
2031 #####################################
2032 sub
2033 LoadModule($;$)
2034 {
2035   my ($m, $ignoreErr) = @_;
2036
2037   if($modules{$m} && !$modules{$m}{LOADED}) {   # autoload
2038     my $o = $modules{$m}{ORDER};
2039     my $ret = CommandReload(undef, "${o}_$m", $ignoreErr); #<--------------------HIER
2040     if($ret) {
2041       Log 0, $ret if(!$ignoreErr);
2042       return "UNDEFINED";
2043     }
2044
2045     if(!$modules{$m}{LOADED}) {                 # Case corrected by reload?
2046       foreach my $i (keys %modules) {
2047         if(uc($m) eq uc($i) && $modules{$i}{LOADED}) {
2048           delete($modules{$m});
2049           $m = $i;
2050           last;
2051         }
2052       }
2053     }
2054   }
2055   return $m;
2056 }

Und könnte auch das _1:USF1000.pm erklären.

Interessant wäre noch, wer/was hier das Laden des Moduls anfragt.

@Gernott: hast du mal auf der Konsole dies ausgeführt?
grep -rnw '/opt/fhem/FHEM' -e 'USF1000'
Titel: Antw:[gelöst] Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file
Beitrag von: Gernott am 26 Januar 2022, 13:57:09
Zitat von: yersinia am 26 Januar 2022, 07:45:41
@Gernott: hast du mal auf der Konsole dies ausgeführt?
grep -rnw '/opt/fhem/FHEM' -e 'USF1000'

Das ist das Ergebnis:

/opt/fhem/FHEM/00_CUL.pm:52:my $clientsSlowRF    = ":FS20:FHT.*:KS300:USF1000:BS:HMS:FS20V: ".
/opt/fhem/FHEM/00_CUL.pm:63:    "1:USF1000"   => "^81..(04|0c)..0101a001a5ceaa00....",
/opt/fhem/FHEM/98_autocreate.pm:13:# - No plot files for BS/CUL_FHTTK/USF1000/X10/WS300
/opt/fhem/FHEM/98_autocreate.pm:14:# - check "UNDEFINED" parameters for BS/USF1000/X10
/opt/fhem/FHEM/00_FHZ.pm:85:  $hash->{Clients} = ":FHZ:FS20:FHT:HMS:KS300:USF1000:BS:";
/opt/fhem/FHEM/00_FHZ.pm:87:    "1:USF1000" => "^81..(04|0c)..0101a001a5ceaa00....",
/opt/fhem/FHEM/09_USF1000.pm:41:  my $u= "wrong syntax: define <name> USF1000 geometry";
/opt/fhem/FHEM/09_USF1000.pm:42:  my $g= "wrong geometry for USF1000";
/opt/fhem/FHEM/09_USF1000.pm:75:  $modules{USF1000}{defptr}{$dev} = $hash;
/opt/fhem/FHEM/09_USF1000.pm:84:  delete($modules{USF1000}{defptr}{$dev});
/opt/fhem/FHEM/09_USF1000.pm:92:  my ($hash, $msg) = @_;        # hash points to the FHZ, not to the USF1000
/opt/fhem/FHEM/09_USF1000.pm:94:  if(!defined($modules{USF1000}{defptr}{$dev})) {
/opt/fhem/FHEM/09_USF1000.pm:95:    Log3 $hash, 3, "USF1000 Unknown device, please define it";
/opt/fhem/FHEM/09_USF1000.pm:96:    return "UNDEFINED USF1000 USF1000 cylv 1 1 0.5";
/opt/fhem/FHEM/09_USF1000.pm:99:  my $def= $modules{USF1000}{defptr}{$dev};
/opt/fhem/FHEM/09_USF1000.pm:153:               #Debug "USF1000 $name: $state";
/opt/fhem/FHEM/09_USF1000.pm:182:<a name="USF1000"></a>
/opt/fhem/FHEM/09_USF1000.pm:183:<h3>USF1000</h3>
/opt/fhem/FHEM/09_USF1000.pm:198:    <code>define &lt;name&gt; USF1000 &lt;geometry&gt;</code>
/opt/fhem/FHEM/09_USF1000.pm:218:      <code>define MyTank USF1000 cylv 2 1 0.3</code>: a cylindrical water tank with