bug in VMsystem.arraycopy

[email protected] Thu, 5 Jan 2006 16:13:29 -0500
Newsgroups gmane.comp.java.vm.sablevm.general
Message-ID <[email protected]>
All,

I'm trying to port a crypto application to sablevm. Let me tell you,
there are tons of issues with this (most of them in the realm of
security providers) - the latest one seems to point directly to sablevm though.

Here the exception trace:

2006/01/05 16:02:04:037 GMT-05:00 [INFO] WhitelistHandler - Whitelist Handler initialized.
JESSIE, alias=localhost-cert pwd=key_abc123
JESSIE, alias=localhost pwd=key_abc123
before decodeKey 1
aha
java.lang.ArrayIndexOutOfBoundsException
   at java.lang.VMSystem.arraycopy (VMSystem.java)
   at java.lang.System.arraycopy (System.java:238)
   at javax.crypto.CipherInputStream.read (CipherInputStream.java:237)
   at java.io.DataInputStream.readFully (DataInputStream.java:283)
   at java.io.DataInputStream.readUnsignedShort (DataInputStream.java:498)
   at java.io.DataInputStream.readUTF (DataInputStream.java:592)
   at java.io.DataInputStream.readUTF (DataInputStream.java:575)
   at org.bouncycastle.jce.provider.JDKKeyStore.decodeKey (JDKKeyStore.java:411)
   at org.bouncycastle.jce.provider.JDKKeyStore.access$100 (JDKKeyStore.java:41)
   at org.bouncycastle.jce.provider.JDKKeyStore$StoreEntry.getObject (JDKKeyStore.java:230)
   at org.bouncycastle.jce.provider.JDKKeyStore.engineGetKey (JDKKeyStore.java:605)
   at java.security.KeyStore.getKey (KeyStore.java:270)
   at org.metastatic.jessie.provider.X509KeyManagerFactory.engineInit (X509KeyManagerFactory.java:202)
   at javax.net.ssl.KeyManagerFactory.init (KeyManagerFactory.java:278)
   at org.mortbay.http.SslListener.createFactory (SslListener.java:265)
   at org.mortbay.http.SslListener.newServerSocket (SslListener.java:287)
   at org.mortbay.util.ThreadedServer.open (ThreadedServer.java:477)
   at org.mortbay.util.ThreadedServer.start (ThreadedServer.java:503)
   at org.mortbay.http.SocketListener.start (SocketListener.java:203)
   at org.mortbay.http.HttpServer.doStart (HttpServer.java:716)
   at org.mortbay.util.Container.start (Container.java:72)
   at com.bbn.pb.PbServer.main (PbServer.java:221)
   at java.lang.VirtualMachine.invokeMain (VirtualMachine.java)
   at java.lang.VirtualMachine.main (VirtualMachine.java:108)



This works fine if I run it in Sun's jdk 1.4.2_10.
Note that I'm using 

 matighet@glockenspiel > java-sablevm -version
SableVM version 1.13
- compile date and time: 2006-01-03 22:33:32 UTC
- gcc version: 3.3.6 (Gentoo 3.3.6, ssp-3.3.6-1.0, pie-8.7.8)
- 'real life brokenness' features enabled
- signal based exception detection
- copying garbage collection
- bidirectional object layout
- inline-threaded interpreter

Also note that the java sources were compiled with Sun's jdk 1.4.2_10.

matighet@glockenspiel > java -version
java version "1.4.2_10"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03)
Java HotSpot(TM) Client VM (build 1.4.2_10-b03, mixed mode)


Help!



 -- Michael Atighetchi [email protected] BBN Technologies