gagahhag Geschrieben March 9, 2018 at 15:31 Geschrieben March 9, 2018 at 15:31 Hallo zusammen ich habe seit längerer Zeit wieder mal meinen RED hervorgeholt und das neue Image 1.11 installiert. Gestartet wird RED ganz normal, jedoch können über Brickv keine Daten angezeigt werden. In der Übersicht krieg ich den Fehler: Error: Script error 100X: Script "overview" in wrong state: 2 und nach ca 30s sehe ich auf dem Refresh-Button nur "Collecting data...". Wenn ich den Brickd über System->Restart Brick Daemon neu starte, sehe ich für kurze Zeit wieder, wie er automatisch versucht zu refreshen, jedoch ohne Erfolg. Auf dem Settings-Tab selbst kommt nur die Meldung: Error getting current services status. Die anderen Tabs im Brickv scheinen zu funktionieren. Mit RED v1.10 habe ich die gleichen Effekte. Die lokale Software ist aktuell: - brickd 2.3.1 - brickv 2.3.14 Es scheint so, dass das Problem bei mir liegt. Die Probleme treten auf, wenn ich Brickd/Brickv unter Linux (Manjaro) laufen lassen. Unter Windows scheint es zu funktionieren. Ideen? Gruss und Danke! Zitieren
photron Geschrieben March 9, 2018 at 16:57 Geschrieben March 9, 2018 at 16:57 Installierst du brickv mit unserem Debian Package, oder startest du den aus dem Source Code von github? Zitieren
gagahhag Geschrieben March 9, 2018 at 17:39 Autor Geschrieben March 9, 2018 at 17:39 Ich baue Brickd und Brickv jeweils aus den Sourcen von GitHub. Zitieren
photron Geschrieben March 14, 2018 at 18:45 Geschrieben March 14, 2018 at 18:45 Script error 100X: Script "overview" in wrong state: 2 Die 2 da sagt mit dass das "overview" Script überhaupt nicht gestartet werden konnte. Ich habe gerade mal eingebaut, dass in der Fehlermeldung auch der Exit Code mit angezeigt wird. Das hilft vielleicht weiter. Test bitte mal die aktuelle Version auf GitHub und poste die Fehlermeldung nochmal hier. Zitieren
gagahhag Geschrieben March 15, 2018 at 12:16 Autor Geschrieben March 15, 2018 at 12:16 Danke für das Update: Error: Script error 100X: Script "overview" in wrong state: 2 (exit-code 127) Zitieren
photron Geschrieben March 16, 2018 at 19:02 Geschrieben March 16, 2018 at 19:02 Exit Code 127 heißt "Datei nicht gefunden". Vielleicht sind irgendwie in das overview Script \r\n Zeilenenden geraten, dann kann Linux den Interpreter im Shebang nicht finden, was dann Fehler 127 erzeugen kann. Teste bitte mal die aktuelle Version auf GitHub, die erzwingt jetzt \n Zeilenenden in den Scripts. Du musst aber definitiv das build_all_ui.py Script nach dem git pull aufrufen, damit dieses die RED Brick Scripts neu zusammensammelt und die \n Zeilenenden erzwingen kann. Wen das nicht hilft, dann ist es ein anderes Problem. Dann musst du mal auf dem RED Brick nachschauen ob /usr/local/scripts/overview.py existiert und was die Rechte sind. Am besten führst du auf dem RED Brick mal folgendes aus und postet die Ausgabe hier: stat /usr/local/scripts/overview.py Wenn es /usr/local/scripts/overview.py nicht gibt, ist dann das /usr/local/scripts/ Verzeichnis komplett leer, oder welche Dateien liegen darin? Zitieren
gagahhag Geschrieben March 17, 2018 at 19:18 Autor Geschrieben March 17, 2018 at 19:18 Der Fehler besteht im aktuellen GIT-Status immer noch. Im /usr/local/scripts-Verzeichnis befinden sich 3 Python-Scripts: overview.py, restart_brickd.sh und settings_services.py. Alle gehören root:staff und haben 755-Rechte. Der stat-Befehl gibt folgendes aus: tf@red-brick:/usr/local/scripts$ stat overview.py File: overview.py Size: 2744 Blocks: 8 IO Block: 4096 regular file Device: b301h/45825d Inode: 330091 Links: 1 Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 50/ staff) Access: 2018-03-08 02:44:49.340000041 +0100 Modify: 2018-03-08 02:44:49.310000041 +0100 Change: 2018-03-08 02:44:49.310000041 +0100 Birth: - Wenn ich über Brickv den RED neu booten oder herunterfahren möchte, kommt folgende Meldung: Script "restart_reboot_shutdown_systemd" in wrong state: 2 (exit-code 127) Zitieren
photron Geschrieben March 19, 2018 at 13:31 Geschrieben March 19, 2018 at 13:31 Ich denke die Shebang Zeile ist nicht richtig in den Scripts. Was anderes als Ursache fällt mir nicht mehr ein. Lass dir mal die ersten paar Zeilen ausgeben: cat /usr/local/scripts/overview.py | head -n 5 Das sollte so aussehen: #!/usr/bin/env python2 # -*- coding: utf-8 -*- import psutil import sys import json Und um es exakt ansehen zu können einmal per od: od -c /usr/local/scripts/overview.py | head -n 5 Das sollte so aussehen: 0000000 # ! / u s r / b i n / e n v p 0000020 y t h o n 2 \n # - * - c o d 0000040 i n g : u t f - 8 - * - \n i 0000060 m p o r t p s u t i l \n i m p 0000100 o r t s y s \n i m p o r t j Wenn in der ersten Zeile nicht das Shebang exakt "#!/usr/bin/env python2\n" steht dann ist das dein Problem. Dann ist noch zu klären warum das bei dir passiert. Zitieren
gagahhag Geschrieben March 19, 2018 at 21:31 Autor Geschrieben March 19, 2018 at 21:31 Vielen Dank für den Tip. Ich habe das Problem gefunden! Es war effektiv die Shebang! Bei bauen vom BrickV funktioniert das unter Manjaro (Arch) nicht, da 'python' auf Python3 gelinkt ist. Die Scripts jedoch brauchen Python2. Daher wird mittels sed bei allen py*-Scripts '/usr/bin/env python' mit '/usr/bin/env python2' ersetzt. Nun leider auch solche, welche bereits '/usr/bin/env python2' haben; wie die RED-Scripts. Es scheint so, als würden diese Scripts vom BrickV auf den RED kopiert. Ich habe mal einen Kommentar beim Package hinterlegt, damit der Sed-Befehl angepasst wird: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=brickv Vielen Dank für deine Hilfe! Zitieren
photron Geschrieben March 20, 2018 at 08:54 Geschrieben March 20, 2018 at 08:54 Richtig, die Python Scripte unter src/brickv/plugin_system/plugins/red/scripts/ werden auf den RED Brick kopiert und dort ausgeführt, nicht auf dem Rechner auf dem Brick Viewer läuft. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.