2010/4/1 Tim Ellison <[email protected]>
> 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