Confluence startup fatal exception after crashed server
Asked by Chris Robertson:

Hi, Server crashed over night. this is not production critical but I'm getting this error. Any suggestions? I've tried some fixes ive found on the internet and community but none have worked:

Unable to start up Confluence. Fatal error during startup sequence: confluence.lifecycle.core:mananagedjobs (Start and stop the Managed Scheduled Jobs) - org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: Could not execute query; uncategorized SQLException for SQL \[\]; SQL state \[90031\]; error code \[90031\]; IO Exception: "java.io.IOException: org.h2.message.DbException: IO Exception: ""java.io.IOException: org.h2.jdbc.JdbcSQLException: IO Exception: """"Missing lob entry: 2094683"""" \[90028-176\]"" \[90028-176\]"; "lob: null table: 199 id: 2094683" \[90031-176\]; nested exception is org.h2.jdbc.JdbcSQLException: IO Exception: "java.io.IOException: org.h2.message.DbException: IO Exception: ""java.io.IOException: org.h2.jdbc.JdbcSQLException: IO Exception: """"Missing lob entry: 2094683"""" \[90028-176\]"" \[90028-176\]"; "lob: null table: 199 id: 2094683" \[90031-176\]


Answers:
author: Nic Brough -Adaptavist-
body: That looks like the database has become corrupted.

Your only real option is to restore from a backup. I'd strongly recommend swapping to a proper database as soon as possible as well, as the H2 database is not supported and often fails like this.

comments: author: Chris Robertson
body: Hi Nic,

I'd agree with you. I managed last night to remove any reference to that entry, but that hasn't helped, resulting in a longer error:
> org.apache.velocity.exception.MethodInvocationException: Invocation of method 'isShowSignUp' in class com.atlassian.confluence.user.actions.LoginAction threw exception java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: Could not execute query; uncategorized SQLException for SQL \[\]; SQL state \[90030\]; error code \[90030\]; File corrupted while reading record: "page\[2614\] data leaf overflow parent:2577 next:2636". Possible solution: use the recovery tool; SQL statement: select internalus0_.user_name as x0_0_, internalus0_.lower_user_name as x1_0_ from cwd_user internalus0_ where (internalus0_.directory_id=? )AND(internalus0_.active=? ) order by internalus0_.lower_user_name \[90030-176\]; nested exception is org.h2.jdbc.JdbcSQLException: File corrupted while reading record: "page\[2614\] data leaf overflow parent:2577 next:2636". Possible solution: use the recovery tool; SQL statement: select internalus0_.user_name as x0_0_, internalus0_.lower_user_name as x1_0_ from cwd_user internalus0_ where (internalus0_.directory_id=? )AND(internalus0_.active=? ) order by internalus0_.lower_user_name \[90030-176\] at org.h2.message.DbException.getJdbcSQLException(DbException.java:344) at org.h2.message.DbException.get(DbException.java:178) at org.h2.message.DbException.get(DbException.java:154) at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:242) at org.h2.index.PageDataNode.getRowWithKey(PageDataNode.java:280) at org.h2.index.PageDataNode.getRowWithKey(PageDataNode.java:281) at org.h2.index.PageDataIndex.getRowWithKey(PageDataIndex.java:427) at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:416) at org.h2.table.RegularTable.getRow(RegularTable.java:107) at org.h2.index.PageBtreeIndex.getRow(PageBtreeIndex.java:302) at org.h2.index.PageBtreeCursor.get(PageBtreeCursor.java:46) at org.h2.index.MultiVersionCursor.get(MultiVersionCursor.java:83) at org.h2.index.IndexCursor.get(IndexCursor.java:261) at org.h2.table.TableFilter.getValue(TableFilter.java:898) at org.h2.expression.ExpressionColumn.getValue(ExpressionColumn.java:187) at org.h2.expression.Alias.getValue(Alias.java:37) at org.h2.command.dml.Select.queryFlat(Select.java:540) at org.h2.command.dml.Select.queryWithoutCache(Select.java:646) at org.h2.command.dml.Query.query(Query.java:323) at org.h2.command.dml.Query.query(Query.java:291) at org.h2.command.dml.Query.query(Query.java:37) at org.h2.command.CommandContainer.query(CommandContainer.java:91) at org.h2.command.Command.executeQuery(Command.java:197) at org.h2.server.TcpServerThread.process(TcpServerThread.java:321) at org.h2.server.TcpServerThread.run(TcpServerThread.java:160) at java.lang.Thread.run(Unknown Source) at /login.vm\[line 6, column 28\]  
> at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:337)

I just want to rescue the data from a single space if I can, is this something I can do with the Confluence CLI? I have tried but im getting:

**Client error: Invalid url: localhost:8090/rest/org.swift.confluence.cli/latest/validatelicense**

I have no backups


author: Nic Brough -Adaptavist-
body: To use the CLI, you have to have a working, running Confluence for it to talk to. I don't think you've got one of those, and it does look like you need to go to a backup. Although the recovery tool might be able to get you working again with some data loss.


author: Chris Robertson
body: Thanks again Nic,

I managed to build a recover .sql file using the H2 recovery tool. But Don't know what to do with this .sql file. is there a guide somewhere for the recovery tool you are referring to, I cannot find it.


Tags: error

startup