SIGSEGV in `mono_interp_exec_method` on iOS with `UseInterpreter=true` (.NET 10)
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Description
### Description
Our MAUI iOS app crashes with `EXC_BAD_ACCESS (SIGSEGV)` at `KERN_INVALID_ADDRESS 0x0000000100000019` inside the Mono interpreter on a background thread. The crash occurs non-deterministically after the app has been running for ~1-2 hours in the foreground. The app performs periodic background HTTP sync operations and SQLite database access.
This appears to be the same issue as #115991, which was fixed in .NET 9.0.x, but we are experiencing it on .NET 10.
**Stack Trace (symbolicated)**
```
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000100000019
Thread 12 Crashed:
0 Company.OurApp mono_interp_exec_method
1 Company.OurApp interp_runtime_invoke
2 Company.OurApp mono_jit_runtime_invoke
3 Company.OurApp mono_runtime_invoke_checked
4 Company.OurApp start_wrapper
5 libsystem_pthread _pthread_start
6 libsystem_pthread thread_start
```
### Reproduction Steps
Hard to minimally create the reproduction.
### Expected behavior
App should run without crashing (Similar to how it behaved with .NET8)
### Actual behavior
App crashes with no interaction after ~1-2 hours
### Regression?
Seems like regression as we have simply upgraded our .net8 app to .net10
### Known Workarounds
Not yet, will try the workaround suggested in [115991](https://github.com/dotnet/runtime/issues/115991) and will report here
### Configuration
- .NET 10 (10.0.201)
- MAUI iOS app
- Release build
- `true`
- Device: iPad Mini 6th gen (iPad14,1), iPadOS 26.1 (23B85)
- Distribution: TestFlight
Workspace:
```
Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------
maui 10.0.20/10.0.100 SDK 10.0.200
```
### Other information
This matches the exact crash signature from #115991 (fixed in 9.0.x): same faulting address `0x0000000100000019`, same native stack through `mono_interp_exec_method` → `start_wrapper`. The fix may not have been ported to .NET 10, or this is a new regression with the same root cause.
Contributor guide
Assessment
This issue has not been assessed yet.