[Mono-list] Test failure

Paolo Molaro lupus@ximian.com
Tue, 1 Oct 2002 13:13:54 +0200


On 09/30/02 Mark Crichton wrote:
> > Testing pinvoke2.exe... failed 34304 (134) signal (0).
> > Testing pinvoke3.exe... failed 34304 (134) signal (0).
> > Testing pinvoke4.exe... failed 34304 (134) signal (0).
> 
> You're catching a SIGTRAP.  For pinvoke2, I'm getting an error there
> since I cannot handle MONO_TYPE_VALUETYPE where its size != 4.  This is
> where PPC does some memcpy trickery.  I don't know if this would work
> on Sparc or S/390.  It might.

A MONO_TYPE_VALUETYPE is a structure: when you need to copy it, you need
to use memcpy (it's optimized with a register load/store if the size is
4 bytes).

> pinvoke3 and 4 fail for me with error 255.  I've been told that is
> somewhat normal, but I don't know why.  Lupus, can you explain that one
> to me?

It's not normal:-) A 0 result would be normal.
It's probably getting a signal (segfault?) and mint has a bug that will
make it quit with 255 error message instead of printing the backtrace.

> > Testing pinvoke8.exe... failed 34304 (134) signal (0).
> 
> For me, I put an assert, since I cannot handle a value type as a return
> value from a delegate.  No clue on how I'll fix that one.

See above, use memcpy.

The other errors I explained already in another mail.

lupus

-- 
-----------------------------------------------------------------
lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better