0
Under review
[2.0.2] Database corruption
Hi,
Following a few days of everything working smoothly, today, everything is unfortunately broken.
Initially, I was able to connect to the admin interface. After entering the admin password, ubooquity seemed to go into a redirection loop.
Some relevant log messages:
20170513 16:25:53 [qtp2898168-6297] ERROR com.ubooquity.data.database.f - Cound not get session token entry for user : UbooquityInternalAdministratorUserName org.h2.jdbc.JdbcSQLException: The database has been closed [90098-193] 20170513 16:25:53 [qtp2898168-6297] INFO com.ubooquity.d.a - Admin cookie token invalid or too old. Access Denied. [ip:192.168.1.113] 20170513 16:25:53 [qtp2898168-3451] ERROR com.ubooquity.data.database.f - Cound not get session token entry for user : UbooquityInternalAdministratorUserName org.h2.jdbc.JdbcSQLException: The database has been closed [90098-193] 20170513 16:26:03 [qtp2898168-6299] ERROR com.ubooquity.data.database.f - Error while creating/updating session in database org.h2.jdbc.JdbcSQLException: The database has been closed [90098-193] 20170513 16:26:03 [qtp2898168-6299] INFO com.ubooquity.d.a - Admin successfully logged in 20170513 16:26:03 [qtp2898168-6302] ERROR com.ubooquity.data.database.f - Cound not get session token entry for user : UbooquityInternalAdministratorUserName org.h2.jdbc.JdbcSQLException: General error: "java.lang.IllegalStateException: File corrupted in chunk 595347, expected page length 4..256, got 1409434955 [1.4.193/6]" [50000-193] 20170513 16:26:03 [qtp2898168-6302] INFO com.ubooquity.d.a - Admin cookie token invalid or too old. Access Denied. [ip:192.168.1.113] 20170513 16:26:03 [qtp2898168-6298] ERROR com.ubooquity.data.database.f - Cound not get session token entry for user : UbooquityInternalAdministratorUserName org.h2.jdbc.JdbcSQLException: General error: "java.lang.IllegalStateException: File corrupted in chunk 595347, expected page length 4..256, got 1409434955 [1.4.193/6]" [50000-193]
[much more of this before the server was shut down]
When trying to restart, the following happens:
20170513 16:28:03 [main] INFO com.ubooquity.Ubooquity - Running with the following parameters - headless: true, libraryport: 2200, adminport: 2202, remoteadmin: true, host: null, debug: false, execdir: /path/to/comics 20170513 16:28:16 [main] ERROR com.ubooquity.data.database.d - Cound not get number of existing tables org.h2.jdbc.JdbcSQLException: General error: "java.lang.IllegalStateException: File corrupted in chunk 595347, expected page length 4..256, got 1409434955 [1.4.193/6]" [50000-193] 20170513 16:28:16 [main] ERROR com.ubooquity.data.database.d - Could not configure collation strength org.h2.jdbc.JdbcSQLException: General error: "java.lang.IllegalStateException: File corrupted in chunk 595347, expected page length 4..256, got 1409434955 [1.4.193/6]" [50000-193] 20170513 16:28:16 [main] ERROR com.ubooquity.data.database.c - Could not create COMIC table org.h2.jdbc.JdbcSQLException: General error: "java.lang.IllegalStateException: File corrupted in chunk 595347, expected page length 4..256, got 1409434955 [1.4.193/6]" [50000-193] 20170513 16:28:16 [main] ERROR com.ubooquity.Ubooquity - Exiting application because of exception org.h2.jdbc.JdbcSQLException: General error: "java.lang.IllegalStateException: File corrupted in chunk 595347, expected page length 4..256, got 1409434955 [1.4.193/6]" [50000-193] 20170513 16:28:16 [main] ERROR com.ubooquity.Ubooquity - Failed to display error dialog java.lang.IllegalStateException: Toolkit not initialized
and that's the end of it. As mentioned in the subject, this is ubooquity 2.0.2 running on ubuntu 16.04.2.
thanks.
Customer support service by UserEcho
Having the same issue here. Had to delete and recreate the database to use it again.
Hi,
As above, I also recreated the database when this happened. Everything has been fine since.
Tom, if you want a copy of the corrupt database, let me know - I kept a copy.
thanks
Thanks for the proposal, but there is nothing I can do against file corruption: this is managed at a level (the database library) that is not run by my code.
As for the root cause, I can only guess the process was killed brutally at some point (power outage perhaps).
No power outages on my end. My servers haven't been turned off in months.
Since my initial comment on this post, I have since had my database become corrupted five or six times. No random power outages to speak of. The machine has been running steadily with only one or two reboots.
To be clear, I had the non-beta version running flawlessly for a year or more on the same hardware with no database issues.
Perhaps I've been a bit luckier. I've had a couple of power outages, but everything has been fine on this end. No other corruption since the initial problem.
I'd say so. This is rather frustrating. I love version 2 but may have to regress back to version 1 if this behavior continues.
As I wrote earlier, the database file is entirely managed by the database library used by Ubooquity (H2, which is a very widely used, very robust library).
Now, between Ubooquity 1.10.1 and 2.0.0, I updated the H2 version from 1.4.187 to 1.4.193.
This should not have caused any issue, but funny side effects that happen only on specific setups are always possible.
So I built two special versions of Ubooquity 2.1.0:
So if you're still interested in using Ubooquity 2.x, you can try these versions in case they work better for you.
Of course, I would be interested in knowing the result of your tests. I don't know if it could be enough to pinpoint the cause of your issue, but you never know...