(gelöst) PERL ERROR nach update

Begonnen von MarkusEd, 14 April 2015, 13:54:03

Vorheriges Thema - Nächstes Thema

MarkusEd

Ein "update full" hat mein Problem gelöst (auf version $Id: fhem.pl 8499 2015-04-30 )
Keine Fehler mehr, musste allerdings die verwendeten *.gplot files anfassen und Leerzeichen am Zeilenende manuell entfernen.


Hi,

ich hab die "Community Firmware mit FHEM" unter http://fhem.de/fhem-5.5-fb7390.image auf meiner FB7390  installiert und direkt einen update gestartet (also noch mit der orginalen fhem.cfg). Nach beedetem uprade und einem "shutdown restart" finde ich folgenden Eintrag sobald ich mich an der Weboberfläche anmeden will (solange ich nicht die Weboberfläche aufrufe scheint fhem zu laufen da sich die logfiles aktualisieren und der Prozess läuft).
# tail -f log/fhem-2015-04.log
Server started with 79 defined entities (version $Id: fhem.pl 8430 2015-04-13 17:03:56Z rudolfkoenig $, os linux, user fhem, pid 2453)
2015.04.14 13:32:41 1: PERL ERROR: Can't locate /var/InternerSpeicher/fhem/lib/perl5/5.12.2/auto/Compress//Zlib/autosplit.ix in @INC (@INC contains: /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/mips-linux /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/mips-..
..
..
2015.04.14 13:32:41 3: stacktrace:
2015.04.14 13:32:41 3:     main::__ANON__                      called by /var/InternerSpeicher/fhem/lib/perl5/5.12.2/AutoLoader.pm (169)
2015.04.14 13:32:41 3:     (eval)                              called by /var/InternerSpeicher/fhem/lib/perl5/5.12.2/AutoLoader.pm (169)
2015.04.14 13:32:41 3:     AutoLoader::import                  called by /var/InternerSpeicher/fhem/lib/perl5/5.12.2/Compress/Zlib.pm (6)
2015.04.14 13:32:41 3:     Compress
...

reinstall bereits ausprobiert, genau gleiches Fehlerbild.

Danke
Markus

Mitch

FHEM im Proxmox Container

alpha1974

#2
Hier ähnliches Problem nach dem letzten Update der fhem.pl auf Version "fhem.pl 8430 2015-04-13 17:03:56Z" mit unten stehender Fehlermeldung (FHEM startet dann auch nicht). Lösung: fhem.pl aus dem Backup auf Version  "$Id: fhem.pl 8320 2015-03-29 10:49:31Z" zurückspielen, dann ist der Fehler weg (das benötigte Perl Modul war und ist installiert).


2015.04.14 14:36:56 1: PERL ERROR: Can't locate Authen/SASL/XS.pm in @INC (you may need to install the Authen::SASL::XS module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl . ./FHEM) at (eval 85) line 2.

2015.04.14 14:36:56 3: stacktrace:
2015.04.14 14:36:56 3:     main::__ANON__                      called by (eval 85) (2)
2015.04.14 14:36:56 3:     (eval)                              called by /usr/share/perl5/Authen/SASL.pm (76)
2015.04.14 14:36:56 3:     Authen::SASL::client_new            called by /usr/share/perl5/XML/Stream.pm (2155)
2015.04.14 14:36:56 3:     XML::Stream::SASLClient             called by /usr/share/perl5/Net/XMPP/Protocol.pm (1958)
2015.04.14 14:36:56 3:     Net::XMPP::Protocol::AuthSASL       called by /usr/share/perl5/Net/XMPP/Protocol.pm (1807)
2015.04.14 14:36:56 3:     Net::XMPP::Protocol::AuthSend       called by ./FHEM/70_Jabber.pm (384)
2015.04.14 14:36:56 3:     main::Jabber_CheckConnection        called by ./FHEM/70_Jabber.pm (233)
2015.04.14 14:36:56 3:     main::Jabber_PollMessages           called by fhem.pl (2574)
2015.04.14 14:36:56 3:     main::HandleTimeout                 called by fhem.pl (540)
2015.04.14 14:36:57 1: CallBlockingFn: Can't connect to localhost:7072: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
2015.04.14 14:36:57 1: PERL ERROR: Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 125.

2015.04.14 14:36:57 3: stacktrace:
2015.04.14 14:36:57 3:     main::__ANON__                      called by FHEM/Blocking.pm (125)
2015.04.14 14:36:57 3:     main::BlockingInformParent          called by FHEM/Blocking.pm (94)
2015.04.14 14:36:57 3:     main::BlockingCall                  called by ./FHEM/73_PRESENCE.pm (535)
2015.04.14 14:36:57 3:     main::PRESENCE_StartLocalScan       called by fhem.pl (2574)
2015.04.14 14:36:57 3:     main::HandleTimeout                 called by fhem.pl (540)
2015.04.14 14:36:58 1: CallBlockingFn: Can't connect to localhost:7072: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
2015.04.14 14:36:58 1: PERL ERROR: Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 125.

2015.04.14 14:36:58 3: stacktrace:
2015.04.14 14:36:58 3:     main::__ANON__                      called by FHEM/Blocking.pm (125)
2015.04.14 14:36:58 3:     main::BlockingInformParent          called by FHEM/Blocking.pm (94)
2015.04.14 14:36:58 3:     main::BlockingCall                  called by ./FHEM/73_PRESENCE.pm (535)
2015.04.14 14:36:58 3:     main::PRESENCE_StartLocalScan       called by fhem.pl (2574)
2015.04.14 14:36:58 3:     main::HandleTimeout                 called by fhem.pl (540)
2015.04.14 14:37:00 1: CallBlockingFn: Can't connect to localhost:7072: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
2015.04.14 14:37:00 1: PERL ERROR: Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 125.

2015.04.14 14:37:00 3: stacktrace:
2015.04.14 14:37:00 3:     main::__ANON__                      called by FHEM/Blocking.pm (125)
2015.04.14 14:37:00 3:     main::BlockingInformParent          called by FHEM/Blocking.pm (94)
2015.04.14 14:37:00 3:     main::BlockingCall                  called by ./FHEM/73_PRESENCE.pm (535)
2015.04.14 14:37:00 3:     main::PRESENCE_StartLocalScan       called by fhem.pl (2574)
2015.04.14 14:37:00 3:     main::HandleTimeout                 called by fhem.pl (540)
FHEM/Z-Wave USB-Dongle + div. Devices

rretsiem

#3
Hallo,

kann ich bestätigen, eben einen Update durchgeführt und nach kurzer Zeit nach einem shutdown restart das im Log:


2015.04.14 14:38:30 1: PERL WARNING: Scalar found where operator expected at (eval 316) line 2, near "1 $NAME"
2015.04.14 14:38:30 3: eval: my $EVTPART0='presence:';my $TYPE='SONOSPLAYER';my $EVTPART1='appeared';my $EVENT='presence: appeared';my $NAME='Sonos_Kueche';{
        Log 1 $NAME, 1, "$NAME: appeared, setting favorite to EgoFM";
if (ReadingsVal($NAME, 'numberOfTracks', -1) == 0) {
fhem "set $NAME StartFavourite /ego/ NoStart" ;
fhem "set $NAME Volume 7" ;
}
}
2015.04.14 14:38:30 3: n_BAD.Sonos.appeared return value: Not enough arguments for main::Log at (eval 316) line 2, near "1 $NAME"
syntax error at (eval 316) line 2, near "1 $NAME"

2015.04.14 14:38:30 1: in ATTR
2015.04.14 14:38:30 1: in ATTR
2015.04.14 14:38:33 1: PERL ERROR: URL must be absolute at /usr/share/perl5/LWP/UserAgent.pm line 232.

2015.04.14 14:38:33 3: stacktrace:
2015.04.14 14:38:33 3:     main::__ANON__                      called by /usr/share/perl5/LWP/UserAgent.pm (232)
2015.04.14 14:38:33 3:     LWP::UserAgent::prepare_request     called by /usr/share/perl5/LWP/UserAgent.pm (268)
2015.04.14 14:38:33 3:     (eval)                              called by /usr/share/perl5/LWP/UserAgent.pm (267)
2015.04.14 14:38:33 3:     LWP::UserAgent::simple_request      called by /usr/share/perl5/LWP/UserAgent.pm (282)
2015.04.14 14:38:33 3:     LWP::UserAgent::request             called by /usr/share/perl5/LWP/UserAgent.pm (410)
2015.04.14 14:38:33 3:     LWP::UserAgent::get                 called by /usr/share/perl5/LWP/Simple.pm (36)
2015.04.14 14:38:33 3:     LWP::Simple::get                    called by ./FHEM/00_SONOS.pm (7004)
2015.04.14 14:38:33 3:     main::SONOS_DownloadReplaceIfChanged called by ./FHEM/00_SONOS.pm (1570)
2015.04.14 14:38:33 3:     main::SONOS_Read                    called by fhem.pl (2971)
2015.04.14 14:38:33 3:     main::CallFn                        called by fhem.pl (607)


Vor dem Update lief das System ohne diese Ausfälle, deshalb würde ich auf einen Fehler durch das Update tippen?

Update:
Man könnte ja meinen es liegt an dem bei mir eingesetzten Code im notify mit "appeared", aber auch ohne dieses Notify geht das ganze nicht: (extra verbose 5 eingeschaltet)


2015.04.14 14:53:53 5: Sonos_SchlafzimmerRG: not on any display, ignoring notify
2015.04.14 14:53:53 5: Sonos_SchlafzimmerRG_Favourites: not on any display, ignoring notify
2015.04.14 14:53:53 5: Sonos_SchlafzimmerRG_Playlists: not on any display, ignoring notify
2015.04.14 14:53:53 5: Sonos_SchlafzimmerRG_Radios: not on any display, ignoring notify
2015.04.14 14:53:53 5: Triggering global (1 changes)
2015.04.14 14:53:53 5: Notify loop for global ATTR Sonos_Schlafzimmer model Sonos_S3
2015.04.14 14:53:53 5: statistics STATS.Power: Notify.260 Notification of 'global' received. Device not monitored.
2015.04.14 14:53:53 1: in ATTR
2015.04.14 14:53:53 1: in ATTR
2015.04.14 14:53:55 1: PERL ERROR: URL must be absolute at /usr/share/perl5/LWP/UserAgent.pm line 232.

2015.04.14 14:53:55 3: stacktrace:
2015.04.14 14:53:55 3:     main::__ANON__                      called by /usr/share/perl5/LWP/UserAgent.pm (232)
2015.04.14 14:53:55 3:     LWP::UserAgent::prepare_request     called by /usr/share/perl5/LWP/UserAgent.pm (268)
2015.04.14 14:53:55 3:     (eval)                              called by /usr/share/perl5/LWP/UserAgent.pm (267)
2015.04.14 14:53:55 3:     LWP::UserAgent::simple_request      called by /usr/share/perl5/LWP/UserAgent.pm (282)
2015.04.14 14:53:55 3:     LWP::UserAgent::request             called by /usr/share/perl5/LWP/UserAgent.pm (410)
2015.04.14 14:53:55 3:     LWP::UserAgent::get                 called by /usr/share/perl5/LWP/Simple.pm (36)
2015.04.14 14:53:55 3:     LWP::Simple::get                    called by ./FHEM/00_SONOS.pm (7004)
2015.04.14 14:53:55 3:     main::SONOS_DownloadReplaceIfChanged called by ./FHEM/00_SONOS.pm (1570)
2015.04.14 14:53:55 3:     main::SONOS_Read                    called by fhem.pl (2971)
2015.04.14 14:53:55 3:     main::CallFn                        called by fhem.pl (607)



Update 2:

Es liegt definitiv an der fhem.pl # $Id: fhem.pl 8430 2015-04-13 17:03:56Z rudolfkoenig $
Mit der Version: # $Id: fhem.pl 8320 2015-03-29 10:49:31Z rudolfkoenig $ funktioniert FHEM wieder wie vorher.

MarkusEd

Hi,

danke für den Hinweis daß es evtl. an der Version 8430 liegt und nicht an mir  :D . Nachdem ich jetzt auf die Version fhem.pl 3872 2013-09-07 zurückmuste (und sämtliche *.pm files auch von dieser Version restoren musste) noch eine Frage. Kann ich mit update nur bis auf 8320 upgraden?

Dietmar63

#5
@rudi:

Ich glaube, dass der Fehler mit der Änderung der fhem.pl hinsichtlich des Signal-Händlers
$sig{__DIE__} = sub {... }
zu tun hat.

Grundsätzlich ist der Gedanke richtig aber wahrscheinlich noch nicht flächendeckend korrekt umgesetzt.
Vielleicht kann jemand Rudi informieren.

und hier noch der Grund für die Erweiterung:
http://forum.fhem.de/index.php/topic,35796.msg284945.html#msg284945

Wir konnten Mitch mit dieser Erweiterung helfen den Fehler für seine sporadischen Abstürze zu finden.
Leider ist die Änderung in der fhem.pl noch nicht ausreichend, bzw. die Installationen werden nicht in allen Fällen damit fertig.

Es wäre gut ein Muster zu finden. Welche Hardware/Software ist betroffen? Rpi? Fritten? ...
Ich meine, man kann durch einfügen eines neuen Signalhändlers in die 99_Utils den Signalhändler der fhem.pl überschreiben. Dann muss man die alte fhem.pl nicht zurücksichern:


$SIG{__DIE__} = sub {
    my ($msg) = @_;

   die @_;
  };
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Puschel74

Lt. Maintainer.txt wären die gesamten Beiträge heute besser hier
Zitatfhem.pl                      rudolfkoenig         http://forum.fhem.de Sonstiges
untergebracht.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Reinerlein

Hallo,

also irgendwie ist das anscheinend keine gute Idee mit dem globalen DIE-Handler.
Ich habe im Sonos-Modul die fragliche Stelle gerade in einen Eval-Block getan. Dieser wird stumpf ignoriert und das Programm beendet...

Diese Stelle habe ich jetzt anders umgebaut, allerdings habe ich an vielen Stellen den Fehlerabfang-Block mit eval gebaut. Wenn da jetzt überall fhem beendet wird, wird das kein Spaß werden...

Grüße
Reiner

alpha1974

Zitat von: Dietmar63 am 14 April 2015, 19:24:29
Es wäre gut ein Muster zu finden. Welche Hardware/Software ist betroffen? Rpi? Fritten? ...

Ich bin mir zwar unsicher, ob hier überhaupt noch Antworten genehm sind (weil das Thema anscheinend ins Unterforum Sonstiges gehört - vielleicht kann ein Mod den Thread im Bedarfsfall verschieben).

Ich möchte aber dennoch gerne zur Fehlersuche beitragen: Auf meinem System läuft FHEM unter Ubuntu 14.04 LTS auf einem "echten" Server, also kein Rpi (der wird nur für Openelec genutzt) und auch nicht auf einer Fritzbox (die wird allerdings mittelbar mit einbezogen, weil an ihr der Z-Wave USB-Stick hängt, der per Freetz/USB-IP an den Server weitergereicht wird). Kritisch ist mit der neuesten fhem.pl das Jabber-Modul 70_Jabber.pm. Kommentiere ich das Jabber-Device aus fhem.cfg aus, startet FHEM auch nach dem Update.
FHEM/Z-Wave USB-Dongle + div. Devices

rudolfkoenig

Es lag an dem gestern eingebauten __DIE__ Handler (siehe Forum #35796).
Habs wieder ausgebaut, und fhem.pl fuer update direkt ur Verfuegung gestellt.

Puschel74

ZitatIch bin mir zwar unsicher, ob hier überhaupt noch Antworten genehm sind
Du kannst Probleme zu FHEM posten wo du willst.
Wenn du aber möchtest das die Probleme auch gelöst werden sollte das passende Unterforum dafür ausgewählt werden.
Auf den Rest deines Untertons geh ich nicht weiter ein ...

Zitatweil das Thema anscheinend ins Unterforum Sonstiges gehört
Nicht nur anscheinend aber es erleichtert die Sache ungemein - nicht jeder Developer liest jeden Beitrag in jedem Unterforum.

Zitatvielleicht kann ein Mod den Thread im Bedarfsfall verschieben
Der Anfängerbereich hat schon länger keinen Moderator mehr.
Entweder bittest du einen Global Moderator oder einem Admin den Beitrag passend zu verschieben.
Erleichternd käme hinzu wenn du direkt schreiben könntest in welchen Bereich der Beitrag deiner Meinung nach gehören würde.
Das hat sich hier aber bereits erledigt da Rudi, wie des öfteren, seine Augen fast überall hat.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Dietmar63

Ich denke ein globaler die-handler kann schon sinnvoll sein.
Allerdings sollten wir erst einmal im kleinen Kreis versuchen zu verstehen was der so anfängt und wie wir dann reagieren.

PERL WARNINGS haben sich ja auch etabliert.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

HoTi

Hallo zusammen,

da ist ja mein Fehler und ich dachte schon ich habe mal wieder irgendein Mist gemachst :-)

Kann es sein das deswegen FHEM abschmiert beim speichern der fhem.cfg?

Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Mitch

Warum denn nicht die Routine in die 99_Utils einbauen?
Bei mir läuft sie ohne Probleme und hat mir sehr geholfen.
FHEM im Proxmox Container

inesa394

Bei mir das selbe wie bei alpha1974 jabber macht Problem seit dem neuesten Update
Sobald das rausfliegt ist Ruhe