Hallo
leider noch eine Fehlermeldung ohne ausreichend hinweise fuer mich:
XSLoader.pm: Can't locate object method "tid" via package "threads"
Log Fehlermeldung Array: Can't use an undefined value as an ARRAY ....
2019.11.05 14:08:08.747 1: PERL ERROR: Can't use an undefined value as an ARRAY reference at fhem.pl line 575.
Mehr steht das zum Log nicht.
Wo kann ich da weiterforschen?
Danke T
attr stacktrace auf global setzen, und wieder die Log posten
ok, werde ich mal machen. Danke
also habe es nun so gesetzt:
attr global stacktrace 1
so ok?
Hallo,
so nun sehe ich leider auch nicht mehr....oder?
2019.11.06 10:25:34.456 1: PERL ERROR: Can't use an undefined value as an ARRAY reference at fhem.pl line 575.
2019.11.06 10:25:34.457 1: stacktrace:
2019.11.06 10:25:34.457 1: main::__ANON__ called by fhem.pl (575)
2019.11.06 10:25:34.457 1: (eval) called by fhem.pl (575)
2019.11.06 10:25:34.488 1: Including fhem.cfg
2019.11.06 10:25:34.495 1: Including ./fhemtr/includes/Telegram_bot.cfg
2019.11.06 10:25:34.740 3: TelegramBot_Define TR_BOT: called
2019.11.06 10:25:34.964 1: PERL ERROR: Can't locate object method "tid" via package "threads" at /usr/share/perl/5.26/XSLoader.pm line 114.
2019.11.06 10:25:34.964 1: stacktrace:
2019.11.06 10:25:34.964 1: main::__ANON__ called by /usr/share/perl/5.26/XSLoader.pm (114)
2019.11.06 10:25:34.964 1: (eval) called by /usr/share/perl/5.26/XSLoader.pm (114)
2019.11.06 10:25:34.964 1: XSLoader::load called by /usr/lib/x86_64-linux-gnu/perl5/5.26/Net/SSLeay.pm (439)
2019.11.06 10:25:34.964 1: (eval) called by /usr/lib/x86_64-linux-gnu/perl5/5.26/Net/SSLeay.pm (441)
2019.11.06 10:25:34.964 1: (eval) called by /usr/share/perl5/IO/Socket/SSL.pm (19)
2019.11.06 10:25:34.964 1: IO::Socket::SSL::BEGIN called by /usr/lib/x86_64-linux-gnu/perl5/5.26/Net/SSLeay.pm (0)
2019.11.06 10:25:34.964 1: (eval) called by /usr/lib/x86_64-linux-gnu/perl5/5.26/Net/SSLeay.pm (0)
2019.11.06 10:25:34.964 1: (eval) called by (eval 23) (1)
2019.11.06 10:25:34.965 1: main::BEGIN called by /usr/lib/x86_64-linux-gnu/perl5/5.26/Net/SSLeay.pm (0)
2019.11.06 10:25:34.965 1: (eval) called by /usr/lib/x86_64-linux-gnu/perl5/5.26/Net/SSLeay.pm (0)
2019.11.06 10:25:34.965 1: (eval) called by FHEM/HttpUtils.pm (490)
2019.11.06 10:25:34.965 1: main::HttpUtils_Connect2 called by FHEM/HttpUtils.pm (479)
2019.11.06 10:25:34.965 1: main::HttpUtils_Connect called by FHEM/HttpUtils.pm (935)
2019.11.06 10:25:34.965 1: main::HttpUtils_BlockingGet called by ./FHEM/50_TelegramBot.pm (1623)
2019.11.06 10:25:34.965 1: main::TelegramBot_DoUrlCommand called by ./FHEM/50_TelegramBot.pm (2848)
2019.11.06 10:25:34.965 1: main::TelegramBot_Setup called by ./FHEM/50_TelegramBot.pm (400)
2019.11.06 10:25:34.965 1: main::TelegramBot_Define called by fhem.pl (3754)
2019.11.06 10:25:34.965 1: main::CallFn called by fhem.pl (2077)
2019.11.06 10:25:34.965 1: main::CommandDefine called by fhem.pl (1242)
2019.11.06 10:25:34.965 1: main::AnalyzeCommand called by fhem.pl (1095)
2019.11.06 10:25:34.965 1: main::AnalyzeCommandChain called by fhem.pl (1380)
2019.11.06 10:25:34.965 1: main::CommandInclude called by fhem.pl (1242)
2019.11.06 10:25:34.965 1: main::AnalyzeCommand called by fhem.pl (1095)
2019.11.06 10:25:34.965 1: main::AnalyzeCommandChain called by fhem.pl (1380)
2019.11.06 10:25:34.965 1: main::CommandInclude called by fhem.pl (607)
2019.11.06 10:25:35.242 3: telnetPort7072: port 7072 opened
Danke fürs checken.
VG T
Doch schon, oder? Aufrufende Funktion ist vermutlich TelegramBot_Define.
Da der Code des Moduls (jedenfalls beim kurzen Überfliegen desselben) nicht zu prüfen scheint, ob alle erforderlichen Module da sind, ist es naheliegend, dass du ein Perl-Modul nicht installiert haben könntest.
Wie sieht es damit aus (commandref):
Zitat
This module requires the perl JSON module.
Please install the module (e.g. with sudo apt-get install libjson-perl) or the correct method for the underlying platform/system.
Hi
merkwürdigerweise libjson is already newest....
Ich nutze Ubuntu muss ich da etwas anderes installieren?
Nutze perl 5.26.
Danke t
Puh, die cref hatte ich nur überflogen, aber das schien die einzige Abhängigkeit gewesen zu sein (und ist bei dir auch via apt-get korrekt installiert; ubuntu oder Debian dürften hier keine signifikanten Unterschiede zu Raspbian aufweisen).
Würde dazu tendieren, vorab nochmal die betreffende T-Bot-Definition mal zu checken, ob die ok ist, und wenn ja, das ganze in den für TelegramBot passenden Forumsbereich zu verschieben (unter etwas geändertem Titel: "Vermutlich TelegramBot: Can't use...").
Hallo,
ok Danke.
der Bot läuft eigentlich.
wie kann ich denn das ticket verschieben?
Verschieben: https://forum.fhem.de/index.php/topic,68904.0.html
Mit der Fehlermeldung habe ich auch noch folgendes gefunden:
https://stackoverflow.com/questions/57097299/xsloader-pm-error-cant-locate-object-method-tid-via-package-threads-at-u
Das deutet darauf hin, dass es nichts mit einem speziellen FHEM-Modul zu tun hat, sondern vielleicht mit diesem Perl-Modul.
Allerdings bin ich nicht der cpan-Spezialist und will jetzt nichts vorschlagen, was eventuell Quatsch ist, schon gleich nicht auf Basis einer für mich eher verwirrenden Diskussion dort in dem verlinkten Thread...
Würde jetzt doch eher erst mal hier bleiben, aber den Threadtitel ändern (auf den Fehlercode), z.B.
XSLoader.pm: Can't locate object method "tid" via package "threads"
Dazu dann bitte noch weitere Angaben zu OS (Version, Perl steht ja schon hier, aber wiederholen kann auch nicht schaden) und Plattform. Wäre noch gut, wenn du die Version von XSLoader rausbekämst.
(Nein, ich weiß nicht, wie es geht und müßte auch eine SuFu nutzen ::) .)
Hi
einen solchen Threat hatte ich schon aufgemacht und nun verlinkt.
Perl: 5.26
libjsan-perl ist aktuel
Ubuntu 18.04
XSLoader: 0.27 scheinbar
vorher: sudo cpanm Devel::Modlist
perl -d:Modlist /opt/fhem/fhem.pl
Danke
https://forum.fhem.de/index.php/topic,105086.msg990204.html#msg990204 (https://forum.fhem.de/index.php/topic,105086.msg990204.html#msg990204)