[Mono-dev] Assertion failures when using Moq on Linux/ARM

weeble clockworksaint at gmail.com
Thu Feb 17 06:58:51 EST 2011


(Sorry if the formatting is a bit wonky here. I have repeatedly tried to send
this message to the list by email, but it keeps vanishing. I'm copying and
pasting it into the go-mono forum instead. If anyone can help me figure out
why my emails are vanishing, please let me know.)

On Mon, Feb 7, 2011 at 12:09 PM, Weeble <clockworksaint at gmail.com> wrote:
> I'm currently running Mono 2.6.7 on an ARM box (a Sheevaplug) running
> Linux. When I try to run unit tests that work on Windows-x86 with
> Microsoft's CLR and on Linux-x86 with Mono, they fail often (but not
> always) with an assertion:
>
> thunk failed for 0x40368c80 from 0x4f2a20d8
> ERROR:mini-arm.c:2579:handle_thunk: assertion failed: (pdata.found == 1)

I have been unable so far to extricate the native library to produce a
simple test case that reproduces this. However, I have now built Mono
2.8.2 from source for the ARM device and edited in some extra
diagnostic output in mini-arm.c. It would appear that the when the
failure happens, handle_thunk uses search_thunk_slot to search for an
appropriate thunk slot, but every thunk table it considers is too far
away from the address it wants to branch from. Every invocation of
search_thunk_slot thus takes an early return and cannot create a thunk
entry in any of them.

Is there someone I can talk to who is familiar with this code, and
could advise me on how to address the problem? I imagine I could pore
over mini-arm.c for long enough to understand how and when thunk
tables are allocated and then maybe I could figure out how to make
sure that when memory is allocated for emitting code into that if
there's no thunk table in range a new one is created, or something
like that. However, I think I'd fare a lot better under advice from
someone familiar with it. Is it rude just to directly email the
authors (Paolo Molaro, Dietmar Maurer) who are recorded in the file?

Regards,

Weeble.
-- 
View this message in context: http://mono.1490590.n4.nabble.com/Assertion-failures-when-using-Moq-on-Linux-ARM-tp3310641p3310641.html
Sent from the Mono - Dev mailing list archive at Nabble.com.


More information about the Mono-devel-list mailing list