Confluence startup fatal exception after crashed server

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]

1 answer

0 vote

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.

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

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.

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.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published yesterday in Jira Software

How large do you think Jira Software can grow?

Hi Atlassian Community! My name is Shana, and I’m on the Jira Software team. One of the many reasons this Community exists is to connect you to others on similar product journeys or with comparabl...

236 views 4 9
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you