org.h2.jdbc.JdbcSQLException: General error: "java.lang.NullPointerException" [50000-178]

4.2k Views Asked by At

I have a small 30 MB h2 database file. Driver version is 1.4.178. Everything worked fine but recently the DB stop to work with exception:

org.h2.jdbc.JdbcSQLException: General error: "java.lang.NullPointerException" [50000-178] 
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:344) 
    at org.h2.message.DbException.get(DbException.java:167) 
    at org.h2.message.DbException.convert(DbException.java:294) 
    at org.h2.engine.Database.openDatabase(Database.java:293) 
    at org.h2.engine.Database.<init>(Database.java:256) 
    at org.h2.engine.Engine.openSession(Engine.java:57) 
    at org.h2.engine.Engine.openSession(Engine.java:164) 
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142) 
    at org.h2.engine.Engine.createSession(Engine.java:125) 
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:150) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.NullPointerException 
    at org.h2.mvstore.DataUtils.parseMap(DataUtils.java:630) 
    at org.h2.mvstore.MVStore.openMap(MVStore.java:411) 
    at org.h2.mvstore.db.TransactionStore.<init>(TransactionStore.java:96) 
    at org.h2.mvstore.db.MVTableEngine$Store.<init>(MVTableEngine.java:161) 
    at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:94) 
    at org.h2.engine.Database.getPageStore(Database.java:2355) 
    at org.h2.engine.Database.open(Database.java:659) 
    at org.h2.engine.Database.openDatabase(Database.java:262) 
    ... 7 more 

    at org.h2.engine.SessionRemote.done(SessionRemote.java:610) 
    at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:129) 
    at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:434) 
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:315) 
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107) 
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91) 
    at org.h2.Driver.connect(Driver.java:74) 
    at org.h2.server.web.WebServer.getConnection(WebServer.java:684) 
    at org.h2.server.web.WebApp.test(WebApp.java:896) 
    at org.h2.server.web.WebApp.process(WebApp.java:222) 
    at org.h2.server.web.WebApp.processRequest(WebApp.java:171) 
    at org.h2.server.web.WebThread.process(WebThread.java:138) 
    at org.h2.server.web.WebThread.run(WebThread.java:94) 
    at java.lang.Thread.run(Thread.java:744) 

The problem occurs in my application and using H2 web frontend.

1

There are 1 best solutions below

4
On

It's unclear if you're trying to fix the cause of this NPE or if you're trying to retrieve the content of the database.

I suggest the following:

If the NPE problem still occurs, you'll need to provide more details in this forum.