Peer Review von Richards Gewurschtel

Begonnen von RichardCZ, 31 März 2020, 22:17:53

Vorheriges Thema - Nächstes Thema

RichardCZ

#90
Zitat von: Wzut am 05 Juni 2020, 19:26:44
Start als root schlägt fehl , start als normaler User ging nachdem dieser User Schreibrechte auf die aktuelle fhem.log hatte.
Beim ersten edit der config und save :
undefined subroutine &HoBo::Command::WriteStatefile called at HoBo/Command.pm line 1072.
Compilation failed in require.


2020.06.05 19:31:38 1: reload: Error:Modul 10_MAX deactivated:
Can't locate Date/Parse.pm in @INC (you may need to install the Date::Parse module) (@INC contains: ./lib ./FHEM lib . CODE(0x563401bdd1b8) ./FHEM/lib) at ./FHEM/10_MAX.pm line 32.
BEGIN failed--compilation aborted at ./FHEM/10_MAX.pm line 32.


flenn

Aber danke für's testen. Positive Nachricht: Alle diese Fehlermeldungen kamen von einem 5.30.2 Perl. :-)

Dann schauen wir mal wo's hakt...

edit:

https://gl.petatech.eu/root/HomeBot/-/commit/ee89f3450f014396b7471d5988defefae2c88448


Die Magie einer CI Toolchain sollte ein Binary ausspucken, das nun ein wenig besser tut. Also wer auch immer Zeit hat das zu testen und mir z.B. via PM im ping-pong Verfahren die Bugs mitzuteilen, sei herzlich eingeladen.
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

Wzut

ok, und schau auch mal nach den anderen interen Commands , ala :
Undefined subroutine &HoBo::Command::ReadingsVal called at HoBo/Command.pm line 1046.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

RichardCZ

Zitat von: Wzut am 05 Juni 2020, 20:12:28
ok, und schau auch mal nach den anderen interen Commands , ala :
Undefined subroutine &HoBo::Command::ReadingsVal called at HoBo/Command.pm line 1046.

ok. Nochmal intensiv geschaut, 3 Problemzonen gefixt. Sollte wieder ein Stückchen weiterkommen...

Ich kapier' ehrlich gesagt nicht, warum er bei mir nicht geschrien hat. Kann ich ggf. Deine .cfg haben?
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

Wzut

#93
klar,kein Problem. Ich muß dazu sagen das nachdem ich gesehen hatte das HoBo mit den normalen Userrechten startet, habe ich das aktuelle svn unterhalb meines Normalusers kopiert und HoBo dazu. Erster Start war dann mit der default fhem.cfg und dann soltte via define jeweils eins meiner eigenen Module dazu.
attr global userattr cmdIcon cmdIcon devStateIcon:textField-long devStateIcon:textField-long devStateStyle devStateStyle icon icon sortby sortby webCmd webCmd webCmdLabel:textField-long webCmdLabel:textField-long widgetOverride widgetOverride
attr global autoload_undefined_devices 1
attr global autosave 0
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd none
attr global statefile ./log/fhem.save
attr global verbose 3

define WEB FHEMWEB 8083 global
setuuid WEB 5eda8791-f33f-ed5f-bfa3-db4e12ff5dcb5b44
attr WEB editConfig 1
attr WEB stylesheetPrefix dark

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
setuuid Logfile 5eda8791-f33f-ed5f-18ae-cc87bf39c3e9987e

define autocreate autocreate
setuuid autocreate 5eda8791-f33f-ed5f-704d-3329ef4d69ac34b2
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt
setuuid eventTypes 5eda8791-f33f-ed5f-63a8-bc5198473d69c2d9

 
und wie steht es mit den CPAN Modulen , hast du in HoBo alles gepackt was irgend ein Modul mittels use aufruft ?
denn da fehlen wohl noch einige , zb wird man z.Z. kein Modul nutzen können was Meta.pm eingebunden hat
2020.06.06 08:06:58 0: Server started with 5 defined entities (hobo.pl:99999/2020-04-11 perl:5.030003 os:linux user:eddy pid:3263)
2020.06.06 08:07:18 1: reload: Error:Modul 98_readingsWatcher deactivated:
Can't locate File/stat.pm in @INC (you may need to install the File::stat module) (@INC contains: ./lib ./FHEM lib . CODE(0x56126aacd1b8) ./FHEM/lib) at FHEM/Meta.pm line 20.
BEGIN failed--compilation aborted at FHEM/Meta.pm line 20.
Compilation failed in require at ./FHEM/98_readingsWatcher.pm line 96.

2020.06.06 08:07:18 0: Can't locate File/stat.pm in @INC (you may need to install the File::stat module) (@INC contains: ./lib ./FHEM lib . CODE(0x56126aacd1b8) ./FHEM/lib) at FHEM/Meta.pm line 20.
BEGIN failed--compilation aborted at FHEM/Meta.pm line 20.
Compilation failed in require at ./FHEM/98_readingsWatcher.pm line 96.

2020.06.06 08:08:43 1: reload: Error:Modul 96_SIP deactivated:
Can't locate Net/Domain.pm in @INC (you may need to install the Net::Domain module) (@INC contains: ./lib ./FHEM lib . CODE(0x56126aacd1b8) ./FHEM/lib) at ./FHEM/96_SIP.pm line 53.
BEGIN failed--compilation aborted at ./FHEM/96_SIP.pm line 53.

2020.06.06 08:08:43 0: Can't locate Net/Domain.pm in @INC (you may need to install the Net::Domain module) (@INC contains: ./lib ./FHEM lib . CODE(0x56126aacd1b8) ./FHEM/lib) at ./FHEM/96_SIP.pm line 53.
BEGIN failed--compilation aborted at ./FHEM/96_SIP.pm line 53.

2020.06.06 08:09:28 1: define beok BEOK 192.168.0.241 34:ea:34:79:02:99: please install Crypt::CBC first


Net::Domain habe ich z.B. nicht direkt in 96_SIP sondern Net::SIP , und Net::SIP will Net::Domain
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

RichardCZ

Zitat von: Wzut am 06 Juni 2020, 07:39:55
klar,kein Problem. Ich muß dazu sagen das nachdem ich gesehen hatte das HoBo mit den normalen Userrechten startet, habe ich das aktuelle svn unterhalb meines Normalusers kopiert und HoBo dazu. Erster Start war dann mit der default fhem.cfg und dann soltte via define jeweils eins meiner eigenen Module dazu.

Hm. Das mache ich auch...

Zitat
und wie steht es mit den CPAN Modulen , hast du in HoBo alles gepackt was irgend ein Modul mittels use aufruft ?

eigentlich dachte ich ja, aber offensichtlich sind mir einige entgangen. Ich denke ich habe (eigtl. Du hast) einen blinden Fleck entdeckt.
Schaue ich mir gleich an.
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

Wzut

IMHO ist der Fleck noch etwas größer :
use IO::Socket::Multicast schlägt auch fehl.
Mal schauen vllt. heute Nachmittag kann ich mal meine echten fhem.cfgs auf HoBo loslassen :)
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

RichardCZ

Der Blinde Fleck hat die Ausmaße einer kleinen Zwerggalaxie. Dauert noch etwas...
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

RichardCZ

Hm. Also:

* HoBo_x86_64 mittlerweile 44MB groß (noch nicht auf dem GitLab - erst noch in meiner Sandbox) - aber geht ja noch
* just IO::Socket::Multicast[6] ist noch ein Problem, weil IO::Interface partout nicht will unter staticperl
* Paws::Polly ist die Pest - also im FHEM Kontext

Will sagen: ich wäre da indifferent, aber just in FHEM mit dem Gebot der CPAN Sparsamkeit ist Paws::Polly eines der größten Schwergewichte die man holen kann.
Das holt mal eben die halbe AWS Infrastruktur, vorher noch schnell Moose und natürlich die ganzen Moose-Abhängigkeiten. Da habe ich dann irgendwann einen Riegel vorgeschoben.

(98_Text2Speech "will" das. Gute Nachricht ist, es macht einen eval-require also optional das ganze. Wenn diese ganze Infra nicht da ist, sollte das Modul nicht die Grätsche machen)

Man wird bald unter resources/HoBo.bundle die entsprechenden module sehen - da könnte man auch konsolidieren (also wenn es jemanden gäbe, der modulübergreifend and die Sache herangehen würde. Manchmal holt man sich - trotz proklamierter CPAN Sparsamkeit - verschiedene CPAN Module, die mehr oder minder das Gleiche machen. Für jemanden, der dann versucht ein Bundle zu machen ist das natürlich suboptimal.

Ansonsten ärgern mich noch
Crypt::Argon2
Crypt::NaCl::Sodium
HiPi::Device::I2C
IO::Interface (!!!)
IO::Interface::Simple (Folgefehler)


Wenn ich die IO::Interface Geschichte hinbekomme sollte tatsächlich etwas funktionales bei rauskommen.
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

Wzut

Ich habe noch zwei Punkte , beim Hobo Start
2020.06.06 18:23:20 1: PERL WARNING: Prototype mismatch: sub main::time_str2num: none vs ($) at ./FHEM/99_Utils.pm line 22.
2020.06.06 18:23:20 1: PERL WARNING: Subroutine time_str2num redefined at ./FHEM/99_Utils.pm line 16.

Hast du bei dir time_str2num aus der 99_Utils.pm entfernt ? Ich habe es mir jetzt mal auskommentiert.

der zweite Punkt ist ein shutdown restart in der Eingabezeile :
2020.06.06 18:23:21 0: Server started with 6 defined entities (hobo.pl:99999/2020-04-11 perl:5.030003 os:linux user:eddy pid:2692)
2020.06.06 18:25:27 0: Server shutdown
2020.06.06 18:25:27 1: PERL WARNING: Use of uninitialized value $exitValue in exit at !boot line 1472.
Can't connect to localhost:./HoBo_x86_64
Compilation failed in require.


Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

RichardCZ

* Prototypes warnings bekannt und bleiben erstmal so. Sind auch nicht fatal. Ich habe ein HoBo::Utils ohne Prototypen, naja und das clasht halt mit dem 99_Utils.
* shutdown restart muss in einem statischen binary anders implementiert werden, das wird bis dahin nicht funktionieren.
* https://gl.petatech.eu/root/HomeBot/-/wikis/HoBo-static-binary (erstmal aus meiner Sandbox)

Ist entpackt jetzt nur 13MB groß, grüßt erstmal mit:

# ./HoBo_x86_64 hobo.cfg
Too late to run CHECK block at Attribute/Handlers.pm line 13.
Too late to run INIT block at Attribute/Handlers.pm line 13.
Aliasing via reference is experimental at lib/HoBo/Command.pm line 29.
Aliasing via reference is experimental at lib/HoBo/Command.pm line 30.
Aliasing via reference is experimental at lib/HoBo/Command.pm line 31.
Aliasing via reference is experimental at lib/HoBo/Command.pm line 33.
Aliasing via reference is experimental at lib/HoBo/Command.pm line 34.
Possible attempt to separate words with commas at !boot line 1.


aber egal. :-)
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

Wzut

#100
Schade nun bin ich als Beta Tester raus, sowohl auf meinem Debian Desktop PC sowie auf meiner FHEM Hauptinstanz (stretch) :
./HoBo_x86_64: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./HoBo_x86_64)
./HoBo_x86_64: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./HoBo_x86_64)


eddy@T610:~/fhem$ ldd --version
ldd (Debian GLIBC 2.24-11+deb9u4) 2.24



Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

RichardCZ

#101
Zitat von: Wzut am 07 Juni 2020, 07:52:43
Schade nun bin ich als Beta Tester raus, sowohl auf meinem Debian Desktop PC sowie auf meiner FHEM Hauptinstanz (stretch) :
./HoBo_x86_64: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./HoBo_x86_64)
./HoBo_x86_64: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./HoBo_x86_64)


eddy@T610:~/fhem$ ldd --version
ldd (Debian GLIBC 2.24-11+deb9u4) 2.24


Ach Mist ... klar - auf dem GitLab Runner läuft ja ein Debian, Da ist die Glibc auch etwas älter. Dieses Binary kommt von meinem Arch Linux und das ist "relativ frisch".

https://gl.petatech.eu/root/HomeBot/-/wikis/HoBo-static-binary

Dann versuch' bitte das AppImage, das ist (geplant) komplett unabhängig vom Linux OS. Einzige Einschränkung da ist die Architektur (X86_64)




Aufruf:

./HomeBot-x86_64.AppImage hobo.cfg

(oder eben mit fhem.cfg). In der Prozesstabelle sollte dann sowas (in der Art) auftauchen:

root     1587088  0.0  0.0  11644  1800 ?        Ssl  08:37   0:00 ./HomeBot-x86_64.AppImage hobo.cfg
root     1587092  0.0  0.2 103284 40576 pts/22   S    08:37   0:00 ./HomeBot-x86_64.AppImage hobo.cfg


also zweimal, wovon eines ja nur so ne leere Hülle ist. Das ist dieser Fork den FHEM/HoBo am Anfang veranstaltet.
"shutdown restart" tut aber auch nicht - gilt das gleiche wie schon bei staticperl gesagt.
Der Prozess verschwindet einfach (also manueller Neustart dann)
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

Wzut

Leider knapp vorbei ... GLIBC_2.25 , wie ich aber zuvor geschrieben haben kann ich nur GLIBC_2.24 bieten :(
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

RichardCZ

Wie? Was?

Das AppImage will von Dir eine Lib?

$ ldd HomeBot-x86_64.AppImage
        not a dynamic executable

Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

Wzut

k.A. , ich erfinde das doch nicht :
eddy@T610:~/fhem$ ./HomeBot-x86_64.AppImage ./fhem.cfg
./HomeBot-x86_64.AppImage: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by ./HomeBot-x86_64.AppImage)
./HomeBot-x86_64.AppImage: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./HomeBot-x86_64.AppImage)
./HomeBot-x86_64.AppImage: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./HomeBot-x86_64.AppImage)
eddy@T610:~/fhem$ ldd HomeBot-x86_64.AppImage
das Programm ist nicht dynamisch gelinkt


Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher