[Mono-bugs] [Bug 513120] New: Assertion in mono_method_to_ir (mono_method_check_context_used)

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Jun 15 06:24:54 EDT 2009


http://bugzilla.novell.com/show_bug.cgi?id=513120


           Summary: Assertion in mono_method_to_ir
                    (mono_method_check_context_used)
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.4.x
          Platform: i586
        OS/Version: openSUSE 11.1
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: lluis at novell.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


Created an attachment (id=298051)
 --> (http://bugzilla.novell.com/attachment.cgi?id=298051)
Patch required to reproduce the issue in MD

I'm getting this assertion when running MD:

ERROR:method-to-ir.c:6105:mono_method_to_ir: assertion failed:
(!mono_method_check_context_used (cmethod))
Stacktrace:

  at Mono.Debugging.Evaluation.ObjectValueAdaptor`2<object,
object>.GetExpressionValue
(Mono.Debugging.Evaluation.EvaluationContext`2<object, object>,string,bool)
<0xffffffff>
  at Mono.Debugging.Evaluation.ObjectValueAdaptor`2<object,
object>.GetExpressionValue
(Mono.Debugging.Evaluation.EvaluationContext`2<object, object>,string,bool)
<0x000a6>
  at
Mono.Debugging.Evaluation.ObjectValueAdaptor`2/<GetExpressionValuesAsync>c__AnonStorey7<object,
object>.<>m__5 () <0x00033>
  at
Mono.Debugging.Evaluation.AsyncEvaluationTracker/<Run>c__AnonStorey4.<>m__2 ()
[0x00016] in
/home/lluis/work/monodevelop/main/src/core/Mono.Debugging/Mono.Debugging.Evaluation/AsyncEvaluationTracker.cs:57
  at Mono.Debugging.Evaluation.TimedEvaluator.SafeRun
(Mono.Debugging.Evaluation.EvaluatorDelegate) [0x00000] in
/home/lluis/work/monodevelop/main/src/core/Mono.Debugging/Mono.Debugging.Evaluation/TimedEvaluator.cs:173
  at Mono.Debugging.Evaluation.TimedEvaluator.Runner () [0x0002e] in
/home/lluis/work/monodevelop/main/src/core/Mono.Debugging/Mono.Debugging.Evaluation/TimedEvaluator.cs:118
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__
(object,intptr,intptr,intptr) <IL 0x0004a, 0xffffffff>

Native stacktrace:

    /home/lluis/install/bin/mono [0x80d1cb2]
    [0xffffe410]
    /lib/libc.so.6(abort+0x188) [0x4017f2c8]
    /usr/lib/libglib-2.0.so.0(g_assertion_message+0x123) [0x4009bf33]
    /usr/lib/libglib-2.0.so.0 [0x4009c3cd]
    /home/lluis/install/bin/mono [0x8089441]
    /home/lluis/install/bin/mono [0x806193a]
    /home/lluis/install/bin/mono [0x8063299]
    /home/lluis/install/bin/mono [0x80d448d]
    [0x4040c066]
    [0x4285aefc]
    [0x42856bc7]
    [0x42856b15]
    [0x42856a06]
    [0x40835938]
    /home/lluis/install/bin/mono(mono_runtime_delegate_invoke+0x34) [0x8107a64]
    /home/lluis/install/bin/mono [0x81718b7]
    /home/lluis/install/bin/mono [0x81c55b6]
    /home/lluis/install/bin/mono [0x81e1a36]
    /lib/libpthread.so.0 [0x401151b5]
    /lib/libc.so.6(clone+0x5e) [0x402243be]

I tried isolating to a simpler test case, but I couldn't. To reproduce:

* Get latest MD from SVN
* Apply the attached patch
* Create a simple console application like this:

 public class App
 {
    public static void Main (string[] args)
    {
        string s = "hi";
        Console.WriteLine ("Hello World");
    }
 }

* Set a breakpoint (F9) at the WriteLine line.
* Debug the application.
* When the breakpoint is hit, try to see the value of 's' by moving the mouse
over 's' and waiting for the tooltip.
* MD doesn't crash, but you'll see the assertion in the terminal where you
started MD from.

I've been able to reproduce with Mono 2.4.x and HEAD.

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list