RE: [Ikvm-developers] (no subject)
Brought to you by:
jfrijters
|
From: Jonathan P. <jp...@ny...> - 2003-07-21 23:56:54
|
Jeroen,
Your last message was empty, but I assume you were telling me that the
source snapshot is complete and contains the same binaries as the binary
snapshot. I must have been running an old version of a converted library
because everything works okay with the rebuilt source snapshot. I'm sorry
about reporting an non-existent problem.
If you were replying to my other questions, please resend it.
Here are some other issues:
Issue #1. Are you planning on adding support for new jdk1.4 methods to the
map.xml file as they are added to classpath?
I tried to convert an oracle jdbc jar built for jdk1.4 and got a
NoSuchMethod exception on StringBuffer.append (StringBuffer)
It's probably missing from the map.xml but in the classpath.dll
ikvmc ojdbc14.jar -target:library -out:ojdbc14.dll -reference:classpath.dll
-reference:ik.vm.net.dll
Parsing class files
Constructing compiler
Loading remapped types (1)
Compiling class files (1)
Loading remapped types (2)
Compiling class files (2)
java.lang.NoSuchMethodError:
java.lang.StringBuffer.append(Ljava.lang.StringBuff
er;)Ljava.lang.StringBuffer;
at oracle.jdbc.driver.OracleSql.handleODBC()V
java.lang.NoSuchMethodError:
java.lang.StringBuffer.append(Ljava.lang.StringBuff
er;)Ljava.lang.StringBuffer;
at oracle.jdbc.driver.OracleSql.handleODBC()V
Issue #2. Here's another problem I encountered that isn't serious but you
might want to look into the cause since these might be bugs in IKVM related
to support for loading serialized class resources.
When I debug my app and break on all clr exceptions as they are thrown, I
see issues when I try to deserialize class resources from the converted
Oracle lib.
I downloaded classes12.zip from Oracle, this is their jdbc driver built for
jdk1.2 or jdk1.3.
I converted it with:
ikvmc classes12.jar -target:library -out:classes12.dll
-reference:classpath.dll -reference:ik.vm.net.dll
When I run the following code which is valid, I get several exceptions
thrown that get caught related to missing the .security resource in the
classpath assembly, a NoSuchField exception, and a InvalidClassException.
oracle.sql.CharacterSet theCharacterSet = oracle.sql.CharacterSet.make (-1);
Here are the exceptions thrown that get caught and their stack traces:
Exception #1:
A first chance exception of type 'java.lang.NoSuchFieldException' occurred
in classpath.dll
classpath.dll!java.lang.Class.getDeclaredField(string name =
"serialVersionUID") + 0x78 bytes
classpath.dll!java.io.ObjectStreamClass.getClassUID(java.lang.Class
cl = {java.lang.Class}) + 0xda bytes
classpath.dll!java.io.ObjectStreamClass.setClass(java.lang.Class cl
= {java.lang.Class}) + 0x91 bytes
classpath.dll!java.io.ObjectInputStream.readClassDescriptor() +
0x3d7 bytes
classpath.dll!java.io.ObjectInputStream.readObject() + 0x881 bytes
classpath.dll!java.io.ObjectInputStream.readObject() + 0xe6e bytes
classes12.dll!oracle.sql.ConverterArchive.readObj() + 0xd2 bytes
classes12.dll!oracle.sql.converter.CharacterConverter.getInstance()
+ 0x196 bytes
classes12.dll!oracle.sql.CharacterSetWithConverter.getInstance() +
0x17 bytes
classes12.dll!oracle.sql.CharacterSetFactoryThin.make() + 0xda bytes
classes12.dll!oracle.sql.CharacterSet.make() + 0x15 bytes
> Test1.exe!Test1.Form1.Main() Line 164 + 0xb bytes C#
Exception #2:
A first chance exception of type 'java.io.IOException' occurred in
classpath.dll
Additional information: resource lib/security/IKVM.NET.security not found in
assembly classpath, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
classpath.dll!gnu.java.net.protocol.ikvmres.IkvmresURLConnection.connect() +
0x1a8 bytes
classpath.dll!gnu.java.net.protocol.ikvmres.IkvmresURLConnection.getInputStr
eam() + 0x14 bytes
classpath.dll!java.net.URL.openStream() + 0x1b bytes
classpath.dll!java.security.Security.loadProviders(string baseUrl =
"ikvmres:classpath, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=null:lib", string vendor = "IKVM.NET") + 0x1aa bytes
classpath.dll!java.security.Security..cctor() + 0x7f bytes
classpath.dll!java.security.MessageDigest.getInstance(string
algorithm = "SHA") + 0x3c bytes
classpath.dll!java.io.ObjectStreamClass.getClassUID(java.lang.Class
cl = {java.lang.Class}) + 0x29d bytes
classpath.dll!java.io.ObjectStreamClass.setClass(java.lang.Class cl
= {java.lang.Class}) + 0x91 bytes
classpath.dll!java.io.ObjectInputStream.readClassDescriptor() +
0x3d7 bytes
classpath.dll!java.io.ObjectInputStream.readObject() + 0x881 bytes
classpath.dll!java.io.ObjectInputStream.readObject() + 0xe6e bytes
classes12.dll!oracle.sql.ConverterArchive.readObj() + 0xd2 bytes
classes12.dll!oracle.sql.converter.CharacterConverter.getInstance()
+ 0x196 bytes
classes12.dll!oracle.sql.CharacterSetWithConverter.getInstance() +
0x17 bytes
classes12.dll!oracle.sql.CharacterSetFactoryThin.make() + 0xda bytes
classes12.dll!oracle.sql.CharacterSet.make() + 0x15 bytes
> Test1.exe!Test1.Form1.Main() Line 164 + 0xb bytes C#
Exception #3:
A first chance exception of type 'java.io.InvalidClassException' occurred in
classpath.dll
Additional information: class oracle.sql.converter.CharacterConverter1Byte:
Local class not compatible: stream serialVersionUID=8160681257345709861,
local serialVersionUID=-7623283811967936926
classpath.dll!java.io.ObjectStreamClass.setClass(java.lang.Class cl
= {java.lang.Class}) + 0x208 bytes
classpath.dll!java.io.ObjectInputStream.readClassDescriptor() +
0x3d7 bytes
classpath.dll!java.io.ObjectInputStream.readObject() + 0x881 bytes
classpath.dll!java.io.ObjectInputStream.readObject() + 0xe6e bytes
classes12.dll!oracle.sql.ConverterArchive.readObj() + 0xd2 bytes
classes12.dll!oracle.sql.converter.CharacterConverter.getInstance()
+ 0x196 bytes
classes12.dll!oracle.sql.CharacterSetWithConverter.getInstance() +
0x17 bytes
classes12.dll!oracle.sql.CharacterSetFactoryThin.make() + 0xda bytes
classes12.dll!oracle.sql.CharacterSet.make() + 0x15 bytes
> Test1.exe!Test1.Form1.Main() Line 164 + 0xb bytes C#
-----Original Message-----
From: ikv...@li...
[mailto:ikv...@li...] On Behalf Of Jeroen
Frijters
Sent: Monday, July 21, 2003 12:22 PM
To: Jonathan Pierce; ikv...@li...
Subject: [Ikvm-developers] (no subject)
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
Ikvm-developers mailing list
Ikv...@li...
https://lists.sourceforge.net/lists/listinfo/ikvm-developers
|