[Erledigt] Fehler bei fhem update: Attempt to reload IO/Socket/SSL.pm aborted.

Begonnen von 9zehn75, 09 Mai 2019, 08:36:06

Vorheriges Thema - Nächstes Thema

9zehn75

Ich habe mal wieder ein kleines fhem-Problem. Vorgeschichte: auf meinem Raspberry Pi mit Raspbian gab es seit einigen Tagen Probleme damit, dass ein apt-get upgrade mit I/O-Fehlern aussteigt. Nach kurzer Recherche hatte ich dann die SD-Karte in Verdacht. Also habe ich diese geklont und siehe da: mit der neuen Karte läuft auf Linux-Ebene wieder alles. Also das Debian upgegradet und gleich danach auch in fhem ein update all angeworfen. Das steigt wie folgt aus (der Fehler tritt auch mit der defekten SD auf):

2019.05.09 08:24:04 1 : fhemtabletui
2019.05.09 08:24:04 1 : https://raw.githubusercontent.com:443: Attempt to reload IO/Socket/SSL.pm aborted. Compilation failed in require at (eval 3050) line 2. BEGIN failed--compilation aborted at (eval 3050) line 2.
2019.05.09 08:24:04 1 :
2019.05.09 08:24:04 1 : fuip
2019.05.09 08:24:04 1 : https://raw.githubusercontent.com:443: Attempt to reload IO/Socket/SSL.pm aborted. Compilation failed in require at (eval 3051) line 2. BEGIN failed--compilation aborted at (eval 3051) line 2.
2019.05.09 08:24:04 1 :
2019.05.09 08:24:04 1 : fhemabfall
2019.05.09 08:24:04 1 : https://raw.githubusercontent.com:443: Attempt to reload IO/Socket/SSL.pm aborted. Compilation failed in require at (eval 3052) line 2. BEGIN failed--compilation aborted at (eval 3052) line 2.


libio-socket-ssl-perl ist installiert und hat die neueste bei Debian jessie verfügbare Version. Ich habe es auch schon mal (mit --force) deinstalliert und wieder neu installiert - keine Änderung.

Ich habe das Forum schon stundenlang durchstöbert. Leider treffen alle vorgeschlagenen Lösungswege auf mich nicht zu. Könnt Ihr mir einen Tipp geben, wie ich herausfinden kann, wo der Schuh genau drückt?

Vielen Dank im Voraus!

Update:


Der Fehler bleibt auch, wenn ich ein älteres fhem-Backup wieder einspiele aus einer Zeit, in der noch alles funktioniert hat.
VG, 9zehn75

FHEM seit 02.02.2016: Raspberry Pi 2, ZME_UZB1, Fibaro WallPlugs, Fibaro Fenstersensoren, Aeon Indoor Sirene, Greenwave WallPlugs, Qubino Dimmer

Wernieman

Wie hast Du es denn deinstalliert?

Ich würde Versuchshalber die Libary purgen und installieren

Allerdings befürchte ich, das Deine alte SD Karte defekte Sektoren hatte, deren Korrupter Inhalt durchs clonen auf die neue Karte übertragen wurde. Was sagt denn ein Filecheck über die neue Karte?
- 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

9zehn75

Ich habe es deinstalliert mit sudo dpkg --purge --force-all, danach apt-get clean, update und dist-upgrade. Dabei wurden alle dependencies nachinstalliert.

Wie könnte ich denn so einen filecheck ausführen?
VG, 9zehn75

FHEM seit 02.02.2016: Raspberry Pi 2, ZME_UZB1, Fibaro WallPlugs, Fibaro Fenstersensoren, Aeon Indoor Sirene, Greenwave WallPlugs, Qubino Dimmer

Wernieman

warum verwendest Du bei einer normalen Libary dpkg und nicht apt (apt-get)?

Unter Unix (Linux) heist das Filesystemheck-programm fsck. Infos mit "man fsck".
Dein Pi dürfte eine ext4 Partition haben, dann kann t Du auch direkt das passende fsck Programm verwenden: fsck.ext4. Auch dort gilt: mehr infos auf den man Pages: "man fsck.ext4"

ABER ... bitte nicht im "gemounteten" Zustand prüfen. Am besten einen Unix (Linux) Rechner mit Card-reader nehmen und dort die Karte prüfen lassen (geht auch ein Live-System)

Ergänzung:
fsck prüft immer erst, was für ein File-System die partition hat und ruft dann das passende fsck Unterprogramm auf. bei Problem-Datenträgern kann man es eben auxh direkt (s.o.)
- 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

9zehn75

Vielen Dank. fsck kenne ich natürlich. Werfe das heute mal über die SD und gucke.

Ich habe mit dpkg deinstalliert, weil das irgendwo als vermeintliche Lösung meines Problems beschrieben war. Mit apt-get habe ich aber ja danach die Abhängigkeiten wieder hergestellt. Sollte ich nochmals mittels apt-get deinstallieren - werden dann nicht auch alle Abhängigkeiten gelöscht?
VG, 9zehn75

FHEM seit 02.02.2016: Raspberry Pi 2, ZME_UZB1, Fibaro WallPlugs, Fibaro Fenstersensoren, Aeon Indoor Sirene, Greenwave WallPlugs, Qubino Dimmer

9zehn75

fsck hat nichts Auffälliges ergeben. Das Filesystem auf der neuen Karte scheint i.O.

Ich habe gerade noch das aus dem Logfile gefischt beim Start von fhem:

2019.05.09 07:11:29 1: Including fhem.cfg
2019.05.09 07:11:29 1: Can't locate auto/Net/SSLeay/randomize.al in @INC (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at /usr/share/perl5/IO/Socket/SSL.pm line 157.
Compilation failed in require at (eval 13) line 2, <$fh> line 14.

2019.05.09 07:11:29 1: Can't load IO::Socket::SSL, falling back to HTTP
2019.05.09 07:11:30 1: Attempt to reload IO/Socket/SSL.pm aborted.
Compilation failed in require at (eval 30) line 2, <$fh> line 43.

2019.05.09 07:11:30 1: Can't load IO::Socket::SSL, falling back to HTTP
2019.05.09 07:11:30 1: Attempt to reload IO/Socket/SSL.pm aborted.
Compilation failed in require at (eval 31) line 2, <$fh> line 54.

2019.05.09 07:11:30 1: Can't load IO::Socket::SSL, falling back to HTTP


Scheinbar gibt es ein Problem mit libio-socket-ssl-perl. Jemand einen Tipp, was ich zur weiteren Analyse tun könnte?

Update:

Sehe jetzt erst oben die Meldung

2019.05.09 07:11:29 1: Can't locate auto/Net/SSLeay/randomize.al in @INC (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at /usr/share/perl5/IO/Socket/SSL.pm line 157.
Compilation failed in require at (eval 13) line 2, <$fh> line 14.


Kann das das Problem sein? Falls ja, was sollte mir das sagen?

Update 2:

Kann das heißen, dass ich libnet-ssleay-perl und/oder libcrypt-ssleay-perl installieren muss?

Update 3:

Sowohl  libnet-ssleay-perl als auch libcrypt-ssleay-perl waren schon installiert und haben die neueste Version.

Freue mich über jeden Tipp!
VG, 9zehn75

FHEM seit 02.02.2016: Raspberry Pi 2, ZME_UZB1, Fibaro WallPlugs, Fibaro Fenstersensoren, Aeon Indoor Sirene, Greenwave WallPlugs, Qubino Dimmer

Wernieman

Alles was geht deinstallieren (purge), autoclean und wider installieren ...

apt-get purge <Tolles Packet>
apt-get autoclean
apt-get clean
apt-get purge $(dpkg --get-selections | grep deinstall | cut -f1 | xargs)


Das letzte purged auch die automatisch deinstallierten Packete.

Hinweise:
- mit purge wird (im Gegensatz zu deinstall), auch sämtliche Config der Packete weggeworfen
- Bei jedem Schritt achten, das keine wichtigen (System) Packete entfernt werden
- Hast Du Pakete mit CPAN installiert??

Alternative:
Neuinstallation ...

Bezüglich Filmsystemcheck:
Wie geprüft?

Ansonsten hätte ich aktuell keine weitere Ideen ...
- 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

9zehn75

Nochmals vielen Dank für die Tipps!

Ich konnte den Fehler jetzt beheben. Die fhem-Logfiles haben gezeigt, dass der Fehler an den Perl-Modulen für SSL liegt. Am Ende hat folgendes den Fehler behoben:

Zunächst habe ich die Perl-Module für SSL händisch entfernt, ohne dass die abhängigen Pakete auch deinstalliert werden:

sudo dpkg --purge --force-all libnet-ssleay-perl libcrypt-ssleay-perl libio-socket-ssl-perl

Dann habe mittels apt alle Abhängigkeiten wieder nachinstalliert:

sudo apt-get -f install

Danach dann in fhem "update", gefolgt von "shutdown restart" und jetzt geht alles wieder.
VG, 9zehn75

FHEM seit 02.02.2016: Raspberry Pi 2, ZME_UZB1, Fibaro WallPlugs, Fibaro Fenstersensoren, Aeon Indoor Sirene, Greenwave WallPlugs, Qubino Dimmer

Wernieman

Hoffen wir, das es wirklich nur im Bereich SSL zu Problemen gab .. nicht das noch irgendeine andere Libary defekt, welche nur sehr selten verwendet wird ...
- 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