Hi Alexander, It looks like there are some remaining bugs with the 1.2.x branch (still considered to be in beta, I believe). Unfortunately, I'm not familiar enough with the codebase for the storage engines to be of assistance here -- it's going to have to wait for Mr. Mueller. If you can provide as much information as possible to help him fix this one, it will help. Please see: http://www.h2database.com/html/build.html#support
@Steve: the same applies here, I'm afraid. My gut says there may be quirks due to your very large and complex rows, and not being able to finish writing rows during power outages. But that's just a hunch. Obviously the proximate cause is a PageDataLeaf.rows being a zero- sized array, but I can't figure out how this would happen as a result of power outage. I really wish I could help more -- please post as much information as you can, and await a reply from Mr. Mueller within a few days. Cheers, Sam Van Oort On Jan 13, 1:35 pm, Alexander Hartner <[email protected]> wrote: > I am getting a similar error using H2, version: 1.2.126 (2009-12-18). I can't > rule out database corruption due to power issues / system crashes. > > 2010-Jan-13 18:27:03 [CentralAddressBook - FATAL] Contact ID criteria : IN > ('585F7196-10F8-4ED8-8948-839B2653EBDE') > 2010-Jan-13 18:27:04 [JCLLoggerAdapter - WARN] SQL Error: 50000, SQLState: > HY000 > 2010-Jan-13 18:27:04 [JCLLoggerAdapter - ERROR] General error: > "java.lang.ArrayIndexOutOfBoundsException: 0"; SQL statement: > select event0_.identifier as col_0_0_ from Events event0_ inner join > Calendars calendar1_ on event0_.calendar_identifier=calendar1_.identifier > where calendar1_.identifier in ('44536898-CC73-4518-9AAB-A0FED43FD528' , > '98A8EC8D-DD9E-4A39-889C-15A5310FAD0B' , > '8BD16B5E-CE05-4915-A925-E447D507A662' , > '7BF6CA5F-3A47-42EF-8AD9-7CABB74DE9DE' , > 'C8297C51-0CEC-4C84-816E-AD566A955CC9' , > '8BC8F011-1A80-4A1A-9653-F41424EB590D' , > 'B6DB7ED4-C948-48BB-8205-2CBC5A252CA8' , > 'C97C0A13-02F9-4ADB-BC8E-6DCBD1730CA3' , > 'B51C43E9-28D5-41F4-918D-184C7C0C6793' , > 'F911F55F-2737-4A94-B5E5-24972FE02892' , > 'F2A4EE0B-71F8-444D-A379-FFC26EDF574A') [50000-126] > 2010-Jan-13 18:27:04 [CentralAddressBook - FATAL] > GetAvailableEventOrTaskIdentifiersInCalendars failed > javax.persistence.PersistenceException: > org.hibernate.exception.GenericJDBCException: could not execute query > at > org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614) > at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:76) > at > com.j2anywhere.addressbookserver.CentralAddressBook.getAvailableEventOrTaskIdentifiersInCalendars(CentralAddressBook.java:470) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at com.sun.xml.ws.server.PeptTie._invoke(PeptTie.java:58) > at > com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.invokeEndpoint(SOAPMessageDispatcher.java:278) > at > com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(SOAPMessageDispatcher.java:586) > at > com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:141) > at com.sun.xml.ws.server.Tie.handle(Tie.java:88) > at > com.sun.xml.ws.transport.http.servlet.WSServletDelegate.handle(WSServletDelegate.java:333) > at > com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:288) > at > com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:77) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Thread.java:637) > Caused by: org.hibernate.exception.GenericJDBCException: could not execute > query > at > org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126) > at > org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114) > at > org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) > at org.hibernate.loader.Loader.doList(Loader.java:2231) > at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125) > at org.hibernate.loader.Loader.list(Loader.java:2120) > at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401) > at > org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361) > at > org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) > at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148) > at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) > at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67) > ... 28 more > > On 12 Jan 2010, at 10:24, Steve McLeod wrote: > > > Using databases created with 1.2.124 in a desktop app, I'm > > occasionally getting error reports from users with this exception: > > > org.h2.jdbc.JdbcSQLException: General error: > > "java.lang.ArrayIndexOutOfBoundsException: 0"; SQL statement: > > select sum(takeinbigblinds) as takeinbigblinds from PlayerSummary f > > where f.isHero=true and f.isplaymoney=? and f.istournament=? and > > f.dayid>=? and f.dayid<? and f.tableSize=? and f.gametypeid=? and > > buyin=? [50000-124] > > at org.h2.message.Message.getSQLException(Message.java:111) > > at org.h2.message.Message.convert(Message.java:288) > > at org.h2.message.Message.convert(Message.java:249) > > at org.h2.command.Command.executeQueryLocal(Command.java:144) > > at org.h2.command.Command.executeQuery(Command.java:123) > > at org.h2.jdbc.JdbcPreparedStatement.executeQuery > > (JdbcPreparedStatement.java:98) > > at org.springframework.jdbc.core.JdbcTemplate > > $1.doInPreparedStatement(JdbcTemplate.java:648) > > at org.springframework.jdbc.core.JdbcTemplate.execute > > (JdbcTemplate.java:591) > > ... 11 more > > Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 > > at org.h2.index.PageDataLeaf.getRowAt(PageDataLeaf.java:310) > > at org.h2.index.PageDataLeaf.getRow(PageDataLeaf.java:427) > > at org.h2.index.PageDataNode.getRow(PageDataNode.java:284) > > at org.h2.index.PageDataNode.getRow(PageDataNode.java:284) > > at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:377) > > at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:366) > > at org.h2.table.TableData.getRow(TableData.java:116) > > at org.h2.index.PageBtreeIndex.getRow(PageBtreeIndex.java:284) > > at org.h2.index.PageBtreeCursor.get(PageBtreeCursor.java:46) > > at org.h2.index.IndexCursor.get(IndexCursor.java:146) > > at org.h2.table.TableFilter.getValue(TableFilter.java:650) > > at org.h2.expression.ExpressionColumn.getValue > > (ExpressionColumn.java:168) > > at org.h2.expression.Comparison.getValue(Comparison.java:215) > > at org.h2.expression.ConditionAndOr.getValue > > (ConditionAndOr.java:86) > > at org.h2.expression.Expression.getBooleanValue(Expression.java: > > 188) > > at org.h2.command.dml.Select.queryGroup(Select.java:309) > > at org.h2.command.dml.Select.queryWithoutCache(Select.java:551) > > at org.h2.command.dml.Query.query(Query.java:236) > > at org.h2.command.CommandContainer.query(CommandContainer.java: > > 82) > > at org.h2.command.Command.executeQueryLocal(Command.java:142) > > ... 15 more > > > I'm unable to reproduce, but in at least one case I know this was > > preceded by a user's MacBook running out of power. > > > The database url is: > > jdbc:h2:~/ > > database;DATABASE_EVENT_LISTENER='com.barbarysoftware.pokercopilot.database.DatabaseListener';MAX_LENGTH_INPLACE_LOB=65536;COMPRESS_LOB=DEFLATE;CACHE_SIZE=65536 > > > Any suggestions? > > > Thanks > > > Steve > > -- > > You received this message because you are subscribed to the Google Groups > > "H2 Database" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group > > athttp://groups.google.com/group/h2-database?hl=en.
-- You received this message because you are subscribed to the Google Groups "H2 Database" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/h2-database?hl=en.
