From: Simpson, B. A (Contractor) <bla...@fa...> - 2008-01-29 20:32:30
|
Compile with debug option so you can find out exactly what it is that is = becoming null. -----Original Message----- From: hsq...@li... on behalf of Parag = Thakur Sent: Tue 2008-01-29 15:24 To: hsq...@li... Subject: [Hsqldb-user] Intermittent "S1000 General = errorjava.lang.NullPointerException" =20 Hello, We are doing some performance testing of our product on Solaris which is using HSQL (1.8.0.5) in-process. The database gets to be fairly large (~700MB) and has a combination of in-memory and cached tables. Once in a while, we see error S1000 which either makes the database unresponsive or in some cases it might continue to work normally in spite of the error (though this is very infrequent). This mostly happens when a large result set (~10000 rows) is being deleted but the JVM does not seem to be short on heap. When such a thing happens, we often see "out of memory" getting logged as well. To see if this was a heap issue, we've tried giving 3GB of max heap to the JVM but that did not eliminate the occurrence of this error.=20 We have turned on GC logging and it does not seem to be any where close to the total available Heap (Used heap could be somewhere in the range of 400MB, while total available is 3GB).=20 We've also tried running HSQL in its own process (with 3GB -Xmx) to make sure it's not some bug in our code; however in that case the HSQL process seems to log the error and complains about "out of memory". Does any one know why this might be happening? Could there be a corruption in picture? Could it because of DEFRAG kicking in? Does the DEFRAG operation take lot of memory? Any help would be greatly appreciated! Here's some sampling of the exceptions: 2008-01-28 03:31:15 java.lang.NullPointerException 2008-01-28 03:31:15 at org.hsqldb.Table.deleteNoCheck(Unknown Source) 2008-01-28 03:31:15 at org.hsqldb.Table.deleteNoRefCheck(Unknown Source) 2008-01-28 03:31:15 at org.hsqldb.Table.delete(Unknown Source) 2008-01-28 03:31:15 at org.hsqldb.CompiledStatementExecutor.executeDeleteStatement(Unknown Source) 2008-01-28 03:31:15 at org.hsqldb.CompiledStatementExecutor.executeImpl(Unknown Source) 2008-01-28 03:31:15 at org.hsqldb.CompiledStatementExecutor.execute(Unknown Source) 2008-01-28 03:31:15 at org.hsqldb.Session.sqlExecuteCompiledNoPreChecks(Unknown Source) 2008-01-28 03:31:15 at org.hsqldb.Session.sqlExecute(Unknown Source) 2008-01-28 03:31:15 at org.hsqldb.Session.sqlExecute(Unknown Source) 2008-01-28 03:31:15 at org.hsqldb.Session.execute(Unknown Source) 2008-01-28 03:31:15 at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source) 2008-01-28 03:31:15 at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source) 2008-01-28 03:31:15 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2008-01-28 03:31:15 at java.lang.reflect.Method.invoke(Unknown Source) 2008-01-28 03:31:15 at com.jamonapi.proxy.MonProxy.invoke(MonProxy.java:110) 2008-01-28 03:31:15 at com.jamonapi.proxy.JDBCMonProxy.invoke(JDBCMonProxy.java:98) 2008-01-28 03:31:15 at $Proxy6.executeUpdate(Unknown Source) 2008-01-28 03:31:15 at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProx yPreparedStatement.java:105) 2008-01-28 03:31:15 at org.hibernate.engine.query.NativeSQLQueryPlan.performExecuteUpdate(Nativ eSQLQueryPlan.java:165) 2008-01-28 03:31:15 at org.hibernate.impl.SessionImpl.executeNativeUpdate(SessionImpl.java:1163 ) 2008-01-28 03:31:15 at org.hibernate.impl.SQLQueryImpl.executeUpdate(SQLQueryImpl.java:302) 2008-01-28 03:31:15 at vrts.vxcs.mcm.dao.factory.GenericDAOHibernateFactory$50.run(GenericDAOHi bernateFactory.java:2404) 2008-01-28 03:31:15 at vrts.vxcs.mcm.dao.factory.GenericDAOHibernateFactory.run(GenericDAOHiber nateFactory.java:2461) 2008-01-28 03:31:15 at vrts.vxcs.mcm.dao.factory.GenericDAOHibernateFactory.executeQueries(Gene ricDAOHibernateFactory.java:2421) 2008-01-28 03:31:15 at vrts.vxcs.mcm.dao.factory.ClusterDAOFactoryImpl.deleteCluster(ClusterDAO FactoryImpl.java:1227) 2008-01-28 03:31:15 at vrts.vxcs.mcm.dao.factory.ClusterDAOFactoryImpl.deleteCluster(ClusterDAO FactoryImpl.java:1114) 2008-01-28 03:31:15 at vrts.vxcs.mcm.dao.factory.ClusterDAOFactoryImpl.deleteCluster(ClusterDAO FactoryImpl.java:230) 2008-01-28 03:31:15 at vrts.vxcs.mcm.managementserver.data.HibernateUpdateService.endSnapshot(H ibernateUpdateService.java:1423) 2008-01-28 03:31:15 at vrts.vxcs.mcm.managementserver.data.LiveDataResolver.endSnapshotCommon(L iveDataResolver.java:1714) 2008-01-28 03:31:15 at vrts.vxcs.mcm.managementserver.data.LiveDataResolver.resolveClusterMsg(L iveDataResolver.java:1593) 2008-01-28 03:31:15 at vrts.vxcs.mcm.managementserver.data.LiveDataResolver.resolveMsg(LiveData Resolver.java:1553) 2008-01-28 03:31:15 at vrts.vxcs.mcm.managementserver.data.LiveDataResolver.resolveClusterMessa ge(LiveDataResolver.java:626) 2008-01-28 03:31:15 at vrts.vxcs.mcm.managementserver.data.LiveDataResolver.procMessage(LiveDat aResolver.java:321) 2008-01-28 03:31:15 at vrts.vxcs.netlib.primitives.comm.MessageHandler.getVListFromQueue(Messag eHandler.java:83) 2008-01-28 03:31:15 at vrts.vxcs.netlib.primitives.comm.MessageHandler.run(MessageHandler.java: 110) 2008-01-28 03:31:20 org.hibernate.exception.GenericJDBCException: could not execute native bulk manipulation query 2008-01-28 03:31:20 at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQ LStateConverter.java:103) 2008-01-28 03:31:20 at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java :91) 2008-01-28 03:31:20 at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper. java:43) 2008-01-28 03:31:20 at org.hibernate.engine.query.NativeSQLQueryPlan.performExecuteUpdate(Nativ eSQLQueryPlan.java:174) 2008-01-28 03:31:20 at org.hibernate.impl.SessionImpl.executeNativeUpdate(SessionImpl.java:1163 ) 2008-01-28 03:31:20 at org.hibernate.impl.SQLQueryImpl.executeUpdate(SQLQueryImpl.java:302) 2008-01-28 03:31:20 at vrts.vxcs.mcm.dao.factory.GenericDAOHibernateFactory$50.run(GenericDAOHi bernateFactory.java:2404) 2008-01-28 03:31:20 ... 13 more 2008-01-28 03:31:20 Caused by: java.sql.SQLException: S1000 General error java.lang.NullPointerException in statement [delete FROM K2ATTRIBUTE _20 where ObjectPath like 'site=3D826bac00-b94e-446c-b0fd-0fa03d018267;cluster=3Dvadlinux01_10130;%= '] 2008-01-28 03:31:20 at org.hsqldb.jdbc.Util.throwError(Unknown Source) 2008-01-28 03:31:20 at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source) 2008-01-28 03:31:20 at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source) 2008-01-28 03:31:20 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2008-01-28 03:31:20 at java.lang.reflect.Method.invoke(Unknown Source) 2008-01-28 03:31:20 at com.jamonapi.proxy.MonProxy.invoke(MonProxy.java:110) 2008-01-28 03:31:20 at com.jamonapi.proxy.JDBCMonProxy.invoke(JDBCMonProxy.java:98) 2008-01-28 03:31:20 at $Proxy6.executeUpdate(Unknown Source) 2008-01-28 03:31:20 at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProx yPreparedStatement.java:105) 2008-01-28 03:31:20 at org.hibernate.engine.query.NativeSQLQueryPlan.performExecuteUpdate(Nativ eSQLQueryPlan.java:165) 2008-01-28 03:31:20 ... 16 more Some other time: 2008-01-20 08:44:18 org.hsqldb.HsqlException: Out of Memory 2008-01-20 08:44:18 at org.hsqldb.Trace.error(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.Trace.error(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.Trace.error(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.persist.DataFileDefrag.process(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.persist.DataFileCache.defrag(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.persist.Log.checkpoint(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.persist.Log.writeInsertStatement(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.persist.Logger.writeInsertStatement(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.Table.insertNoCheck(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.Table.updateRowSet(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.Table.update(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.CompiledStatementExecutor.executeUpdateStatement(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.CompiledStatementExecutor.executeImpl(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.CompiledStatementExecutor.execute(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.Session.sqlExecuteCompiledNoPreChecks(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.Session.sqlExecuteBatch(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.Session.execute(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.jdbc.jdbcStatement.executeBatch(Unknown Source) 2008-01-20 08:44:18 at org.hsqldb.jdbc.jdbcPreparedStatement.executeBatch(Unknown Source) 2008-01-20 08:44:18 at sun.reflect.GeneratedMethodAccessor209.invoke(Unknown Source) 2008-01-20 08:44:18 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2008-01-20 08:44:18 at java.lang.reflect.Method.invoke(Unknown Source) 2008-01-20 08:44:18 at com.jamonapi.proxy.MonProxy.invoke(MonProxy.java:110) 2008-01-20 08:44:18 at com.jamonapi.proxy.JDBCMonProxy.invoke(JDBCMonProxy.java:98) 2008-01-20 08:44:18 at $Proxy6.executeBatch(Unknown Source) 2008-01-20 08:44:18 at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxy PreparedStatement.java:1723) 2008-01-20 08:44:18 at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:4 8) 2008-01-20 08:44:18 at org.hibernate.jdbc.BatchingBatcher.addToBatch(BatchingBatcher.java:34) 2008-01-20 08:44:18 at org.hibernate.persister.collection.AbstractCollectionPersister.recreate( AbstractCollectionPersister.java:1146) 2008-01-20 08:44:18 at org.hibernate.action.CollectionRecreateAction.execute(CollectionRecreate Action.java:26) 2008-01-20 08:44:18 at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248) 2008-01-20 08:44:18 at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232) 2008-01-20 08:44:18 at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:143) 2008-01-20 08:44:18 at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions( AbstractFlushingEventListener.java:298) 2008-01-20 08:44:18 at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEv entListener.java:27) 2008-01-20 08:44:18 at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000) 2008-01-20 08:44:18 at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338) 2008-01-20 08:44:18 at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:10 6) Thanks Parag -------------------------------------------------------------------------= This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Hsqldb-user mailing list Hsq...@li... https://lists.sourceforge.net/lists/listinfo/hsqldb-user |