Mediathekview start nicht mehr
-
Hallo zusammen,
beim Versuch MedathekView 13.5.0 zu starten erhalte ich folgende Fehlermeldung:
com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Datei fehlerhaft beim Lesen des Datensatzes: null. Mögliche Lösung: Recovery Werkzeug verwenden
File corrupted while reading record: null. Possible solution: use the recovery tool [90030-199]
at com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:597)
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:576)
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81)
at mediathek.daten.PooledDatabaseConnection.setupDataSource(PooledDatabaseConnection.java:66)
at mediathek.daten.PooledDatabaseConnection.<init>(PooledDatabaseConnection.java:19)
at mediathek.daten.PooledDatabaseConnection.getInstance(PooledDatabaseConnection.java:24)
at mediathek.Main.setupDatabase(Main.java:393)
at mediathek.Main.main(Main.java:290)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
at com.install4j.runtime.launcher.WinLauncher.main(WinLauncher.java:25)
Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Datei fehlerhaft beim Lesen des Datensatzes: null. Mögliche Lösung: Recovery Werkzeug verwenden
File corrupted while reading record: null. Possible solution: use the recovery tool [90030-199]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:617)
at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
at org.h2.message.DbException.get(DbException.java:194)
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:205)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:173)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:95)
at org.h2.engine.Database.getPageStore(Database.java:2739)
at org.h2.engine.Database.open(Database.java:769)
at org.h2.engine.Database.openDatabase(Database.java:319)
at org.h2.engine.Database.<init>(Database.java:313)
at org.h2.engine.Engine.openSession(Engine.java:69)
at org.h2.engine.Engine.openSession(Engine.java:201)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:178)
at org.h2.engine.Engine.createSession(Engine.java:161)
at org.h2.engine.Engine.createSession(Engine.java:31)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:336)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:169)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:148)
at org.h2.Driver.connect(Driver.java:69)
at org.h2.jdbcx.JdbcDataSource.getJdbcConnection(JdbcDataSource.java:189)
at org.h2.jdbcx.JdbcDataSource.getConnection(JdbcDataSource.java:160)
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:353)
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473)
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:562)
… 14 more
Caused by: java.lang.IllegalStateException: File corrupted in chunk 5197, expected page length 4…4096, got 543842592 [1.4.199/6]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:883)
at org.h2.mvstore.MVStore.readBufferForPage(MVStore.java:1055)
at org.h2.mvstore.MVStore.readPage(MVStore.java:2186)
at org.h2.mvstore.MVMap.readPage(MVMap.java:554)
at org.h2.mvstore.Page$NonLeaf.getChildPage(Page.java:1086)
at org.h2.mvstore.Page.get(Page.java:221)
at org.h2.mvstore.MVMap.get(MVMap.java:402)
at org.h2.mvstore.MVMap.get(MVMap.java:389)
at org.h2.mvstore.MVStore.getChunk(MVStore.java:1088)
at org.h2.mvstore.MVStore.readBufferForPage(MVStore.java:1025)
at org.h2.mvstore.MVStore.readPage(MVStore.java:2186)
at org.h2.mvstore.MVMap.readPage(MVMap.java:554)
at org.h2.mvstore.Page$NonLeaf.getChildPage(Page.java:1086)
at org.h2.mvstore.Cursor.hasNext(Cursor.java:53)
at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:793)
at org.h2.mvstore.MVStore.<init>(MVStore.java:401)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:3343)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:162)
… 34 more
Windows-Version: 1803
Java-Version:
JDK: 12.0.2
JRE: 1.8.0 221De- und Neuinstallation von Mediathekview 13.5.0 hat nichts gebracht.
Für die Hilfe bedanke ich mich im Voraus.
-
Von dem Stacktrace halte einige Zeile für mehr interessant, z.B. diese hier:
Caused by: java.lang.IllegalStateException: File corrupted in chunk 5197, expected page length 4…4096, got 543842592 [1.4.199/6]
Suche im Internet führt einen z.B. zu diesem Posting auf github: https://github.com/h2database/h2database/issues/1605
dort steht
With h2 version 1.4.197, after some time of use the h2 database file got corrupted and could not be opened anymore.
Der Versuch das zu übertragen wäre… möglicherweise auch bei Dir vorhandene korrumpierte Dateien aus dem Weg zu räumen.
Dazu-
benenne mal das .mediathek3 Verzeichnis in Deinem Profil um nach “.mediathek3_alt” (Umbenennen, NICHT LÖSCHEN! sh. unten 4) und 6))
1 Plan b) Falls das nicht klappt, beende alle Prozesse, die noch auf Dateien in diesem Verzeichnis zugreifen.
1 Plan c) Zur Not Ab- und anmelden an Windows oder Neu starten. -
Dann starte MV nochmal. Es wird ein neues MV Profil aufgebaut.
Falls MV nun problemlos startet -
MV beenden
-
aus dem Verzeichnis c die beiden Dateien settings.xml und mediathek.xml in das neu erstellte Verzeichnis .mediathek3 kopieren. - dadurch werden die alten Einstellungen (Abos, Blacklist, Sets, etc…) wiederhergestellt
Falls MV immer noch nicht startet… -
das neue Verzeichnis .mediathek3 löschen
-
Verzeichnis .mediathek3_alt umbenennen nach .mediathek3
-
-
@rubikon er kann auch einfach die Datenbank Datei mit der Endung .db löschen. Das hat denselben Effekt und das Programm sollte mit den vorhandenen Einstellungen starten.
Leider wurde nicht angegeben wieviel RAM dem Programm zugewiesen wurde da die Datenbankfunktionalität nur genutzt wird wenn viel zu wenig RAM zugewiesen wurde
-
So gesehen könnte man doch aber auch den Spieß umdrehen und Speicher erzwingen.
CMD cd /path/to/MediathekView jre/bin/java -Xmx1g -jar MediathekView.jar
oder die .vmoptions Datei in /path/to/MediathekView
anpassen, Zeile eine -Xmx1g einfügen, oder was auch immer der Rechner -weiß nicht, wie viel RAM da verschraubt ist- verkraften könnte -
@rubikon Die normalen Startskripte die wir mitliefern (meines Wissens nach auch unter Windows) weisen MV 1GB zu. Allerdings gibt es genug user mit schwachen System oder anderen Gründen die das reduzieren. Wird es zu weit reduziert muss das Programm eine DB nutzen um ansatzweise arbeiten zu können. Und wenn diese (aus welchen Gründen auch immer) beschädigt wird hilft Programm beenden und Datenbank-Dateien in .mediathek3 zu löschen.