-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Milestone
Description
Description
App fails with unexpected exception:
System.ExecutionEngineException: Illegal instruction: Attempted to execute an instruction code not defined by the processor.
Reproduction Steps
Run: ./introspection.app/Contents/MacOS/introspection
To build from source:
git clone https://github.com/dotnet/macios
cd macios
git checkout darc-net10.0-af994d64-8b2e-4de8-9f93-2f77e6447306
./configure --disable-all-platforms --enable-macos
make reset
make all -j8
make install -j8
make build run-bare RID=osx-x64 -C tests/introspection/dotnet/macOSExpected behavior
Successful execution.
Actual behavior
App terminates with:
Fatal error.
System.ExecutionEngineException: Illegal instruction: Attempted to execute an instruction code not defined by the processor.
Repeated 135 times:
--------------------------------
at System.Runtime.EH.GetClasslibException(System.Runtime.ExceptionIDs, IntPtr)
at System.Runtime.EH.RhThrowHwEx(UInt32, ExInfo ByRef)
--------------------------------
Fatal error.
System.ExecutionEngineException: Illegal instruction: Attempted to execute an instruction code not defined by the processor.
Repeated 135 times:
--------------------------------
at System.Runtime.EH.GetClasslibException(System.Runtime.ExceptionIDs, IntPtr)
at System.Runtime.EH.RhThrowHwEx(UInt32, ExInfo ByRef)
--------------------------------
at System.ModuleHandle.ResolveMethodHandle(Int32, System.RuntimeTypeHandle[], System.RuntimeTypeHandle[])
at System.Reflection.CustomAttribute.AddCustomAttributes(ListBuilder`1<System.Object> ByRef, System.Reflection.RuntimeModule, Int32, System.RuntimeType, Boolean, ListBuilder`1<System.Object>)
at System.RuntimeType.GetCustomAttributes(Boolean)
at Xamarin.Tests.AvailabilityExtensions.IsAvailable(System.Reflection.ICustomAttributeProvider, Xamarin.Tests.PlatformInfo)
at Xamarin.Tests.AvailabilityExtensions.IsAvailableOnHostPlatform(System.Reflection.ICustomAttributeProvider)
at Introspection.ApiBaseTest.SkipDueToAttribute(System.Reflection.MemberInfo)
at Introspection.ApiBaseTest.SkipDueToAttribute(System.Reflection.MemberInfo)
at Introspection.ApiBaseTest.SkipDueToAttribute(System.Reflection.MemberInfo)
at Introspection.ApiFieldTest.Skip(System.Reflection.PropertyInfo)
at Introspection.MacApiFieldTest.Skip(System.Reflection.PropertyInfo)
at Introspection.ApiFieldTest.AllProperties()
at Introspection.ApiFieldTest.FieldExists()
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(System.Object, IntPtr*)
at System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
at NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo, System.Object, System.Object[])
at NUnit.Framework.Internal.MethodWrapper.Invoke(System.Object, System.Object[])
at NUnit.Framework.Internal.Commands.TestMethodCommand.InvokeTestMethod(NUnit.Framework.Internal.TestExecutionContext)
at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(NUnit.Framework.Internal.TestExecutionContext)
at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)
at NUnit.Framework.Internal.Execution.SimpleWorkItem.PerformWork()
at NUnit.Framework.Internal.Execution.WorkItem.RunOnCurrentThread()
at NUnit.Framework.Internal.Execution.WorkItem.Execute()
at NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)
at NUnit.Framework.Internal.Execution.CompositeWorkItem.RunChildren()
at NUnit.Framework.Internal.Execution.CompositeWorkItem.PerformWork()
at NUnit.Framework.Internal.Execution.WorkItem.RunOnCurrentThread()
at NUnit.Framework.Internal.Execution.WorkItem.Execute()
at NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)
at NUnit.Framework.Internal.Execution.CompositeWorkItem.RunChildren()
at NUnit.Framework.Internal.Execution.CompositeWorkItem.PerformWork()
at NUnit.Framework.Internal.Execution.WorkItem.RunOnCurrentThread()
at NUnit.Framework.Internal.Execution.WorkItem.Execute()
at NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)
at NUnit.Framework.Internal.Execution.CompositeWorkItem.RunChildren()
at NUnit.Framework.Internal.Execution.CompositeWorkItem.PerformWork()
at NUnit.Framework.Internal.Execution.WorkItem.RunOnCurrentThread()
at NUnit.Framework.Internal.Execution.WorkItem.Execute()
at NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)
at NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)
at NUnit.Framework.Api.NUnitTestAssemblyRunner.StartRun(NUnit.Framework.Interfaces.ITestListener)
at NUnit.Framework.Api.NUnitTestAssemblyRunner+<>c__DisplayClass38_0.<RunAsync>b__0()
at NUnit.Framework.Api.NUnitTestAssemblyRunner.WrapInNUnitCallContext(System.Action)
at NUnit.Framework.Api.NUnitTestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener, NUnit.Framework.Interfaces.ITestFilter)
at NUnit.Framework.Api.NUnitTestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener, NUnit.Framework.Interfaces.ITestFilter)
at MonoTouch.NUnit.UI.BaseTouchRunner.Run(NUnit.Framework.Internal.Test)
at MonoTouch.NUnit.UI.BaseTouchRunner.Run()
at MonoTouch.NUnit.UI.BaseTouchRunner.RunAsync()
at MonoTouch.NUnit.UI.MacRunner+<RunTestsAsync>d__1.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.__Canon ByRef)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.__Canon ByRef)
at MonoTouch.NUnit.UI.MacRunner.RunTestsAsync(MonoTouch.NUnit.UI.TouchOptions, System.Reflection.Assembly[])
at MonoTouch.NUnit.UI.MacRunner+<>c__DisplayClass0_1+<<MainAsync>b__0>d.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.__Canon ByRef)
at MonoTouch.NUnit.UI.MacRunner+<>c__DisplayClass0_1.<MainAsync>b__0()
at Foundation.NSActionDispatcher.Apply()
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(System.Object, IntPtr*)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(System.Object, System.Reflection.BindingFlags)
at System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
at ObjCRuntime.Runtime.InvokeMethod(System.Reflection.MethodBase, System.Object, IntPtr)
at ObjCRuntime.Runtime.bridge_runtime_invoke_method(MonoObject*, MonoObject*, IntPtr, IntPtr*)
at ObjCRuntime.Messaging.void_objc_msgSend_NativeHandle_NativeHandle_bool(IntPtr, IntPtr, ObjCRuntime.NativeHandle, ObjCRuntime.NativeHandle, Byte)
at ObjCRuntime.Messaging.void_objc_msgSend_NativeHandle_NativeHandle_bool(IntPtr, IntPtr, ObjCRuntime.NativeHandle, ObjCRuntime.NativeHandle, Byte)
at Foundation.NSObject.InvokeOnMainThread(System.Action)
at MonoTouch.NUnit.UI.MacRunner+<MainAsync>d__0.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.__Canon ByRef)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Int32, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.__Canon ByRef)
at MonoTouch.NUnit.UI.MacRunner.MainAsync(System.Collections.Generic.IList`1<System.String>, Boolean, System.Action`1<Int32>, System.Reflection.Assembly[])
at Xamarin.Mac.Tests.MainClass+<Main>d__0.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.__Canon ByRef)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Int32, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.__Canon ByRef)
at Xamarin.Mac.Tests.MainClass.Main(System.String[])
at Xamarin.Mac.Tests.MainClass.<Main>(System.String[])
Regression?
Yes, this started happening in this maestro bump: dotnet/macios#23694.
Known Workarounds
No response
Configuration
.NET 10.0.100-rc.1.25426.115 (note that this is actual RC 2 due to dotnet/dotnet#1918)
This is on macOS, using the macos workload to create a macOS app.
Other information
This only happens with x64 (either on x64 hardware, or using Rosetta on arm64), using CoreCLR.
It doesn't happen with Mono (on Mac Catalyst).
Metadata
Metadata
Assignees
Type
Projects
Status
No status