On 04/10/12 19:19, Kerrick Staley wrote:

> I'm running Valgrind on Mono as it executes a C# program. The C# program
> in question invokes several native routines in several different shared
> object files, and it's crashing in one of these native routines. The
> following is a snippet from Valgrind's output:
>
> ==3652== Thread 5:
> ==3652== Conditional jump or move depends on uninitialised value(s)
> ==3652==    at 0xA55A385: ???
> ==3652==    by 0xA55A1F7: ???
> ==3652==    by 0x78C8074: ???
> ==3652==    by 0x8064415: mono_jit_runtime_invoke (mini.c:5791)
> ==3652==    by 0x81AF4EE: mono_runtime_invoke (object.c:2755)
> ==3652==    by 0x81AF8F3: mono_runtime_delegate_invoke (object.c:3420)
> ==3652==    by 0x8202FEB: start_wrapper (threads.c:790)
> ==3652==    by 0x82305EE: thread_start_routine (wthreads.c:287)
> ==3652==    by 0x416FD5D: clone (clone.S:130)

The "mono_jit_runtime_invoke" is a big clue - those will be run time 
generated
code that the JIT has created so they won't be in the symbol table.

> ==3652== Invalid read of size 4
> ==3652==    at 0xA55A543: ???
> ==3652==    by 0xA55A1F7: ???
> ==3652==    by 0x78C8074: ???
> ==3652==    by 0x8064415: mono_jit_runtime_invoke (mini.c:5791)
> ==3652==    by 0x81AF4EE: mono_runtime_invoke (object.c:2755)
> ==3652==    by 0x81AF8F3: mono_runtime_delegate_invoke (object.c:3420)
> ==3652==    by 0x8202FEB: start_wrapper (threads.c:790)
> ==3652==    by 0x82305EE: thread_start_routine (wthreads.c:287)
> ==3652==    by 0x416FD5D: clone (clone.S:130)
> ==3652==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

Something has tried to read through a null pointer.

> ==3652== Thread 5 return signal frame corrupted.  Killing process.

I think this means that something in a signal handler has written
to bits of the stack it shouldn't have, corrupting the information that 
is stored there for use when returning from the signal.

Tom

-- 
Tom Hughes ([email protected])
http://compton.nu/

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to