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 221

    De- 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, zB 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 zB 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 vohandene korrumpierte Dateien aus dem Weg zu räumen.
    Dazu

    1. benenne mal das .mediathek3 Verzeichnis in Deinem Proil 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.

    2. Dann starte MV nochmal. Es wird ein neues MV Profil aufgebaut.
      Falls MV nun problemlos startet

    3. MV beenden

    4. 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…

    5. das neue Verzeichnis .mediathek3 löschen

    6. Verzeichnis .mediathek3_alt umbenennen nach .mediathek3


  • Entwickler

    @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



  • @DerReisende77 @mapr82

    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ß nach nicht, wie viel RAM da verschraubt ist, verkraften könnte


  • Entwickler

    @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.


Log in to reply
 

71
Online

3.6k
Users

2.9k
Topics

18.7k
Posts