# Monday, 14 October 2002
« No Title | Main | No Title »
No Title

Back again...

Friday I tried to get James (a mail server) to run under IKVM. First thing I ran into was the lack of support for extensions. That turned out to be easy to add. The next problem wasn't so easy to get around. I started getting TypeLoadExceptions. The only way this can happen is if there is a bug in IKVM or in the .NET runtime, because if a Java class cannot be found IKVM should throw a ClassNotFoundException or a NoClassDefError.

After much debugging I managed to isolate the problem as a bug the .NET runtime. Here is a small C# reproduction.

The problem was triggered by the new extension class loader, which creates a second dynamic assembly to emit the dynamically generated .NET types in. It turns out that references from one dynamic assembly to another dynamic assembly sometimes do not result in an AppDomain.TypeResolve event. The trigger for this is that the type being referenced was first defined inside another TypeResolve event.

Monday, 14 October 2002 10:48:52 (W. Europe Daylight Time, UTC+02:00)  #    Comments [3]
Monday, 14 October 2002 05:28:19 (W. Europe Daylight Time, UTC+02:00)

Hi,


Just a thought but have you tried this with the 1.1 beta of the .NET Framework? If the bug is still present then at the very least you can log as such (and hopefully get it resolved for 1.1).


Andrew

Monday, 14 October 2002 10:17:32 (W. Europe Daylight Time, UTC+02:00)

I did and the bug is still present. I did report the bug to MS.
Monday, 21 April 2003 20:55:36 (W. Europe Daylight Time, UTC+02:00)
Cannot see the cs file since it is prohibited by ASP.NET... I would like to see it, please :)
Name
E-mail
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)

Answer:  
Comment (HTML not allowed)  

Live Comment Preview