[gelöst] Neuerdings Fehlermeldung: Can't read ./FHEM/_1:USF1000.pm: No such file

Begonnen von Gernott, 24 Januar 2022, 21:54:11

Vorheriges Thema - Nächstes Thema

Gernott

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?

Wernieman

Wie lautret der Dateiname wirklich?
_1:USF1000.pm

Kannst Du mal ein "update force" probieren?

Und .. ist es ein Pi mit SDCard?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Gernott

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

Wernieman

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
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

Nur .. wie sucht man am besten? Bzw. erklärt jemanden, wie er zu suchen hat?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

betateilchen

Im ersten Schritt würde ich die Datei 09_USF1000.pm erstmal aus dem System löschen und beobachten, was dann passiert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

yersinia

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 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
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Wernieman

Was mich nur furchtbar wundert, woher kommt das "_1:" im Dateinamen. Das ist doch so etwas "abnormal" in FHEM ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

yersinia

Ich denke (mit meinem laienhaften Verständnis von FHEM), irgendwo wird das Modul nicht richtig geladen - irgendwo bei MatchList 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 oder 00_CUL.pm. Aber wie gesagt, dies ist nur eine Vermutung eines (anderen) Ahnungslosen. :-\
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

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...

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

Man merkt, das Du viel tiefer in FHEM drinsteckst als ich. Danke für Eure Analysen ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

yersinia

Testhalber könnte der TE nen Rollback auf die fhem.pl rev 25450 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.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Gernott

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".