ich habe seit gestern Abend ein großes Problem. Ich verwende einen Rasberry 3b mit Jessie und Openhab. Lief bis gestern alles Reibungslos. Nach einen Neustart konnte ich nicht mehr auf die Sitemap zugreifen auch ein Zugreifen über die Android App ist nicht mehr möglich. Mal eben schnell in die Log geschaut, dort steht dann folgendes.
2021-06-16 20:00:32.242 [SEVERE] [org.apache.karaf.main.Main] - Could not launch framework
java.lang.NoClassDefFoundError: org/osgi/dto/DTO
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:405)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at org.eclipse.osgi.internal.framework.EquinoxBundle.adapt0(EquinoxBundle.java:784)
at org.eclipse.osgi.internal.framework.EquinoxBundle.adapt(EquinoxBundle.java:731)
at org.eclipse.osgi.launch.Equinox.adapt(Equinox.java:163)
at org.apache.karaf.main.Main.launch(Main.java:264)
at org.apache.karaf.main.Main.main(Main.java:178)
Caused by: java.lang.ClassNotFoundException: org.osgi.dto.DTO
at java.net.URLClassLoader$1.run(URLClassLoader.java:371)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 18 more
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
at java.util.zip.ZipFile.read(Native Method)
at java.util.zip.ZipFile.access$1400(ZipFile.java:60)
at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:734)
at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:434)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
at sun.misc.Resource.getBytes(Resource.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:463)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
... 24 more
Bei google konnte ich dazu nicht viel finden und das was ich gefunden habe hat bissher keine Lösung gebracht. Was kann ich tun damit Openhab wieder läuft. Eine komplette neuinstallation scheidet für mich erstmal aus. Da auf dem Raspberry auch noch andere Sachen laufen dessen Einrichtung sehr lange gedauert haben, das würde ich gerne wenigstens solange umgehen bis ich ein zweitsystem aufgebaut habe.
Der Fehler ist leider zu unspezifisch. Ihm fehlt eine Klasse, aber warum und welche? Und auch die "bad Signature" bringt einen da nicht wirklich weiter.
Mein erster Tipp (eigentlich immer an dieser Stelle) ist ein Fehler im Dateisystem, also im Zweifel eine defekte SD-Karte.
Nun hast Du aber ohnehin ein Problem, denn Jessie... ernsthaft? Bullseye steht in den Startlöchern, Buster ist gefühlt schon ewig stable, Stretch ist demnächst abgekündigt, da hättest Du schon längstens tätig werden sollen (selbst wenn Du nicht auf OH3 umsteigen willst).
Was laufen denn noch für andere Dienste parallel?
(ich habe hier tatsächlich auch noch ein Jessie laufen, mit großen Bauchschmerzen, aber wegen einer Abhängigkeit zu Java 7 hängt diese eine VM zwingend auf Jessie fest, bis ich eine neuere Version finde, die so ein altes Java noch unterstützt.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
Huh... also, ganz ehrlich? Mach das nicht. Es mag ja sein, dass im Mittel die Systemlast ausreicht, aber mindestens openHAB und TVHeadend können kurzfristig den Raspberry (gerade den 3er) voll auslasten. openHAB kann das spielend auch dauerhaft (wenn die Rahmenbedingungen passen).
Pack das besser auf zwei Systeme, das kann der Stabilität nur gut tun.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
bis jetzt lief es eigentlich immer ganz reibungslos. Werde deinen Ratschlag aber gerne befolgen.
Daher habe ich bereits ein Update auf Buster durchgeführt. Um es auf zwei Systeme zu packen benötige ich noch Hardware. Da ich auch vorhabe mein NAS System aufzufrischen macht es vielleicht sinn. Das ich dann vielleicht Openhab mit einen Container auf das neue NAS System instaliere. Mal sehen.
Zum eigentlichen Ursprung meiner Frage kann keiner was sagen? Ich habe auch schon ausprobiert ob eventuell es an den conf Dateien liegt und habe die durch ein Backup ersetzt. Das hat das Problem leider auch nicht gelöst.