Hauptmenü

perl Version

Begonnen von Zrrronggg!, 16 Januar 2017, 19:41:28

Vorheriges Thema - Nächstes Thema

Zrrronggg!

Seit dem ich Anfang 2016 auf  FHEM 5.7 upgedated habe, hab ich im Logfile zahlreiche Fehlermeldungen. Und zwar bei jedem start erstmal eine lange Latte und auch immer wieder im Betrieb. Der Funktion tut das keinen Abbruch, alles läuft nach wie vor wie es soll. Zwar habe ich hier damals schon mal nachgefragt und die Meldungen auch mal gepostet, aber keine Antworten erhalten und das Thema daher irgendwann vergessen. Wenn man so will, ist das für mich bisher ein rein kosmetisches Problem.

Aber wie das so ist: Ich wüsste doch gerne was da los ist. Bevor ich ein neuen Anlauf nehme und das hier alles aufrolle wären meine ersten Fragen:

Was ist eigentlich die Minimum perl version die Fhem braucht?
Hat sich das mit 5.6-5.7 ggf geändert?
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

betateilchen

#1
Zitathab ich im Logfile zahlreiche Fehlermeldungen. Und zwar bei jedem start erstmal eine lange Latte und auch immer wieder im Betrieb

"where is the beef?"

Will heißen:

  • Sollen wir jetzt raten, über welche Fehlermeldungen Du redest?
  • Sollen wir jetzt raten, welche perl Version Du im Einsatz hast?

Zitat von: Zrrronggg! am 16 Januar 2017, 19:41:28
Was ist eigentlich die Minimum perl version die Fhem braucht?

Das steht in der faq zu fhem an erster Stelle.

http://fhem.de/faq.html
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Zrrronggg!

Zitat von: betateilchen am 16 Januar 2017, 21:05:09
"where is the beef?"

Will heißen:

  • Sollen wir jetzt raten, über welche Fehlermeldungen Du redest?
  • Sollen wir jetzt raten, welche perl Version Du im Einsatz hast?

Nein sollst du nicht. Beides ist zur Beantwortung meiner Fragen auch als Info nicht notwendig.
Oder anders: Ich wollte ZUERST mal sehen, ob es nicht so was simples ist, wie "meine Version wesentlich zu alt", bevor ich euch mit Details belästige.

ZitatDas steht in der faq zu fhem an erster Stelle.

http://fhem.de/faq.html

Okay, das ist in etwa die einzige stelle an der ich nicht gesucht habe. Sonst habe ich  an Unterseiten von www.fhem.de mehr oder weniger alles durch. Ich fand geradezu verblüffend, dass tatschlich nirgendwo klipp und klar steht: You need at least perl 5.x . So steht auf www.fhem.de zwar die übliche magische Formel "In order to use FHEM you'll need ... with a perl interpreter ..." aber nicht welche min version. 

Im wiki stehts auch nirgends.

Plus: http://fhem.de/faq.html ist nicht in "Contents" verlinkt, nur im Text.
Ich finde die Anforderung ist nicht einfach zu finden und könnte ggf etwas prominenter zu sehen sein.
So oder so: Danke für den Hinweis!

Allerdings: Wenn tatsächlich nur 5.6 erforderlich ist, ist's auch fast wieder egal. (Ich habe 5.8.8 und dachte das könnte ggf zu alt sein.)

Und hier is the beef:

Bei jedem Start von fhem bekomme ich haufenweise so zeug hier:

Constant subroutine main::E2BIG redefined at /usr/local/lib/perl5/5.8.8/Exporter.pm line 65.
at /usr/local/lib/perl5/5.8.8/armv5tejl-linux/POSIX.pm line 19
Prototype mismatch: sub main::E2BIG () vs none at /usr/local/lib/perl5/5.8.8/Exporter.pm line 65.
at /usr/local/lib/perl5/5.8.8/armv5tejl-linux/POSIX.pm line 19
Constant subroutine main::EACCES redefined at /usr/local/lib/perl5/5.8.8/Exporter.pm line 65.
at /usr/local/lib/perl5/5.8.8/armv5tejl-linux/POSIX.pm line 19
Prototype mismatch: sub main::EACCES () vs none at /usr/local/lib/perl5/5.8.8/Exporter.pm line 65.
at /usr/local/lib/perl5/5.8.8/armv5tejl-linux/POSIX.pm line 19

(nur ein Auszug, sind 5x mehr Meldungen)

und im laufenden betrieb dann täglich auch mal sowas hier:
2017.01.10 18:34:45 1: PERL WARNING: Argument "2017-01-09 12:48:09" isn't numeric in numeric lt (<) at (eval 319472) line 1.
2017.01.10 18:34:45 1: PERL WARNING: Argument "2017-01-09 12:48:09" isn't numeric in numeric lt (<) at (eval 319474) line 1.
2017.01.10 18:34:45 1: PERL WARNING: Argument "2017-01-09 15:13:02" isn't numeric in numeric lt (<) at (eval 319476) line 1.
2017.01.10 18:34:45 1: PERL WARNING: Argument "2017-01-09 15:13:02" isn't numeric in numeric lt (<) at (eval 319478) line 1.
2017.01.10 18:34:45 1: PERL WARNING: Argument "2017-01-10 18:16:49" isn't numeric in numeric lt (<) at (eval 319480) line 1.


(auch noch 5x mehr davon)

Auslöser war nur der Update auf fhem 5.7, meine konfig und sonstiges unverändert.

Ich tu mich ein wenig schwer mit suchen.

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Zrrronggg!

Danke übrigens für deinen Tip zur "Entfernung" des "mobbing-bars". (block ##div.moderatorbar). Gleich umgesetzt.
Der Kram hat mich schon in der ersten Version des Forums gestört. Ich kann mich noch an die Bewertungskriege erinnern. Wieso wurde das wieder eingeführt?

Egal, ich seh's ja nicht mehr jetzt. :D
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Zrrronggg!

Ich hab ja jetzt "beef" beigelegt, aber Idee hat trotzdem keiner?
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

betateilchen

ich schau nicht so häufig in die Anfängerfragen, sorry.

perl 5.8 ist schon grenzwertig auch wenn in den faq 5.6 als Minimum steht.

Du hast offenbar zwei völlig unterschiedliche Probleme.

Das erste ist ein Problem auf OS-Ebene mit Deiner perl Version. Entweder Du hast zwei verschiedene Versionen bei Dir auf dem System, von denen eine nicht vollständig ist, oder irgendwas anderes klemmt da. Das ist der Bereich mit den "redefined" und "prototype mismatch" Meldungen.

Das zweite ist ein Problem in fhem, da versucht irgendein Modul mit Datumswerten zu rechnen.

Das zweite Problem ließe sich besser eingrenzen, wenn Du in Deinem fhem "stacktrace" aktivierst, dann wird die Protokollierung etwas gesprächiger und man findet meistens heraus, aus welchem Modul die Meldung stammt.



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

betateilchen

ha... ich wusste doch, dass es schonmal eine Diskussion dazu gab...

https://forum.fhem.de/index.php/topic,33909.0.html

Darin geht Rudi von 5.10 aus und ich hatte sogar 5.12 als Mindeststandard vorgeschlagen.

Inzwischen ist perl ja bei 5.2x angekommen und viele Modulautoren verwenden natürlich auch den Sprachumfang neuerer Versionen.
Insofern sollte man sich nicht darauf verlassen, dass 5.8 wirklich noch problemlos einsetzbar ist.

Das Thema werde ich mal im Developer-Bereich aufgreifen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Zrrronggg!

#7
Zitatha... ich wusste doch, dass es schonmal eine Diskussion dazu gab...

https://forum.fhem.de/index.php/topic,33909.0.html

Ah! Hatte ich nicht gefunden. Danke fürs Link. Das hatte ich befürchtet. 5.8.8 ist ja in der Tat schon etwas betagt. Leider ist es auf meiner Buffallo Linkstation Mini (ARM) Appliance nicht ganz so trivial da was neueres drauf zu machen.

Vielleicht kauf ich mir mal einen Raspi oder so, und setze da parallel was auf. Alternativ könnte man die Linkstation rooten und ein Debian drauf machen. Ist aber alles so ein bisschen am Rande meiner Fähigkeiten und wird daher viel Zeit erfordern... seufz.


ZitatDas erste ist ein Problem auf OS-Ebene mit Deiner perl Version. Entweder Du hast zwei verschiedene Versionen bei Dir auf dem System, von denen eine nicht vollständig ist, oder irgendwas anderes klemmt da. Das ist der Bereich mit den "redefined" und "prototype mismatch" Meldungen.

Hmtja, das habe ich befürchtet bzw. auch angenommen. Auffällig ist eben nur, dass das mit dem Update auf 5.7 plötzlich auftauchte. EXACT mit dem Update. Letzter Neustart von fhem.pl unmittelbar vor dem Update: Keine Fehlermeldungen. Erster Start nach dem Update: Fehlermeldungen.

ZitatDas zweite ist ein Problem in fhem, da versucht irgendein Modul mit Datumswerten zu rechnen.

Ja, ich habe auch noch Hoffnung, das ich das rausbekomme. Allerdings auch hier: Das Problem trat exact nach dem Update auf, meine config habe ich bewusst rund um den Updatetermin nicht angefasst. UND: Es funktioniert alles, das ist das Komische. Gerade da habe ich am Anfang gedacht: warte mal, die Fehlersuche kannst du dir einfach machen, du must ja nur warten bis irgendwas mit Zeiten, Wochentage oder Datum nicht mehr geht, dann weisst du wo du nachsehen musst.

Passiert aber nicht.

Gut, da muss ich dann wohl mal den öden Weg gehen und Logfiles durchforsten um Muster zu erkennen, a la: "Das kommt alle XY Stunden, und das ist der selbe Intervall wie Funktion xy"

Das wird ein Spass  ;-)

Oder ich lass es und stecke die Arbeit gleich in einen Raspi.
Hat irgendjemand Vorschläge, was ich aus der Raspi-und-Konsorten-Ecke am ehesten nehmen sollte?
Ich habe vor allem 2 CULs und brauche daher paar USB Ports. Und Ethernet. WLAN muss nicht. Ansonsten würde die Kiste bei mir nichts machen. Raspberry Pi 2 Model B?

P.S.: Eventuell kann man ja doch irgendwo auf den Webseiten mal hinschreiben welche perl version erwartet wird.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

ioT4db

Nabend,

ich wollte das Thema nochmal nach vorn holen, da ich die Tage auch über eine "veraltete" Perl-Version gestolpert bin. siehe hier: https://forum.fhem.de/index.php/topic,53584.msg744859.html#msg744859

Also das mit den Perl-Versionen hatte ich so auch noch nicht aufm Schirm. Mmm, ich wollte zuerst in dieser Diskussion https://forum.fhem.de/index.php/topic,65154.msg563946.html#msg563946 nochmal anfragen. Scheint aber geschlossen zu sein. Da wurde ja noch bzgl. viel älterer Perl-Versionen gesprochen.

Zumal man als User eigentlich keine Chance hat zu sehen, ob ein etwaiges Problem bzw. Fehlermeldungen vlt. aus einer inkompatiblen Perl-Version kommt. Uiuiui, wird nie langweilig ;)

So wie ich das verstehe bringt ja jede Debian-Version wieder eine neue Perl-Version mit und das Upgraden innerhalb z.B. Wheezy auf eine Version höher 5.14.2 ist dann auch nicht so easy.

Gibt es hier generell Ideen oder Überlegungen, um solche Probleme schneller identifizieren zu können?

z.B. würde es ja schon helfen, wenn zu jedem Modul stehen würde mit welcher Perl-Version der Modulentwickler dieses Modul erstellt bzw. für lauffähig befunden hat. Im nächsten Schritt könnte ja während man unter FHEM einen "update check" ausführt, dann auch gleich die aktuell installierte Perl-Version mit der Anforderung des Modulentwicklers übereinstimmt.

VG...
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

Zrrronggg!

Siehe zu dem Thema  auch den neueren Thread hier:

https://forum.fhem.de/index.php/topic,81596.msg737015.html#msg737015

Da habe ich die Frage mal in etwas allgemeinerer Formulierung aufgeworfen. Eventuell hängst du dich da nochmal dran.
Ich glaube aber man kann aber schon sagen: Interessiert die Entwickler offenbar nicht. Ist auch organisatorisch nicht trivial.

Immerhin hat Rudi aber kommentiert.

FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL