Re: Db Corruption using windows + java 11

Fred Toussi via Hsqldb-user <[email protected]> Mon, 11 Mar 2019 18:51:25 -0400
Newsgroups gmane.comp.java.hsqldb.user
Message-ID <[email protected]>
This looks strange and has not been reported before. As this list is not for individual support questions, please contact me direct with the memory and disk settings.

Fred

On Mon, Mar 11, 2019, at 16:59, Thorsten Goetzke wrote:
> 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)
> 
> 
> _______________________________________________
> Hsqldb-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/hsqldb-user
>