Description
Hi,
I have an app that works perfectly fine on an iOS device while debugging but if I create and use a release ad hoc build or test flight build the app crashes while completing a 2nd payment transaction. This crash was not encountered during the Dev/Qa cycle. The only thing that has really changed is that the device is currently running on the latest iOS version (17.4.1).
I can get the release build to work by removing UseInterpreter from the project file. However the app needs this turned on for certain clients because we have code that uses reflection.
Unfortunately I can't provide a repo and this wouldn't reproducible without a payment terminal connected via bluetooth.
The application itself does not log any exceptions but if I use the console app on a mac when this occurs I can see the following.
MONO interpreter: NIY encountered in method CreateReceipt
error: * Assertion: should not be reached at /Users/runner/work/1/s/src/mono/mono/mini/interp/interp.c:3850
Below is a sample of my project file and a list of workloads i have installed. Also please note that I have Xcode 15.2 installed. Any thoughts? Please let me know if there is anything else I can provide to assist. Thanks for your help in advance.
<PropertyGroup Condition="$(TargetFramework.Contains('-ios')) and '$(Configuration)' == 'Release'">
<CodesignProvision>MyApp(Ad-Hoc)</CodesignProvision>
<CodesignKey>Apple Distribution: My Company Inc. (8T6334H3XB)</CodesignKey>
<ArchiveOnBuild>true</ArchiveOnBuild>
<UseInterpreter>true</UseInterpreter>
<MtouchLink>None</MtouchLink>
</PropertyGroup>
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------
maui-ios 8.0.7/8.0.100 SDK 8.0.200
maui-android 8.0.7/8.0.100 SDK 8.0.200
maui-mobile 8.0.7/8.0.100 SDK 8.0.200
maui 8.0.7/8.0.100 SDK 8.0.200
Steps to Reproduce
- Build from terminal on mac with "dotnet publish -f net8.0-ios"
- Install through testflight or Xcode if using an ad hoc build.
- Run a payment transaction on external payment terminal. First transaction will complete without issues.
- Run a 2nd payment transaction on external payment terminal. App crashes.
Link to public reproduction project repository
No response
Version with bug
8.0.7 SR2
Is this a regression from previous behavior?
Yes, this used to work in .NET MAUI
Last version that worked well
Unknown/Other
Affected platforms
iOS
Affected platform versions
ios 17.4.1
Did you find any workaround?
Removing UseInterpreter from the project file allows payments to process without crash however we need this turned on because other clients code uses reflection.
Relevant log output
Note: Error was captured from the console app on a mac.
MONO interpreter: NIY encountered in method CreateReceipt
error: * Assertion: should not be reached at /Users/runner/work/1/s/src/mono/mono/mini/interp/interp.c:3850
Description
Hi,
I have an app that works perfectly fine on an iOS device while debugging but if I create and use a release ad hoc build or test flight build the app crashes while completing a 2nd payment transaction. This crash was not encountered during the Dev/Qa cycle. The only thing that has really changed is that the device is currently running on the latest iOS version (17.4.1).
I can get the release build to work by removing UseInterpreter from the project file. However the app needs this turned on for certain clients because we have code that uses reflection.
Unfortunately I can't provide a repo and this wouldn't reproducible without a payment terminal connected via bluetooth.
The application itself does not log any exceptions but if I use the console app on a mac when this occurs I can see the following.
Below is a sample of my project file and a list of workloads i have installed. Also please note that I have Xcode 15.2 installed. Any thoughts? Please let me know if there is anything else I can provide to assist. Thanks for your help in advance.
Steps to Reproduce
Link to public reproduction project repository
No response
Version with bug
8.0.7 SR2
Is this a regression from previous behavior?
Yes, this used to work in .NET MAUI
Last version that worked well
Unknown/Other
Affected platforms
iOS
Affected platform versions
ios 17.4.1
Did you find any workaround?
Removing UseInterpreter from the project file allows payments to process without crash however we need this turned on because other clients code uses reflection.
Relevant log output