cancel
Showing results for 
Search instead for 
Did you mean: 

App hangs forever on second run

lolaloppem
Explorer

Device: Quest Pro

My app, built with Unity, runs once and then no longer works. On subsequent starts it never shows anything and just hangs on starting up, eventually I get a prompt that it is not responding and asking whether to abort or wait. This behavior never occurred on previous versions of meta horizon OS. I will attach logcat output.

If I select "wait" I see these messages accumulate:

2025-05-14 21:25:16.340 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap INPUT_TYPE_MAP: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:25:17.385 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap INPUT_TYPE_MAP: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:25:26.151 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap INPUT_TYPE_MAP: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:26:24.074 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap INPUT_TYPE_MAP: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:26:40.474 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap CONTROLLER_RIGHT: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:26:40.485 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap INPUT_TYPE_MAP: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:26:49.674 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap CONTROLLER_LEFT: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:26:49.674 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap CONTROLLER_RIGHT: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:26:49.685 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap INPUT_TYPE_MAP: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:26:57.940 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap CONTROLLER_LEFT: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:26:57.941 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap CONTROLLER_RIGHT: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')
2025-05-14 21:26:57.951 12307 12418 Warn MemoryBrokerClient Controllers: failed to remap INPUT_TYPE_MAP: getSharedMemoryFileDescriptor (Status(-1, EX_SECURITY): 'missing runtime permission(s)')

 

2 REPLIES 2

lolaloppem
Explorer

The storage permission was not enabled. When I enabled it in the permissions menu in horizon OS, the app no longer hangs. There was no prompt presented to turn it on.

I had a similar problem. It would ask on the first run, then hang.

It then would run on the second run. I added a check that forced a check.

 Needing this changes often when the headset is updated. Sometimes it needs this code, other times it hangs the app and does it without me having this code.

#if UNITY_ANDROID
if (AndroidPermissions.CheckMicPermissions() == false) {
    Debug.Log("Please give the application permission to use the microphone. Requesting permission.");
    AndroidPermissions.GetMicPermission();
if (AndroidPermissions.CheckMicPermissions() == false) {
    Debug.Log("Could not get microphone permission.");
} else {
    Debug.Log("The application now has permission to use the microphone.");
}

} else {
    Debug.Log("The application has permission to use the microphone.");
}
#endif