Db Corruption using windows + java 11
Thorsten Goetzke <[email protected]> Mon, 11 Mar 2019 17:59:10 +0100
| Newsgroups | gmane.comp.java.hsqldb.user |
|---|---|
| Message-ID | <[email protected]> |
Hello, We are seeing some internal Exception in hsql when trying to do a defrag. The database shows odd behaviour after the Exception (unable to find some rows, more internal Exception) It seems like this is not reproduceable under macos (Everything works fine). I am using the latest release 2.4.1 and opening a database that was created using some 2.2 version. Is anything known about this issue? Can one validate or repair the database? Best regards, Thorsten Goetzke 2019-03-11 17:37:45,811 WARN [hsqldb.db.HSQLDB6874746988.ENGINE] (UMS:class securiton.uls.tools.configuration.studio.operations.OperationMonitorHandlerSupport:Operations#Global::#1) JVM threw unsupported Exception java.lang.IndexOutOfBoundsException at java.base/java.nio.Buffer.checkBounds(Buffer.java:709) at java.base/java.nio.ByteBuffer.get(ByteBuffer.java:733) at java.base/java.nio.DirectByteBuffer.get(DirectByteBuffer.java:319) at org.hsqldb.persist.ScaledRAFileNIO.read(Unknown Source) at org.hsqldb.persist.ScaledRAFileHybrid.read(Unknown Source) at org.hsqldb.persist.DataFileCache.readObject(Unknown Source) at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source) at org.hsqldb.persist.DataFileCache.get(Unknown Source) at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source) at org.hsqldb.persist.RowStoreAVLDisk.setAccessor(Unknown Source) at org.hsqldb.Table.setIndexRoots(Unknown Source) at org.hsqldb.SchemaManager.setIndexRoots(Unknown Source) at org.hsqldb.persist.DataFileCache.defrag(Unknown Source) at org.hsqldb.persist.Log.defrag(Unknown Source) at org.hsqldb.persist.Log.checkpoint(Unknown Source) at org.hsqldb.persist.Logger.checkpointInternal(Unknown Source) at org.hsqldb.persist.Logger.checkpoint(Unknown Source) at org.hsqldb.StatementCommand.getResult(Unknown Source) at org.hsqldb.StatementCommand.execute(Unknown Source) at org.hsqldb.Session.executeCompiledStatement(Unknown Source) at org.hsqldb.Session.executeDirectStatement(Unknown Source) at org.hsqldb.Session.execute(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source) at securiton.uls.tools.configuration.plugins.editdb.dbfunctions.HsqldbBackup.copyToProjDB(HsqldbBackup.java:114) at securiton.uls.tools.configuration.plugins.editdb.dbfunctions.HsqldbHandler.save(HsqldbHandler.java:115) at securiton.uls.tools.configuration.plugins.editdb.dbfunctions.DataProviderHandlerImpl.saveDatabase(DataProviderHandlerImpl.java:237) at securiton.uls.tools.configuration.plugins.editdb.dbfunctions.DataProviderHandlerImpl.saveWithFlush(DataProviderHandlerImpl.java:216) at securiton.uls.tools.configuration.plugins.editdb.dbfunctions.DataProviderHandlerImpl.save(DataProviderHandlerImpl.java:208) at securiton.uls.tools.configuration.plugins.editdb.data.EditDbDataSupport$3.doMaintenance(EditDbDataSupport.java:85) at securiton.uls.tools.configuration.api.project.impl.DataInstanceImpl.doMaintenance(DataInstanceImpl.java:142) at securiton.uls.tools.configuration.api.project.xmldata.embedded.EmbeddedXmlDataSource.save(EmbeddedXmlDataSource.java:38) at securiton.uls.tools.configuration.framework.project.datasection.impl.DataSectionImpl.save(DataSectionImpl.java:124) at securiton.uls.tools.configuration.framework.project.datasection.impl.DataSectionsImpl.save(DataSectionsImpl.java:356) at securiton.uls.tools.configuration.studio.project.impl.ProjectImpl.save(ProjectImpl.java:589) at securiton.uls.tools.configuration.studio.project.impl.ProjectProviderImpl.saveProjectAsInternal(ProjectProviderImpl.java:371) at securiton.uls.tools.configuration.studio.project.impl.ProjectProviderImpl.saveProjectAs(ProjectProviderImpl.java:270) at securiton.uls.tools.configuration.studio.actions.SaveAsProjectAction$2.run(SaveAsProjectAction.java:93) at securiton.uls.tools.configuration.studio.operations.OperationHandlerImpl$OperationRunnable.run(OperationHandlerImpl.java:248) at securiton.uls.utilities.lang.concurrent.CallWrapperFactoryImpl$1.call(CallWrapperFactoryImpl.java:29) at securiton.uls.utilities.lang.concurrent.CallWrapperFactoryImpl$1.call(CallWrapperFactoryImpl.java:26) at securiton.uls.utilities.lang.concurrent.CallWrapper.run(CallWrapper.java:42) 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) 2019-03-11 17:37:45,812 FATAL [hsqldb.db.HSQLDB6874746988.ENGINE] (UMS:class securiton.uls.tools.configuration.studio.operations.OperationMonitorHandlerSupport:Operations#Global::#1) //C:\UMS\studio11.0-branch\tmp\securiton\configstudio\editdb\editdb-1552322034928.work.data getFromFile 2858583 org.hsqldb.HsqlException: java.io.IOException: java.lang.IndexOutOfBoundsException at org.hsqldb.error.Error.error(Unknown Source) at org.hsqldb.persist.DataFileCache.readObject(Unknown Source) at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source) at org.hsqldb.persist.DataFileCache.get(Unknown Source) at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source) at org.hsqldb.persist.RowStoreAVLDisk.setAccessor(Unknown Source) at org.hsqldb.Table.setIndexRoots(Unknown Source) at org.hsqldb.SchemaManager.setIndexRoots(Unknown Source) at org.hsqldb.persist.DataFileCache.defrag(Unknown Source) at org.hsqldb.persist.Log.defrag(Unknown Source) at org.hsqldb.persist.Log.checkpoint(Unknown Source) at org.hsqldb.persist.Logger.checkpointInternal(Unknown Source) at org.hsqldb.persist.Logger.checkpoint(Unknown Source) at org.hsqldb.StatementCommand.getResult(Unknown Source) at org.hsqldb.StatementCommand.execute(Unknown Source) at org.hsqldb.Session.executeCompiledStatement(Unknown Source) at org.hsqldb.Session.executeDirectStatement(Unknown Source) at org.hsqldb.Session.execute(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)