# Monday, April 9, 2007
« New Snapshot | Main | Memory Mapped Files »
New Snapshot

The GNU Classpath 0.95 release branch has been created (0.94 was skipped), so it shouldn't be long now before I will release IKVM 0.34, but before that here's a final snapshot containing everything that will be in 0.34.


  • Integrated current GNU Classpath cvs version.
  • .NET "generic class loaders" now return something (mildly) sensible when toString() is called on them.
  • ikvmc no longer warns about generic stubs.
  • ikvmstub now has WHIDBEY conditional code to properly determine if a class is a generic type instance (instead of the name based hack).
  • Fixed .NET generic type name mangling bug (nested generic types were double encoded).
  • Added support for loading .NET generic type stubs.
  • Fixed several .NET generic type loading bugs.
  • Fixed ikvm.runtime.Util.getInstanceTypeFromClass() to return null instead of throw an exception when it is called on a "dynamic only" class.
  • Changed ikvmstub to use java.util.zip instead of SharpZipLib.
  • Fixed index/length overflow detection in arraycopy_primitive_n methods.
  • Fixed JNI init args and thread attach string conversions.
  • Added workaround for .NET bug that caused OverflowException when compiling a class with an initialized final instance field of type char with a value > 32K.

Binaries available here: ikvmbin-0.33.2655.zip

Monday, April 9, 2007 10:19:22 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]
Sunday, April 15, 2007 8:43:28 AM (W. Europe Daylight Time, UTC+02:00)

I'm new to IKVM.NET (this is the first snapshot I've tried). I'm following the instructions in another blog entry to setup IKVM as a JRE in Eclipse.

One of the steps is to run ikvmstub on some version of mscorlib.dll.

I'm running Windows XP SP2 (with all updates applied) on a 32-bit machine. ikvmstub works fine on C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorlib.dll
but when running it on C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll I get this error:

Unhandled Exception: System.BadImageFormatException: The format of the file 'mscorlib.dll' is invalid.
File name: "mscorlib.dll"
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Boolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm)
at NetExp.Main(String[] args)

=== Pre-bind state information ===
LOG: Where-ref bind. Location = C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll
LOG: Appbase = C:\ikvm\bin\
LOG: Initial PrivatePath = NULL
Calling assembly : (Unknown).

LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
Home page

I apologize for the lameness of this, but the comment spam was driving me nuts. In order to be able to post a comment, you need to answer a simple question. Hopefully this question is easy enough not to annoy serious commenters, but hard enough to keep the spammers away.

Anti-Spam Question: What method on java.lang.System returns an object's original hashcode (i.e. the one that would be returned by java.lang.Object.hashCode() if it wasn't overridden)? (case is significant)

Comment (HTML not allowed)  

Live Comment Preview