MediathekView auf Raspberry Pi stürzt sofort nach dem Start ab.
-
Mein kleiner MediathekView-Server läuft auf einem Raspberry Pi 4B unter Bullseye 64-bit. Vor einer Woche habe ich nach mehreren Tagen Pause wieder das offene MediathekView Programm verwendet, wie so oft wenn es tagelang nicht verwendet wurde, hat es auf das GUI nicht mehr reagiert, konnte kein Menü öffnen, hat das Fenster nicht mehr geschlossen. Ich mußte es mit ‘killall -9 java’ beenden, wie relativ oft, wenn das Programm Tagelang offen bleibt.
Dann habe ich auch noch gleich mit apt die letzten updates installiert, kernel, aber nichts, was meine Aufmerksamkeit erregt hätte.
Nach dem Neustart öffnet MediathekView kurz mit dem Start-Schirm, dann beendet es sofort wieder. Das Logfile hat mir auch nicht wirklich weiter geholfen, Ich habe nie Java programmiert. (Ich bin ein wenig hilflos, weil ich den Server gerade aus Java über VPN fernsteuere…)Das Log:
Das selbe Log mit der selben Fehlermeldung wird auch ausgeworfen, wenn ich den .mediathekview Ordner rename, und einen neuen anlegen lasse.$ tail mediathekview.log INFO 2023-04-08 10:16:51,734 [main] mediathek.Main (Main.java:249) - Configuring for non-portable mode INFO 2023-04-08 10:16:52,934 [main] mediathek.Main (Main.java:195) - Programmstart: 2023-04-08T10:16:52.923698359 INFO 2023-04-08 10:16:53,207 [main] mediathek.Main (Main.java:196) - Version: 13.9.1 INFO 2023-04-08 10:16:53,208 [main] mediathek.Main (Main.java:198) - === Java Information === INFO 2023-04-08 10:16:53,209 [main] mediathek.Main (Main.java:200) - Vendor: BellSoft INFO 2023-04-08 10:16:53,211 [main] mediathek.Main (Main.java:201) - VMname: OpenJDK 32-Bit Server VM INFO 2023-04-08 10:16:53,212 [main] mediathek.Main (Main.java:202) - Version: 17.0.2 INFO 2023-04-08 10:16:53,213 [main] mediathek.Main (Main.java:203) - Runtime Version: 17.0.2+9-LTS INFO 2023-04-08 10:16:53,214 [main] mediathek.Main (Main.java:205) - Maximum Memory: 1280 MB INFO 2023-04-08 10:16:53,215 [main] mediathek.Main (Main.java:207) - Operating System: Linux INFO 2023-04-08 10:16:53,216 [main] mediathek.Main (Main.java:208) - OS Version: 6.1.21-v8+ INFO 2023-04-08 10:16:53,217 [main] mediathek.Main (Main.java:209) - OS Arch: arm INFO 2023-04-08 10:16:53,221 [main] mediathek.Main (Main.java:213) - OS Dark Mode detection not supported INFO 2023-04-08 10:16:53,222 [main] mediathek.Main (Main.java:214) - OS Available Processors: 4 DEBUG 2023-04-08 10:16:53,223 [main] mediathek.Main (Main.java:98) - === JavaVM Parameter === DEBUG 2023-04-08 10:16:53,224 [main] mediathek.Main (Main.java:102) - -Xmx1280M DEBUG 2023-04-08 10:16:53,225 [main] mediathek.Main (Main.java:102) - -XX:+UseG1GC DEBUG 2023-04-08 10:16:53,226 [main] mediathek.Main (Main.java:102) - -XX:+UseStringDeduplication DEBUG 2023-04-08 10:16:53,227 [main] mediathek.Main (Main.java:102) - -Dfile.encoding=UTF-8 DEBUG 2023-04-08 10:16:53,228 [main] mediathek.Main (Main.java:102) - -DexternalUpdateCheck DEBUG 2023-04-08 10:16:53,229 [main] mediathek.Main (Main.java:102) - --add-exports=javafx.controls/com.sun.javafx.scene.control.inputmap=ALL-UNNAMED DEBUG 2023-04-08 10:16:53,230 [main] mediathek.Main (Main.java:102) - --add-exports=javafx.base/com.sun.javafx.event=ALL-UNNAMED DEBUG 2023-04-08 10:16:53,230 [main] mediathek.Main (Main.java:102) - --add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED DEBUG 2023-04-08 10:16:53,231 [main] mediathek.Main (Main.java:102) - --add-exports=javafx.graphics/com.sun.javafx.scene.traversal=ALL-UNNAMED DEBUG 2023-04-08 10:16:53,232 [main] mediathek.Main (Main.java:102) - --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED DEBUG 2023-04-08 10:16:53,233 [main] mediathek.Main (Main.java:104) - ======================== INFO 2023-04-08 10:16:53,257 [main] mediathek.Main (Main.java:477) - Verzeichnis Einstellungen: /home/pi/.mediathek3 DEBUG 2023-04-08 10:16:57,040 [main] config.MVConfig (MVConfig.java:37) - User-Agent: Mozilla/5.0 (X11; CrOS armv7l 13597.84.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.105 Safari/537.36 INFO 2023-04-08 10:16:57,043 [main] config.Daten (Daten.java:188) - Konfig wurde gelesen! INFO 2023-04-08 10:16:58,265 [main] mediathek.Main (Main.java:403) - No custom font size found. ERROR 2023-04-08 10:17:02,815 [AWT-EventQueue-0] history.SeenHistoryController (SeenHistoryController.kt:287) - ctor java.sql.SQLException: Error opening connection at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:244) ~[MediathekView.jar:?] at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:61) ~[MediathekView.jar:?] at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:28) ~[MediathekView.jar:?] at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:21) ~[MediathekView.jar:?] at org.sqlite.JDBC.createConnection(JDBC.java:115) ~[MediathekView.jar:?] at org.sqlite.SQLiteDataSource.getConnection(SQLiteDataSource.java:410) ~[MediathekView.jar:?] at org.sqlite.SQLiteDataSource.getConnection(SQLiteDataSource.java:398) ~[MediathekView.jar:?] at mediathek.controller.history.SeenHistoryController.<init>(SeenHistoryController.kt:277) ~[MediathekView.jar:?] at mediathek.gui.tabs.tab_film.GuiFilme.<init>(GuiFilme.java:100) ~[MediathekView.jar:?] at mediathek.mainwindow.MediathekGui.createTabFilme(MediathekGui.java:660) ~[MediathekView.jar:?] at mediathek.mainwindow.MediathekGui.initTabs(MediathekGui.java:675) ~[MediathekView.jar:?] at mediathek.mainwindow.MediathekGui.<init>(MediathekGui.java:188) ~[MediathekView.jar:?] at mediathek.x11.MediathekGuiX11.<init>(MediathekGuiX11.java:20) ~[MediathekView.jar:?] at mediathek.Main.getPlatformWindow(Main.java:560) ~[MediathekView.jar:?] at mediathek.Main.lambda$startGuiMode$3(Main.java:534) ~[MediathekView.jar:?] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) ~[?:?] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) ~[?:?] at java.awt.EventQueue$4.run(EventQueue.java:722) ~[?:?] at java.awt.EventQueue$4.run(EventQueue.java:716) ~[?:?] at java.security.AccessController.doPrivileged(AccessController.java:399) ~[?:?] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) ~[?:?] at java.awt.EventQueue.dispatchEvent(EventQueue.java:741) ~[?:?] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?] at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?] Caused by: java.lang.Exception: No native library found for os.name=Linux, os.arch=aarch64, paths=[/org/sqlite/native/Linux/aarch64:/usr/java/packages/lib:/lib:/usr/lib] at org.sqlite.a.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:389) ~[MediathekView.jar:?] at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:68) ~[MediathekView.jar:?] at org.sqlite.core.NativeDB.load(NativeDB.java:63) ~[MediathekView.jar:?] at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:240) ~[MediathekView.jar:?] ... 27 more ]
Mich wundert die Zeile:
Caused by: java.lang.Exception: No native library found for os.name=Linux, os.arch=aarch64, paths=[/org/sqlite/native/Linux/aarch64:/usr/java/packages/lib:/lib:/usr/lib]
oder bin ich auf der falschen Fährte?
Mein Versuch Mediathekview neu zu installieren ist auch gescheitert:
$ sudo apt install --reinstall ./MediathekView-latest-linux-armhf.deb Paketlisten werden gelesen… Fertig Abhängigkeitsbaum wird aufgebaut… Fertig Statusinformationen werden eingelesen… Fertig Hinweis: »mediathekview« wird an Stelle von »./MediathekView-latest-linux-armhf.deb« gewählt. 0 aktualisiert, 0 neu installiert, 1 erneut installiert, 0 zu entfernen und 0 nicht aktualisiert. Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt. Holen:1 /opt/MediathekView-latest-linux-armhf.deb mediathekview armhf 13.9.1 [117 MB] (Lese Datenbank ... 98208 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Entpacken von .../MediathekView-latest-linux-armhf.deb ... Entpacken von mediathekview (13.9.1) über (13.9.1) ... mediathekview (13.9.1) wird eingerichtet ... W: Repository is broken: mediathekview:armhf (= 13.9.1) has no Size information
Was kann ich noch reinstallieren? Nachbessern?
War der Ausfall und das Update eine zufällige Koinzidenz?
Neu installieren kann ich erst, wenn ich wieder in Europa bin.Danke, Marcus
-
Nachdem ich ein Jahr lang keine Antwort bekommen habe, habe ich nach mehrmaliger, langer Recherche und auch mit Glück selbst eine Lösung gefunden.
Auf meine Anfrage hin in diesem Forum hat auf gut Wienerisch “niemand auch nur mit den Ohren gewackelt” und ich habe selbst zig Stunden lang gesucht aber nicht gefunden.
Mein Glück: bei Kunden verweigerten zum selben Zeitpunkt plötzlich andere Java-Installationen. Koinzidenz: hochwahrscheinlich. Die Therapie: Volltreffer.Die Erklärung:
Der Raspberry Pi mit Bullseye bekam im März 2023 ein Update, bei dem der Kernel des Raspberry Pi 4b / 400 (und nur des Raspberry Pi 4) standardmäßig auf 64-bit umgeschaltet wurde - das Betriebssystem blieb natürlich 32-bit. Aber: einige Java Komponenten und Datenbanken starteten daraufhin nicht mehr. Dann blieb das gesamte Programm hängen oder beendete sich.Die Lösung:
Rechner: Raspberry Pi 4B / 400 (egal ob 4 oder 8 GB)
Raspberry Pi OS: Debian 11 Bullseye, 32-bit
MediathekView: 13.9.1
https://mediathekview.de/download/ - ARM hf / Raspberry Pi
https://download.mediathekview.de/stabil/MediathekView-latest-linux-armhf.debMan kann den Kernel am Pi 4 wieder auf 32-bit zurücksetzen.
Dazu muß die Start-Konfiguration geändert und am Schluß des bestehenden Textes eine Zeile angehängt werden:
sudo nano /boot/config.txt
# ... bestehende Konfiguration ...
arm_64bit=0
speichern: ctl-O Return
beenden: ctl-X
neu starten, über das Menü oder:
reboot
Jetzt (Status vom 10. April 2024) kann man den Raspberry Pi 4b auch wieder problemlos aktualisieren und Mediathekview 13 funktioniert weiterhin.
Allen Betroffenen, viel Glück bei der Reparatur und wieder Freude an MediathekView.
Marcus
-
Technisches:
Meine erste Angabe “Raspberry Pi 4B unter Bullseye 64-bit” wäre schon ein Hinweis gewesen.
Ich hatte 32-bit Bullseye installiert, schließlich sind “armhf”-Programme, wie MediathekView 13 ausschließlich 32-bit OS fähig.
Meine (irreführende) Abfrage hat damals 64-bit angezeigt - aber das war nur derkernel,
nicht das Operating System. Und der 64-bit kernel war das Problem.Hintergrund:
Moderne 64-Bitkernel
sind mit 64-bit und mit 32-bit Programmen kompatibel (wenn die zugehörigen Bibliotheken installiert sind).
Moderne 32-bit Operation Systeme, die auch nur 32-bit Programme unterstützen, können aber einen 32-bit oder einen 64-bitkernel
verwenden. Das sollte für alle Programme keinen Unterschied machen - macht es leider manchmal.Mit dem oft verwendeten Befehl
"uname -m"
erfährt man die 32-bit oder 64-bit Fähigkeiten deskernels,
nicht des Betriebssystemes, des Befehlssatzes, des Paketsystemes und der Libraries!armv7l
= 32-bit (am Raspberry Pi 4, andere Modelle liefern andere arm… Ergebnisse)
aarch64
= 64-bit32-bit Bullseye kann auch einen 64-bit fähigen kernel verwenden und zurückmelden:
Kernel:
uname -m
armv7l
= 32-bit kernel am Pi 4
aarch64
= 64-bit kernelOS, installiertes Paketsystem:
dpkg --print-architecture
armhf
= 32-bit Raspberry Pi OS Bullseye am Pi 4Zusammenfassung:
Wie teste ich, ob der kernel wieder auf 32-bit zurückgestellt wurde:
uname -m
armv7l
-
Ich denke du hast einfach eine etwas exotisches Setup und es gibt leider nicht viel Leute die dann etwas brauchbares beizutragen haben. Die meisten hier sind halt MS oder Mac-User.
Auch wenn ich seit 27 Jahren Debian-Nutzer bin und einen Raspi besitze, läuft darauf kein Raspbian. Ist schon auch installiert für Notfälle, aber ist ein 3B und der ist kein wirklicher Spass von der Performance her. Wenn ich zurückdenke wie MV schon auf meinem alten PC mit nur 4GB RAM geächzt hat habe ich MV auf dem Pi gar nicht erst ausprobiert. Da läuft ein Libreelec Kodi und höchsten mal das MV Addon.
Aber gut das du dir dann doch selber helfen konntest. -
@MarcusK Ich kenne keinen Nutzer mehr der MV unter RPi betreibt. Ich selbst habe meinen RPi durch einen leistungsfähigeren Intel Rechner ersetzt da mich Raspbian regelmäßig in den Wahnsinn getrieben hat und auch die HW teils eklatante Performanceprobleme aufwies. Somit ist hier kein Support möglich wenn es andere User nicht machen.
Ich betreibe MV aber erfolgreich in einer Ubuntu 22.04 aarch64 Emulation - kompiliere es jedoch selbst und installiere die passende JVM manuell. Damit läuft MV problemlos.