runtime: [maui] Airplane Mode causes app to crash with no message
Description
Starting an app (e.g., MonkeyFinder app) with Airplane Mode enabled, causes it to crash after splash screen. No message is displayed. The app just goes away.
Workload list:
Installed Workload Id Manifest Version Installation Source
---------------------------------------------------------------------
ios 16.2.1024/7.0.100 VS 17.5.33502.453
maccatalyst 16.2.1024/7.0.100 VS 17.5.33502.453
maui-windows 7.0.59/7.0.100 VS 17.5.33502.453
maui-maccatalyst 7.0.59/7.0.100 VS 17.5.33502.453
maui-ios 7.0.59/7.0.100 VS 17.5.33502.453
android 33.0.26/7.0.100 VS 17.5.33502.453
maui-android 7.0.59/7.0.100 VS 17.5.33502.453
wasm-tools-net6 7.0.4/7.0.100 VS 17.5.33502.453
wasm-tools 7.0.4/7.0.100 VS 17.5.33502.453
Steps to Reproduce
- Clone the repo, clean, build.
- Start Android emulator API 31 or 33 and set Airplane Mode to ON
- Start App
- It shows splash screen then aborts.
Link to public reproduction project repository
https://github.com/dotnet-presentations/dotnet-maui-workshop
Version with bug
7.0 (current)
Last version that worked well
7.0 (current)
Affected platforms
Android
Affected platform versions
Android API 31, 33
Did you find any workaround?
No workaround. The content from the output window is below. (I cleared the output window. Then, with Airplane Mode enabled, ran MonkeyFinder and waited for the app to crash. This is from the output window.)
Relevant log output
> am start -a "android.intent.action.MAIN" -c "android.intent.category.LAUNCHER" -n "com.companyname.monkeyfinder/crc64c2e3c35ecaf1aecc.MainActivity"
> Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.companyname.monkeyfinder/crc64c2e3c35ecaf1aecc.MainActivity }
[me.monkeyfinder] Late-enabling -Xcheck:jni
[me.monkeyfinder] Unexpected CPU variant for x86: x86_64.
[me.monkeyfinder] Known variants: atom, sandybridge, silvermont, kabylake, default
[CompatibilityChangeReporter] Compat change id reported: 171979766; UID 10160; state: ENABLED
[nativeloader] Configuring classloader-namespace for other apk /system_ext/framework/androidx.window.extensions.jar. target_sdk_version=33, uses_libraries=ALL, library_path=/data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/lib/x86_64:/data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/base.apk!/lib/x86_64, permitted_path=/data:/mnt/expand:/data/user/0/com.companyname.monkeyfinder
[nativeloader] Configuring classloader-namespace for other apk /system_ext/framework/androidx.window.sidecar.jar. target_sdk_version=33, uses_libraries=ALL, library_path=/data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/lib/x86_64:/data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/base.apk!/lib/x86_64, permitted_path=/data:/mnt/expand:/data/user/0/com.companyname.monkeyfinder
[ziparchive] Unable to open '/data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/base.dm': No such file or directory
[ziparchive] Unable to open '/data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/base.dm': No such file or directory
[nativeloader] Configuring classloader-namespace for other apk /data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/base.apk. target_sdk_version=33, uses_libraries=, library_path=/data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/lib/x86_64:/data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/base.apk!/lib/x86_64, permitted_path=/data:/mnt/expand:/data/user/0/com.companyname.monkeyfinder
[GraphicsEnvironment] ANGLE Developer option for 'com.companyname.monkeyfinder' set to: 'default'
[GraphicsEnvironment] ANGLE GameManagerService for com.companyname.monkeyfinder: false
[GraphicsEnvironment] Neither updatable production driver nor prerelease driver is supported.
[NetworkSecurityConfig] No Network Security Config specified, using platform default
[NetworkSecurityConfig] No Network Security Config specified, using platform default
[debug-app-helper] Checking if libmonodroid was unpacked to /data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/lib/x86_64/libmonodroid.so
[debug-app-helper] Native libs extracted to /data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/lib/x86_64, assuming application/android:extractNativeLibs == true
[debug-app-helper] Setting up for DSO lookup in app data directories
[debug-app-helper] Added filesystem DSO lookup location: /data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/lib/x86_64
[debug-app-helper] Using runtime path: /data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/lib/x86_64
[debug-app-helper] checking directory: `/data/user/0/com.companyname.monkeyfinder/files/.__override__/lib`
[debug-app-helper] directory does not exist: `/data/user/0/com.companyname.monkeyfinder/files/.__override__/lib`
[debug-app-helper] Checking whether Mono runtime exists at: /data/user/0/com.companyname.monkeyfinder/files/.__override__/libmonosgen-2.0.so
[debug-app-helper] Checking whether Mono runtime exists at: /data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/lib/x86_64/libmonosgen-2.0.so
[debug-app-helper] Mono runtime found at: /data/app/~~NpSuQ8dwzQKPqXk0Cn7F2Q==/com.companyname.monkeyfinder-5yUs1skMIWC1-q3u3Ri6OA==/lib/x86_64/libmonosgen-2.0.so
[me.monkeyfinder] Attempt to remove non-JNI local reference, dumping thread
[DOTNET] JNI_OnLoad: JNI_OnLoad in pal_jni.c
[DOTNET] GetOptionalClassGRef: optional class com/android/org/conscrypt/OpenSSLEngineImpl was not found
[monodroid] Creating public update directory: `/data/user/0/com.companyname.monkeyfinder/files/.__override__`
[me.monkeyfinder] Attempt to remove non-JNI local reference, dumping thread
[monodroid-debug] Trying to initialize the debugger with options: --debugger-agent=transport=dt_socket,loglevel=0,address=10.0.2.2:59156,embedding=1
[mono] debugger-agent: Unable to connect to 10.0.2.2:59156
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 18 (12 by maintainers)
@RodBarnes it appears you can also just hit Ctrl+F5 currently (start without debugging).
@thaystg @grendello it appears if you put an emulator in airplane mode, the debugger exits with no crash at all:
Does it actually call
exit()and that’s why no native stack trace is here at all?If I run the same app in Release mode, it works fine. @RodBarnes that is what I would do for now if you need to test your app in airplane mode.