File corrupted while reading record

Starting today I’m getting exceptions during cargo run:
java.sql.SQLException: Cannot create PoolableConnectionFactory (File corrupted while reading record: null. Possible solution: use the recovery tool [90030-206])
[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:653)
[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:532)
[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getLogWriter(BasicDataSource.java:1057)
[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:308)
[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstance(BasicDataSourceFactory.java:399)
[INFO] [talledLocalContainer] at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:96)
[INFO] [talledLocalContainer] at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:331)
[INFO] [talledLocalContainer] at org.apache.naming.NamingContext.lookup(NamingContext.java:864)
[INFO] [talledLocalContainer] at org.apache.naming.NamingContext.lookup(NamingContext.java:158)
[INFO] [talledLocalContainer] at org.apache.naming.NamingContext.lookup(NamingContext.java:850)
[INFO] [talledLocalContainer] at org.apache.naming.NamingContext.lookup(NamingContext.java:172)
[INFO] [talledLocalContainer] at org.apache.catalina.core.NamingContextListener.addResource(NamingContextListener.java:1013)
[INFO] [talledLocalContainer] at org.apache.catalina.core.NamingContextListener.createNamingContext(NamingContextListener.java:552)
[INFO] [talledLocalContainer] at org.apache.catalina.core.NamingContextListener.lifecycleEvent(NamingContextListener.java:245)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889)
[INFO] [talledLocalContainer] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[INFO] [talledLocalContainer] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[INFO] [talledLocalContainer] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
[INFO] [talledLocalContainer] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:583)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
[INFO] [talledLocalContainer] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[INFO] [talledLocalContainer] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
[INFO] [talledLocalContainer] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
[INFO] [talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO] [talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[INFO] [talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO] [talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:498)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
[INFO] [talledLocalContainer] Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: File corrupted while reading record: null. Possible solution: use the recovery tool [90030-206]
[INFO] [talledLocalContainer] at org.h2.message.DbException.getJdbcSQLException(DbException.java:697)
[INFO] [talledLocalContainer] at org.h2.message.DbException.getJdbcSQLException(DbException.java:496)
[INFO] [talledLocalContainer] at org.h2.message.DbException.get(DbException.java:216)
[INFO] [talledLocalContainer] at org.h2.mvstore.db.Store.convertMVStoreException(Store.java:159)
[INFO] [talledLocalContainer] at org.h2.mvstore.db.Store.(Store.java:140)
[INFO] [talledLocalContainer] at org.h2.engine.Database.(Database.java:324)
[INFO] [talledLocalContainer] at org.h2.engine.Engine.openSession(Engine.java:92)
[INFO] [talledLocalContainer] at org.h2.engine.Engine.openSession(Engine.java:222)
[INFO] [talledLocalContainer] at org.h2.engine.Engine.createSession(Engine.java:201)
[INFO] [talledLocalContainer] at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338)
[INFO] [talledLocalContainer] at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:117)
[INFO] [talledLocalContainer] at org.h2.Driver.connect(Driver.java:59)
[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:52)
[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:415)
[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:111)
[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:649)

It looks like my repository is corrupted. Has anybody an idea what to do?

that looks like your local environment…(based on the fact you are using H2 database)…
just run mvn clean and restart your cargo instance.

Hi Machak,

Thanks for your suggestion. Unfortunately, it did not solve the problem. This is the first part of the stack trace:

[INFO] [talledLocalContainer] Tomcat 9.x starting…

[INFO] [stalledLocalDeployer] Deploying [C:\Users\Ad\IdeaProjects\hippo-team\issc-hippo-ulhippo/cms/target/cms] to [C:\Users\Ad\IdeaProjects\hippo-team\issc-hippo-ulhippo\target/tomcat9x\webapps]…

[INFO] [stalledLocalDeployer] Deploying WAR by creating Tomcat context XML file in [C:\Users\Ad\IdeaProjects\hippo-team\issc-hippo-ulhippo\target\tomcat9x\conf\Catalina\localhost]…

[INFO] [talledLocalContainer] Listening for transport dt_socket at address: 8000

[WARNING] [talledLocalContainer] 02-Jun-2022 09:04:12.899 WARNING [main] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match [Server/Service/Connector] failed to set property [emptySessionPath] to [false]

[INFO] [talledLocalContainer] 02-Jun-2022 09:04:12.938 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [C:\Program Files\Java\jdk1.8.0_321\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Eclipse Adoptium\jdk-8.0.312.7-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\PuTTY;C:\Program Files\Git\cmd;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\WebDrivers;C:\Program Files\dotnet;C:\Program Files\nodejs;C:\Program Files (x86)\Yarn\bin;C:\Users\Ad\AppData\Local\Microsoft\WindowsApps;C:\Program Files\apache-maven-3.8.4\bin;C:\Users\Ad\AppData\Roaming\npm;C:\Users\Ad\AppData\Local\Yarn\bin;.]

[INFO] [talledLocalContainer] 02-Jun-2022 09:04:13.138 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“http-nio-8080”]

[INFO] [talledLocalContainer] 02-Jun-2022 09:04:13.153 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [336] milliseconds

[INFO] [talledLocalContainer] 02-Jun-2022 09:04:13.181 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]

[INFO] [talledLocalContainer] 02-Jun-2022 09:04:13.181 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.54]

[INFO] [talledLocalContainer] 02-Jun-2022 09:04:13.187 INFO [main] org.apache.catalina.startup.HostConfig.deployDescriptor Deploying deployment descriptor [C:\Users\Ad\IdeaProjects\hippo-team\issc-hippo-ulhippo\target\tomcat9x\conf\Catalina\localhost\site.xml]

[WARNING] [talledLocalContainer] 02-Jun-2022 09:04:19.261 WARNING [main] org.apache.naming.NamingContext.lookup Unexpected exception resolving reference

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

[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:653)

[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:532)

[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getLogWriter(BasicDataSource.java:1057)

[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:308)

[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstance(BasicDataSourceFactory.java:399)

[INFO] [talledLocalContainer] at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:96)

[INFO] [talledLocalContainer] at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:331)

[INFO] [talledLocalContainer] at org.apache.naming.NamingContext.lookup(NamingContext.java:864)

[INFO] [talledLocalContainer] at org.apache.naming.NamingContext.lookup(NamingContext.java:158)

[INFO] [talledLocalContainer] at org.apache.naming.NamingContext.lookup(NamingContext.java:850)

[INFO] [talledLocalContainer] at org.apache.naming.NamingContext.lookup(NamingContext.java:172)

[INFO] [talledLocalContainer] at org.apache.catalina.core.NamingContextListener.addResource(NamingContextListener.java:1013)

[INFO] [talledLocalContainer] at org.apache.catalina.core.NamingContextListener.createNamingContext(NamingContextListener.java:552)

[INFO] [talledLocalContainer] at org.apache.catalina.core.NamingContextListener.lifecycleEvent(NamingContextListener.java:245)

[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)

[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135)

[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)

[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)

[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)

[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690)

[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889)

[INFO] [talledLocalContainer] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

[INFO] [talledLocalContainer] at java.util.concurrent.FutureTask.run(FutureTask.java:266)

[INFO] [talledLocalContainer] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

[INFO] [talledLocalContainer] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)

[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:583)

[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)

[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)

[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)

[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)

[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)

[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)

[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)

[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)

[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)

[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)

[INFO] [talledLocalContainer] at java.util.concurrent.FutureTask.run(FutureTask.java:266)

[INFO] [talledLocalContainer] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

[INFO] [talledLocalContainer] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)

[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)

[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)

[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)

[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)

[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

[INFO] [talledLocalContainer] at org.apache.catalina.startup.Catalina.start(Catalina.java:772)

[INFO] [talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

[INFO] [talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

[INFO] [talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

[INFO] [talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:498)

[INFO] [talledLocalContainer] at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)

[INFO] [talledLocalContainer] at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

[INFO] [talledLocalContainer] Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: File corrupted while reading record: null. Possible solution: use the recovery tool [90030-206]

[INFO] [talledLocalContainer] at org.h2.message.DbException.getJdbcSQLException(DbException.java:697)

[INFO] [talledLocalContainer] at org.h2.message.DbException.getJdbcSQLException(DbException.java:496)

[INFO] [talledLocalContainer] at org.h2.message.DbException.get(DbException.java:216)

[INFO] [talledLocalContainer] at org.h2.mvstore.db.Store.convertMVStoreException(Store.java:159)

[INFO] [talledLocalContainer] at org.h2.mvstore.db.Store.(Store.java:140)

[INFO] [talledLocalContainer] at org.h2.engine.Database.(Database.java:324)

[INFO] [talledLocalContainer] at org.h2.engine.Engine.openSession(Engine.java:92)

[INFO] [talledLocalContainer] at org.h2.engine.Engine.openSession(Engine.java:222)

[INFO] [talledLocalContainer] at org.h2.engine.Engine.createSession(Engine.java:201)

[INFO] [talledLocalContainer] at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338)

[INFO] [talledLocalContainer] at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:117)

[INFO] [talledLocalContainer] at org.h2.Driver.connect(Driver.java:59)

[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:52)

[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:415)

[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:111)

[INFO] [talledLocalContainer] at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:649)

[INFO] [talledLocalContainer] … 54 more

[INFO] [talledLocalContainer] Caused by: org.h2.mvstore.MVStoreException: File is corrupted - unable to recover a valid set of chunks [2.0.206/6]

[INFO] [talledLocalContainer] at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004)

[INFO] [talledLocalContainer] at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:1031)

[INFO] [talledLocalContainer] at org.h2.mvstore.MVStore.(MVStore.java:455)

[INFO] [talledLocalContainer] at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4052)

[INFO] [talledLocalContainer] at org.h2.mvstore.db.Store.(Store.java:129)

[INFO] [talledLocalContainer] … 65 more

Perhaps this sheds more light on the problem?

Best regards,

Ad van Kessel

Hi,
Seems a file corruption indeed. If you are using -Drepo.path startup option, your repository is not below target directory and mvn clean won’t clean the local repo. Then just delete wherever repo.path points to.
HTH
Jeroen

Hi Jeroen,

Again, thanks for the suggestion. I’m not using -Drepo.path startup option. Maybe you can tell me which file should be deleted, and where it’s located?

Best regards,

Ad

I was assuming corruption in the local H2 database, which is file system based.
If you don’t have -Drepo.path then it ends up below ./target/storage and does get cleaned up by mvn clean.

Don’t know now what file this concerns… maybe do try -Drepo.path=mystorage to rule that part out?

Hi Jeroen,

I fixed the problem by deleting the repository and rebuilding. The mvn clean alone was not enough.

Thanks for the help!

Best regards,

Ad van Kessel