[Mono-bugs] [Bug 465937] New: Mono 2.2 JIT crash on method-to-ir.c:10432:mono_spill_global_vars after upgrade from 2.0

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Jan 14 01:17:28 EST 2009


https://bugzilla.novell.com/show_bug.cgi?id=465937


           Summary: Mono 2.2 JIT crash on
                    method-to-ir.c:10432:mono_spill_global_vars after
                    upgrade from 2.0
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.2.x
          Platform: x86
        OS/Version: Mac OS X 10.5
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: eugeny.grishul at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


Created an attachment (id=264927)
 --> (https://bugzilla.novell.com/attachment.cgi?id=264927)
NObjective runtime + Tests

User-Agent:       Opera/9.63 (Windows NT 6.0; U; ru) Presto/2.1.1

My library uses many tricks to provide best performance in the world for
interop with Objective-C. After upgrade to Mono 2.2 I can't run validation
NUnit tests due to Mono crash ( crash in code that generated by Reflection.Emit
):

ERROR:method-to-ir.c:10432:mono_spill_global_vars: assertion failed:
(load_opcode != OP_LOADV_MEMBASE)

Reproducible: Always

Steps to Reproduce:
1. Download and unpack attached files or build NObjective from trunk
(http://code.google.com/p/objcmapper/) on Mac OS 10.5 system
2. nunit-console2 /nologo NObjective.Tests.Leopard.dll

Actual Results:  
Crash with message
ERROR:method-to-ir.c:10432:mono_spill_global_vars: assertion failed:
(load_opcode != OP_LOADV_MEMBASE)
Stacktrace:

  at TransitionNObjective.Tests.AutoRegisteredClass.-ctor0
(int*,int*,int,int,NObjective.RuntimeObject,NObjective.Selector) <0xffffffff>
  at (wrapper managed-to-native)
NObjective.Runtime/NativeMethods.objc_msgSend_eh
(intptr,NObjective.Selector,intptr&,int,NObjective.Runtime/ArgumentsStack&)
<0x00004>
  at (wrapper managed-to-native)
NObjective.Runtime/NativeMethods.objc_msgSend_eh
(intptr,NObjective.Selector,intptr&,int,NObjective.Runtime/ArgumentsStack&)
<0xffffffff>
  at NObjective.Runtime.SendObjectiveCMessage
(NObjective.Runtime/MessageSendingOptions,intptr,NObjective.Selector,NObjective.RuntimeMethodEncoding&,intptr,int,object[])
<0x01ec6>
  at NObjective.Runtime.InvokeRawFast
(NObjective.RuntimeObject,NObjective.Selector,NObjective.RuntimeMethodEncoding,object[])
<0x0002c>
  at NObjective.Runtime.InvokeRaw
(NObjective.RuntimeObject,NObjective.Selector,object[]) <0x00015>
  at NObjective.RuntimeObject.InvokeRaw (NObjective.Selector,object[])
<0x0001e>
  at NObjective.RuntimeObject.InvokeIntPtr (NObjective.Selector,object[])
<0x00016>
  at NObjective.RuntimeObject.InvokeObject (NObjective.Selector,object[])
<0x00016>
  at NObjective.RuntimeClass.CreateInstance (NObjective.Selector,object[])
<0x00031>
  at NObjective.Tests.RegistrationTest.ConstructorsTest () <0x0009b>
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__
(object,intptr,intptr,intptr) <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke
(object,object[],System.Exception&) <0x00004>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke
(object,object[],System.Exception&) <0xffffffff>
  at System.Reflection.MonoMethod.Invoke
(object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
[0x00057] in /private/tmp/monobuild/build/BUILD/mono-2.2/mcs/c
lass/corlib/System.Reflection/MonoMethod.cs:159
  at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/class/corlib/System.Reflection/MethodBase.cs:111
  at NUnit.Core.Reflect.InvokeMethod (System.Reflection.MethodInfo,object)
[0x00006] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/Reflect.cs:373
  at NUnit.Core.TemplateTestCase.doTestCase (NUnit.Core.TestCaseResult)
[0x00000] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TemplateTestCase.cs:155
  at NUnit.Core.TemplateTestCase.doRun (NUnit.Core.TestCaseResult) [0x00011] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TemplateTestCase.cs:113
  at NUnit.Core.TemplateTestCase.Run (NUnit.Core.TestCaseResult) [0x0006b] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TemplateTestCase.cs:76
  at NUnit.Core.TestCase.Run (NUnit.Core.EventListener) [0x0001d] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestCase.cs:68
  at NUnit.Core.TestCase.Run (NUnit.Core.EventListener,NUnit.Core.IFilter)
[0x00000] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestCase.cs:58
  at NUnit.Core.TestSuite.RunAllTests
(NUnit.Core.TestSuiteResult,NUnit.Core.EventListener,NUnit.Core.IFilter)
[0x0008c] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestSuite.cs:259
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.IFilter)
[0x0003c] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestSuite.cs:213
  at NUnit.Core.TestSuite.RunAllTests
(NUnit.Core.TestSuiteResult,NUnit.Core.EventListener,NUnit.Core.IFilter)
[0x0008c] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestSuite.cs:259
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.IFilter)
[0x0003c] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestSuite.cs:213
  at NUnit.Core.TestSuite.RunAllTests
(NUnit.Core.TestSuiteResult,NUnit.Core.EventListener,NUnit.Core.IFilter)
[0x0008c] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestSuite.cs:259
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.IFilter)
[0x0003c] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestSuite.cs:213
  at NUnit.Core.TestSuite.RunAllTests
(NUnit.Core.TestSuiteResult,NUnit.Core.EventListener,NUnit.Core.IFilter)
[0x0008c] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestSuite.cs:259
  at NUnit.Core.TestSuite.Run (NUnit.Core.EventListener,NUnit.Core.IFilter)
[0x0003c] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestSuite.cs:213
  at NUnit.Core.AssemblyTestSuite.Run
(NUnit.Core.EventListener,NUnit.Core.IFilter) [0x00028] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/TestAssembly.cs:67
  at NUnit.Core.RemoteTestRunner.Run
(NUnit.Core.EventListener,NUnit.Core.Test[]) [0x0010c] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/RemoteTestRunner.cs:411
  at NUnit.Core.RemoteTestRunner.Run (NUnit.Core.EventListener,NUnit.Core.Test)
[0x0000b] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/RemoteTestRunner.cs:355
  at NUnit.Core.RemoteTestRunner.Run (NUnit.Core.EventListener) [0x00000] in
/private/tmp/monobuild/build/BUILD/mono-2.2/mcs/nunit20/core/RemoteTestRunner.cs:292
  at (wrapper remoting-invoke-with-check) NUnit.Core.RemoteTestRunner.Run
(NUnit.Core.EventListener) <0xffffffff>
  at (wrapper xdomain-dispatch) NUnit.Core.RemoteTestRunner.Run
(object,byte[]&,byte[]&) <0xffffffff>
  at (wrapper xdomain-invoke) NUnit.Core.RemoteTestRunner.Run
(NUnit.Core.EventListener) <0xffffffff>
  at NUnit.Util.TestDomain.Run (NUnit.Core.EventListener) <0x00082>
  at NUnit.Console.ConsoleUi.Execute (NUnit.Util.ConsoleOptions) <0x0040c>
  at NUnit.Console.ConsoleUi.Main (string[]) <0x0013a>
  at (wrapper runtime-invoke) NUnit.Console.ConsoleUi.runtime_invoke_int_object
(object,intptr,intptr,intptr) <0xffffffff>
/NObjective/tests/test_leopard.sh: line 14:  1072 Abort trap             
nunit-console2 /nologo NObjective.Tests.Leopard.dll

Expected Results:  
Same behaviour like on Mono 2.0 (all tests should be passed)

-- 
Configure bugmail: https://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