dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]Running mono-compiled/non-verifiable apps


From: Rhys Weatherley
Subject: Re: [DotGNU]Running mono-compiled/non-verifiable apps
Date: Wed, 26 Feb 2003 09:32:59 +1000
User-agent: KMail/1.4.3

On Wednesday 26 February 2003 08:07 am, Marcus wrote:
> I don't have a simple test in a short program because I don't know exactly
> what triggers the problem. Even in a relatively large program like mcs.exe
> (compiled by Mono), there is only once place where the non-verifiable code
> occurs. If you'd like to examine the assembly, I've posted it at
> http://mylinuxisp.com/~mathpup/mcs.exe

Well, it's a pity that you don't have a shorter program.  Because mcs.exe 
won't run on ilrun anyway - there's no System.Reflection.Emit in pnet.  So, 
it is impossible for me to tell if the "verification error" you are seeing is 
due to a lack of libraries or the duplicate TypeRef issue.

Looking at the pnet code, I can't see any reason why it would reject duplicate 
TypeRef's.  It should just handle it.

Precisely what error were you getting?  I got the following:

metadata error in token 0x0A000056: member 
`System.Reflection.Emit.CustomAttributeBuilder..ctor' not found
mcs.exe: invalid metadata in image

That is due to a lack of libraries at load time, not a failure of bytecode 
verification.  It hasn't gotten to "_ILVerify" yet.

Right now, anything that goes wrong during loading is called "bad metadata".  
I will add an "unresolved external" also, so as to prevent confusion between 
errors due to bad metadata and errors due to missing libraries.

This still won't make mcs.exe run, but hopefully will indicate the source of 
problem more clearly.

Cheers,

Rhys.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]