Server in the Studio can no longer start

Hello,

My Bonita Studio suddenly got broken. The studio opens without problem but the engine cannot start. Below is the engine log. Any idea what I can do to fix it?

----------------------------------------------

02-Apr-2021 15:24:13.222 SEVERE [localhost-startStop-1] com.bonitasoft.engine.api.internal.servlet.EngineInitializerListenerSP.contextDestroyed Error while unloading the Engine

java.lang.IllegalStateException: javax.naming.NamingException: Unexpected exception resolving reference [Root exception is java.sql.SQLException: Cannot create PoolableConnectionFactory (File corrupted while reading record: null. Possible solution: use the recovery tool [90030-199])]

at org.bonitasoft.engine.home.BonitaHomeServer.getConfigurationService(BonitaHomeServer.java:74)

at org.bonitasoft.engine.home.BonitaHomeServer.getPlatformProperties(BonitaHomeServer.java:91)

at org.bonitasoft.engine.service.impl.ServiceAccessorFactory.loadClassFromPropertyName(ServiceAccessorFactory.java:95)

at org.bonitasoft.engine.service.impl.ServiceAccessorFactory.getServiceAccessors(ServiceAccessorFactory.java:58)

at org.bonitasoft.engine.service.impl.ServiceAccessorFactory.createPlatformInitServiceAccessor(ServiceAccessorFactory.java:80)

at org.bonitasoft.engine.service.impl.ServiceAccessorFactory.createSessionAccessor(ServiceAccessorFactory.java:74)

at org.bonitasoft.engine.EngineInitializer.getSessionAccessor(EngineInitializer.java:86)

at org.bonitasoft.engine.EngineInitializer.unloadEngine(EngineInitializer.java:130)

at com.bonitasoft.engine.api.internal.servlet.EngineInitializerListenerSP.contextDestroyed(EngineInitializerListenerSP.java:35)

at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4735)

at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5399)

at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:187)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)

at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:614)

at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1822)

at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

at java.base/java.lang.Thread.run(Thread.java:834)

Caused by: javax.naming.NamingException: Unexpected exception resolving reference [Root exception is java.sql.SQLException: Cannot create PoolableConnectionFactory (File corrupted while reading record: null. Possible solution: use the recovery tool [90030-199])]

at org.apache.naming.NamingContext.lookup(NamingContext.java:856)

at org.apache.naming.NamingContext.lookup(NamingContext.java:159)

at org.apache.naming.NamingContext.lookup(NamingContext.java:827)

at org.apache.naming.NamingContext.lookup(NamingContext.java:159)

at org.apache.naming.NamingContext.lookup(NamingContext.java:827)

at org.apache.naming.NamingContext.lookup(NamingContext.java:173)

at org.apache.naming.SelectorContext.lookup(SelectorContext.java:163)

at java.naming/javax.naming.InitialContext.lookup(InitialContext.java:409)

at org.bonitasoft.platform.setup.PlatformSetupAccessor.lookupDataSource(PlatformSetupAccessor.java:53)

at org.bonitasoft.platform.setup.PlatformSetupAccessor.getConfigurationService(PlatformSetupAccessor.java:59)

at org.bonitasoft.engine.home.BonitaHomeServer.getConfigurationService(BonitaHomeServer.java:72)

... 22 more

Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (File corrupted while reading record: null. Possible solution: use the recovery tool [90030-199])

at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:655)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:533)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getLogWriter(BasicDataSource.java:1047)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:568)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstance(BasicDataSourceFactory.java:240)

at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:96)

at java.naming/javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:330)

at org.apache.naming.NamingContext.lookup(NamingContext.java:839)

... 32 more

Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: 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.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:55)

at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:357)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:102)

at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:651)

... 39 more

Caused by: java.lang.IllegalStateException: File corrupted in chunk 6946, expected page length 4..1024, got 1701733477 [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.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)

... 57 more

02-Apr-2021 15:24:14.301 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [bonita] appears to have started a thread named [H2 TCP Server (tcp://localhost:49916)] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.base@11.0.8/java.net.PlainSocketImpl.socketAccept(Native Method)

 java.base@11.0.8/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:458)

 java.base@11.0.8/java.net.ServerSocket.implAccept(ServerSocket.java:551)

 java.base@11.0.8/java.net.ServerSocket.accept(ServerSocket.java:519)

 org.h2.server.TcpServer.listen(TcpServer.java:248)

 org.h2.tools.Server.run(Server.java:610)

 java.base@11.0.8/java.lang.Thread.run(Thread.java:834)

02-Apr-2021 15:24:14.315 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [bonita] appears to have started a thread named [H2 TCP Server (tcp://localhost:49918)] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.base@11.0.8/java.net.PlainSocketImpl.socketAccept(Native Method)

 java.base@11.0.8/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:458)

 java.base@11.0.8/java.net.ServerSocket.implAccept(ServerSocket.java:551)

 java.base@11.0.8/java.net.ServerSocket.accept(ServerSocket.java:519)

 org.h2.server.TcpServer.listen(TcpServer.java:248)

 org.h2.tools.Server.run(Server.java:610)

 java.base@11.0.8/java.lang.Thread.run(Thread.java:834)

02-Apr-2021 15:24:14.323 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [bonita] appears to have started a thread named [H2 TCP Server (tcp://localhost:49920)] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.base@11.0.8/java.net.PlainSocketImpl.socketAccept(Native Method)

 java.base@11.0.8/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:458)

 java.base@11.0.8/java.net.ServerSocket.implAccept(ServerSocket.java:551)

 java.base@11.0.8/java.net.ServerSocket.accept(ServerSocket.java:519)

 org.h2.server.TcpServer.listen(TcpServer.java:248)

 org.h2.tools.Server.run(Server.java:610)

 java.base@11.0.8/java.lang.Thread.run(Thread.java:834)

02-Apr-2021 15:24:14.325 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [bonita] appears to have started a thread named [H2 TCP Server (tcp://localhost:49922)] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.base@11.0.8/java.net.PlainSocketImpl.socketAccept(Native Method)

 java.base@11.0.8/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:458)

 java.base@11.0.8/java.net.ServerSocket.implAccept(ServerSocket.java:551)

 java.base@11.0.8/java.net.ServerSocket.accept(ServerSocket.java:519)

 org.h2.server.TcpServer.listen(TcpServer.java:248)

 org.h2.tools.Server.run(Server.java:610)

 java.base@11.0.8/java.lang.Thread.run(Thread.java:834)

02-Apr-2021 15:24:14.331 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [bonita] appears to have started a thread named [H2 TCP Server (tcp://localhost:49924)] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.base@11.0.8/java.net.PlainSocketImpl.socketAccept(Native Method)

 java.base@11.0.8/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:458)

 java.base@11.0.8/java.net.ServerSocket.implAccept(ServerSocket.java:551)

 java.base@11.0.8/java.net.ServerSocket.accept(ServerSocket.java:519)

 org.h2.server.TcpServer.listen(TcpServer.java:248)

 org.h2.tools.Server.run(Server.java:610)

 java.base@11.0.8/java.lang.Thread.run(Thread.java:834)

02-Apr-2021 15:24:14.378 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of deployment descriptor [/Applications/BonitaStudioSubscription-2021.1-0218.app/Contents/Eclipse/workspace/tomcat/server/conf/Catalina/localhost/bonita.xml] has finished in [4,423] ms

02-Apr-2021 15:24:14.386 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/Applications/BonitaStudioSubscription-2021.1-0218.app/Contents/Eclipse/workspace/tomcat/server/webapps/studio-watchdog-7.12.2.war]

02-Apr-2021 15:24:14.625 WARNING [Thread-5] org.bonitasoft.console.server.listener.StudioWatchdogListener$1.run Bonita Studio watchdog process has started on port 6969 with a delay set to 20000 ms

02-Apr-2021 15:24:14.632 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/Applications/BonitaStudioSubscription-2021.1-0218.app/Contents/Eclipse/workspace/tomcat/server/webapps/studio-watchdog-7.12.2.war] has finished in [246] ms

02-Apr-2021 15:24:14.648 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-45223"]

02-Apr-2021 15:24:14.685 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 5177 ms

Hi,

 

Your H2 database is corrupted, Studio allows to clean this engine database from Preferences--> Database

Check it and restart the studio

Yes, that helped resolve the issue, thanks