Crash on surface loss on Android
Saw this in logcat when swiping away an app (out of process mode on pixel 3) I suppose this might be two issues actually.
11-15 15:35:52.646 1900 7868 W ActivityManager: Process org.freedesktop.monado.openxr_runtime.out_of_process has crashed too many times, killing! Reason: crashed quickly
11-15 15:35:52.647 1900 7868 W AppStandbyController: Tried to restrict recently used app: org.freedesktop.monado.openxr_runtime.out_of_process due to 1540
11-15 15:35:52.647 1900 7868 I ActivityManager: Killing 7828:org.freedesktop.monado.openxr_runtime.out_of_process/u0a394 (adj 0): crash
I symbolized the crashes, and got two. One is familiar: I'm pretty sure this is the same way Monado dies if you close the simulator window on Linux.
Click to expand
Abort message: '/home/ryan/src/monado-android/src/xrt/compositor/main/comp_renderer.c:477: _Bool renderer_ensure_images_and_renderings(struct comp_renderer *, _Bool): assertion "r->buffer_count != 0" failed'
#00 0x000000000004fbcc /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: ba489d4985c0cf173209da67405662f9)
#01 0x000000000004ff70 /apex/com.android.runtime/lib64/bionic/libc.so (__assert2+36) (BuildId: ba489d4985c0cf173209da67405662f9)
#02 0x00000000000b9608 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
renderer_ensure_images_and_renderings
/home/ryan/src/monado-android/src/xrt/compositor/main/comp_renderer.c:477:2
#03 0x00000000000bafdc /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
renderer_resize
/home/ryan/src/monado-android/src/xrt/compositor/main/comp_renderer.c:693:2
#04 0x00000000000b8c9c /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
renderer_present_swapchain_image
/home/ryan/src/monado-android/src/xrt/compositor/main/comp_renderer.c:716:3
#05 0x00000000000b7ff0 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (comp_renderer_draw+620) (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
comp_renderer_draw
/home/ryan/src/monado-android/src/xrt/compositor/main/comp_renderer.c:967:2
#06 0x00000000000b5e98 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
compositor_layer_commit
/home/ryan/src/monado-android/src/xrt/compositor/main/comp_compositor.c:299:2
#07 0x00000000001326fc /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
xrt_comp_layer_commit
/home/ryan/src/monado-android/src/xrt/include/xrt/xrt_compositor.h:1638:9
#08 0x0000000000131a38 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
multi_main_loop
/home/ryan/src/monado-android/src/xrt/compositor/multi/comp_multi_system.c:512:3
#09 0x00000000001314e0 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
thread_func
/home/ryan/src/monado-android/src/xrt/compositor/multi/comp_multi_system.c:539:27
#10 0x00000000000b1910 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: ba489d4985c0cf173209da67405662f9)
#11 0x00000000000513f0 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: ba489d4985c0cf173209da67405662f9)
The other crash dump (of I guess another thread?) was new and android-specific: bad JNI behavior.
Click to expand
Abort message: 'JNI DETECTED ERROR IN APPLICATION: JNI ERROR (app bug): jobject is an invalid global reference: 0x28a6 (deleted reference at index 325)
#00 0x000000000004fbcc /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: ba489d4985c0cf173209da67405662f9)
#01 0x00000000007716f0 /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+904) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
#02 0x00000000000357d0 /apex/com.google.mainline.primary.libs@341050000/lib64/libbase.so/75d3253827fcfd7a8d7b02ad45991611ec4ca424c0278e13e8acfad4d14e597a3ecff6c0caa2b785c73838528ee6e9c2b313240ff895f50ee39b1d7bc10f390a/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80) (BuildId: 6f67f69ff36b970d0b831cfdab3b578d)
#03 0x0000000000034d58 /apex/com.google.mainline.primary.libs@341050000/lib64/libbase.so/75d3253827fcfd7a8d7b02ad45991611ec4ca424c0278e13e8acfad4d14e597a3ecff6c0caa2b785c73838528ee6e9c2b313240ff895f50ee39b1d7bc10f390a/libbase.so (android::base::LogMessage::~LogMessage()+352) (BuildId: 6f67f69ff36b970d0b831cfdab3b578d)
#04 0x00000000003f599c /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+3540) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
#05 0x00000000002caa64 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::AbortF(char const*, ...) (.__uniq.99033978352804627313491551960229047428)+188) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
#06 0x0000000000384900 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*) (.__uniq.99033978352804627313491551960229047428)+1544) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
#07 0x00000000005003f0 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::NewRef(char const*, _JNIEnv*, _jobject*, art::IndirectRefKind) (.__uniq.99033978352804627313491551960229047428)+196) (BuildId: 4cfdaa9e5146c43e20ae36ee1caf9b7f)
#08 0x0000000000124998 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (_JNIEnv::NewGlobalRef(_jobject*)+40) (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
_JNIEnv::NewGlobalRef(_jobject*)
/home/ryan/Android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/jni.h:549:14
#09 0x0000000000124a98 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (jni::Object::Object(_jobject*, int)+120) (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
jni::Object::Object(_jobject*, int)
/home/ryan/src/monado-android/src/external/jnipp/jnipp.cpp:301:24
#10 0x00000000001183f0 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (android_custom_surface_get_display_metrics+288) (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
android_custom_surface_get_display_metrics
/home/ryan/src/monado-android/src/xrt/auxiliary/android/android_custom_surface.cpp:214:70
#11 0x00000000000eccf0 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (android_device_create+436) (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
android_device_create
/home/ryan/src/monado-android/src/xrt/drivers/android/android_sensors.c:253:7
#12 0x00000000000ecb04 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
android_prober_autoprobe
/home/ryan/src/monado-android/src/xrt/drivers/android/android_prober.c:72:30
#13 0x00000000000b3884 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
add_from_auto_probers
/home/ryan/src/monado-android/src/xrt/state_trackers/prober/p_prober.c:741:7
#14 0x00000000000b1794 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
p_select_device
/home/ryan/src/monado-android/src/xrt/state_trackers/prober/p_prober.c:1106:3
#15 0x00000000000c445c /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
xrt_prober_select
/home/ryan/src/monado-android/src/xrt/include/xrt/xrt_prober.h:388:9
#16 0x00000000000c4210 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
legacy_open_system
/home/ryan/src/monado-android/src/xrt/targets/common/target_builder_legacy.c:140:8
#17 0x00000000000b2ec0 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
xrt_builder_open_system
/home/ryan/src/monado-android/src/xrt/include/xrt/xrt_prober.h:634:9
#18 0x00000000000b15f0 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
p_create_system
/home/ryan/src/monado-android/src/xrt/state_trackers/prober/p_prober.c:1073:10
#19 0x000000000014e71c /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
xrt_prober_create_system
/home/ryan/src/monado-android/src/xrt/include/xrt/xrt_prober.h:375:9
#20 0x000000000014e650 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (u_system_devices_create_from_prober+232) (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
u_system_devices_create_from_prober
/home/ryan/src/monado-android/src/xrt/auxiliary/util/u_system_helpers.c:178:9
#21 0x00000000000aedb0 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
t_instance_create_system
/home/ryan/src/monado-android/src/xrt/targets/common/target_instance.c:66:9
#22 0x00000000000a49cc /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
xrt_instance_create_system
/home/ryan/src/monado-android/src/xrt/include/xrt/xrt_instance.h:146:9
#23 0x00000000000a3fac /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
init_all
/home/ryan/src/monado-android/src/xrt/ipc/server/ipc_server_process.c:487:9
#24 0x00000000000a3d28 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (ipc_server_main_android+104) (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
ipc_server_main_android
/home/ryan/src/monado-android/src/xrt/ipc/server/ipc_server_process.c:938:12
#25 0x0000000000096450 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
(anonymous namespace)::IpcServerHelper::startServer()::'lambda'()::operator()() const
/home/ryan/src/monado-android/src/xrt/targets/service-lib/service_target.cpp:57:16
#26 0x00000000000963d8 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
decltype(std::__ndk1::forward<(anonymous namespace)::IpcServerHelper::startServer()::'lambda'()>(fp)()) std::__ndk1::__invoke<(anonymous namespace)::IpcServerHelper::startServer()::'lambda'()>((anonymous namespace)::IpcServerHelper::startServer()::'lambda'()&&)
/home/ryan/Android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/type_traits:3501:1
#27 0x0000000000096338 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
void std::__ndk1::__thread_execute<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, (anonymous namespace)::IpcServerHelper::startServer()::'lambda'()>(std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, (anonymous namespace)::IpcServerHelper::startServer()::'lambda'()>&, std::__ndk1::__tuple_indices<>)
/home/ryan/Android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/thread:273:5
#28 0x0000000000095ca8 /data/app/~~qXxv0aAYUhSQU9xS9x1uWw==/org.freedesktop.monado.openxr_runtime.out_of_process-OfuVv3zE0IUZG5twCxe0uA==/lib/arm64/libmonado-service.so (BuildId: 79d70f4a017a864bf415398f79157fba242f039e)
void* std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, (anonymous namespace)::IpcServerHelper::startServer()::'lambda'()> >(void*)
/home/ryan/Android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/thread:283:5
#29 0x00000000000b1910 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: ba489d4985c0cf173209da67405662f9)
#30 0x00000000000513f0 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: ba489d4985c0cf173209da67405662f9)