harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Peter <christian.peter...@googlemail.com>
Subject Re: Harmony H2 errors
Date Fri, 02 Apr 2010 08:07:48 GMT
2010/4/1 Tim Ellison <t.p.ellison@gmail.com>

> Hi Christian,
>
> I see a problem too.  I get a ClassCastException when running on Windows
> 32-bit DRLVM.  I can't reproduce the problem when using -Xint or when
> using the IBM VME, so it looks like it might be a Harmony JIT bug.
>
>
>    protected int compareSecure(Value o, CompareMode mode) {
> >       ValueByte v = (ValueByte) o;
>        return MathUtils.compareInt(value, v.value);
>    }
>
> Is that the same problem you saw?
>
> Regards,
> Tim
>
>
Hi Tim,

I see a different exception:

org.h2.jdbc.JdbcSQLException: General error:
"java.lang.ArrayIndexOutOfBoundsException"; SQL statement:
insert into account(name) values(?) [50000-132]
        at
org.h2.message.DbException.getJdbcSQLException(DbException.java:316)
        at org.h2.message.DbException.get(DbException.java:156)
        at org.h2.message.DbException.convert(DbException.java:284)
        at org.h2.table.RegularTable.addRow(RegularTable.java:130)
        at org.h2.command.dml.Insert.insertRows(Insert.java:120)
        at org.h2.command.dml.Insert.update(Insert.java:82)
        at org.h2.command.CommandContainer.update(CommandContainer.java:70)
        at org.h2.command.Command.executeUpdate(Command.java:198)
        at
org.h2.jdbc.JdbcPreparedStatement.execute(JdbcPreparedStatement.java:179)
        at org.h2.samples.Simple.main(Simple.java:49)
Caused by: java.lang.ArrayIndexOutOfBoundsException
        at org.h2.store.Data.readVarLong(Data.java:1001)
        at org.h2.index.PageBtreeIndex.readRow(PageBtreeIndex.java:325)
        at org.h2.index.PageBtree.getRow(PageBtree.java:168)
        at org.h2.index.PageBtree.find(PageBtree.java)
        at org.h2.index.PageBtreeNode.addRowTry(PageBtreeNode.java:198)
        at org.h2.index.PageBtreeIndex.addRow(PageBtreeIndex.java:88)
        at org.h2.index.PageBtreeIndex.add(PageBtreeIndex.java:79)
        at org.h2.table.RegularTable.addRow(RegularTable.java:112)
        at org.h2.command.dml.Insert.insertRows(Insert.java:120)

This is here:

public long readVarLong() {
        long x = data[pos++];
        if (x >= 0) {
            return x;
        }
        x &= 0x7f;
        for (int s = 7;; s += 7) {
>            long b = data[pos++];
            x |= (b & 0x7f) << s;
            if (b >= 0) {
                return x;
            }
        }
    }

And I also don't see it with -Xint. I tested both 1.5 and 1.6 builds.

Regards

Christian

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message