• Edited

Hello, I have been facing an issue for a few weeks: when I click on the icon to launch some applications, the application opens up and then sterminates immediately, returning me to the main screen of GrapheneOS. However, if I click on the application again, it works perfectly fine.

There is no error message. I checked the logs but did not observe anything obvious (I am not an expert). It is very intermittent—not often enough to be a real issue, but frequent enough to be a bit irritating—maybe 3-4 times a day. This issue is happening only with a subset of applications, such as WhatsApp, Proton Mail, Proton Drive, or Aegis. There is no particular pattern.

If it were caused by MTE or some security features, I would expect a popup with a crash report, but there is nothing. "Notify about system process crashes" is activated, as well as "Show notifications about detected errors" in Memory Tagging.

I am wondering if I might have changed some parameters while testing GrapheneOS. I may try a factory reset and full reconfiguration if I don't find a solution.

Are there people on this forum who are facing similar symptoms?

A sample of logs from AEGIS:

--------- switch to events
01-19 18:13:33.369 26523 26523 I wm_on_stop_called: [Token=246813922,Component Name=com.beemdevelopment.aegis.ui.MainActivity,Reason=STOP_ACTIVITY_ITEM,time=1ms]
--------- switch to main
01-19 18:15:47.673 26523 26523 I Choreographer: Skipped 4511 frames! The application may be doing too much work on its main thread.
--------- switch to events
01-19 18:15:47.683 26523 26523 I wm_on_restart_called: [Token=246813922,Component Name=com.beemdevelopment.aegis.ui.MainActivity,Reason=performRestart,time=0ms]
01-19 18:15:47.728 26523 26523 I wm_on_start_called: [Token=246813922,Component Name=com.beemdevelopment.aegis.ui.MainActivity,Reason=handleStartActivity,time=44ms]
01-19 18:15:47.732 26523 26523 I wm_on_resume_called: [Token=246813922,Component Name=com.beemdevelopment.aegis.ui.MainActivity,Reason=RESUME_ACTIVITY,time=0ms]
01-19 18:15:47.732 26523 26523 I wm_on_top_resumed_gained_called: [Token=246813922,Component Name=com.beemdevelopment.aegis.ui.MainActivity,Reason=topWhenResuming]
01-19 18:15:47.766 26523 26523 I viewroot_draw_event: [window=VRI[MainActivity],event=Start draw after previous draw not visible]
01-19 18:15:47.880 26523 26523 I viewroot_draw_event: [window=VRI[MainActivity],event=reportDrawFinished seqId=0]
01-19 18:15:47.881 26523 26523 I wm_on_top_resumed_lost_called: [Token=246813922,Component Name=com.beemdevelopment.aegis.ui.MainActivity,Reason=topStateChangedWhenResumed]
01-19 18:15:47.883 26523 26523 I wm_on_paused_called: [Token=246813922,Component Name=com.beemdevelopment.aegis.ui.MainActivity,Reason=performPause,time=1ms]
--------- switch to main
01-19 18:15:48.927 26523 26523 D VRI[MainActivity]: visibilityChanged oldVisibility=true newVisibility=false
--------- switch to events
01-19 18:15:48.958 26523 26523 I viewroot_draw_event: [window=VRI[MainActivity],event=Not drawing due to not visible. Reason=!mAppVisible && !mForceDecorViewVisibility]
--------- switch to main
01-19 18:15:48.959 26523 26523 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=false callback=androidx.activity.OnBackPressedDispatcher$Api34Impl$createOnBackAnimationCallback$1@6e5c75
--------- switch to events
01-19 18:15:48.985 26523 26523 I wm_on_stop_called: [Token=246813922,Component Name=com.beemdevelopment.aegis.ui.MainActivity,Reason=LIFECYCLER_STOP_ACTIVITY,time=1ms]
--------- switch to main
01-19 18:15:48.988 26523 26523 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=false callback=android.app.Activity$$ExternalSyntheticLambda0@eb110dc
--------- switch to events
01-19 18:15:48.997 26523 26523 I wm_on_destroy_called: [Token=246813922,Component Name=com.beemdevelopment.aegis.ui.MainActivity,Reason=performDestroy,time=9ms]
--------- switch to main
01-19 18:15:48.999 26523 26523 D AutofillManager: view not autofillable - not passing ime action check

A sample from Whatsapp:

--------- switch to events
01-20 12:05:12.656 18201 18201 I auditd : avc=type=1400 audit(0.0:8339): avc: denied { read } for comm="app_process64" name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.656 18201 18201 W app_process64: type=1400 audit(0.0:8339): avc: denied { read } for name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.668 18201 18201 I auditd : avc=type=1400 audit(0.0:8340): avc: denied { read } for comm="app_process64" name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.668 18201 18201 W app_process64: type=1400 audit(0.0:8340): avc: denied { read } for name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.668 18201 18201 I auditd : avc=type=1400 audit(0.0:8341): avc: denied { read } for comm="app_process64" name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.668 18201 18201 W app_process64: type=1400 audit(0.0:8341): avc: denied { read } for name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.668 18201 18201 I auditd : avc=type=1400 audit(0.0:8342): avc: denied { read } for comm="app_process64" name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.668 18201 18201 W app_process64: type=1400 audit(0.0:8342): avc: denied { read } for name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.668 18201 18201 I auditd : avc=type=1400 audit(0.0:8343): avc: denied { read } for comm="eneos.logviewer" name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.668 18201 18201 W eneos.logviewer: type=1400 audit(0.0:8343): avc: denied { read } for name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.672 18201 18201 I auditd : avc=type=1400 audit(0.0:8344): avc: denied { read } for comm="eneos.logviewer" name="u:object_r:odsign_prop:s0" dev="tmpfs" ino=290 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:odsign_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.672 18201 18201 W eneos.logviewer: type=1400 audit(0.0:8344): avc: denied { read } for name="u:object_r:odsign_prop:s0" dev="tmpfs" ino=290 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:odsign_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.672 18201 18201 I auditd : avc=type=1400 audit(0.0:8345): avc: denied { read } for comm="eneos.logviewer" name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.672 18201 18201 W eneos.logviewer: type=1400 audit(0.0:8345): avc: denied { read } for name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.676 18201 18201 I auditd : avc=type=1400 audit(0.0:8346): avc: denied { getattr } for comm="eneos.logviewer" path="/apex/apex-info-list.xml" dev="tmpfs" ino=89 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:apex_info_file:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.676 18201 18201 W eneos.logviewer: type=1400 audit(0.0:8346): avc: denied { getattr } for path="/apex/apex-info-list.xml" dev="tmpfs" ino=89 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:apex_info_file:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.752 18201 18201 I auditd : avc=type=1400 audit(0.0:8347): avc: denied { read } for comm="main" name="u:object_r:build_attestation_prop:s0" dev="tmpfs" ino=112 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:build_attestation_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.752 18201 18201 W main : type=1400 audit(0.0:8347): avc: denied { read } for name="u:object_r:build_attestation_prop:s0" dev="tmpfs" ino=112 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:build_attestation_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.752 18201 18201 I auditd : avc=type=1400 audit(0.0:8348): avc: denied { read } for comm="main" name="u:object_r:build_attestation_prop:s0" dev="tmpfs" ino=112 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:build_attestation_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.752 18201 18201 W main : type=1400 audit(0.0:8348): avc: denied { read } for name="u:object_r:build_attestation_prop:s0" dev="tmpfs" ino=112 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:build_attestation_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.752 18201 18201 I auditd : avc=type=1400 audit(0.0:8349): avc: denied { read } for comm="main" name="u:object_r:build_attestation_prop:s0" dev="tmpfs" ino=112 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:build_attestation_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.752 18201 18201 W main : type=1400 audit(0.0:8349): avc: denied { read } for name="u:object_r:build_attestation_prop:s0" dev="tmpfs" ino=112 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:build_attestation_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.752 18201 18201 I auditd : avc=type=1400 audit(0.0:8350): avc: denied { read } for comm="main" name="u:object_r:build_attestation_prop:s0" dev="tmpfs" ino=112 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:build_attestation_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.752 18201 18201 W main : type=1400 audit(0.0:8350): avc: denied { read } for name="u:object_r:build_attestation_prop:s0" dev="tmpfs" ino=112 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:build_attestation_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.752 18201 18201 I auditd : avc=type=1400 audit(0.0:8351): avc: denied { read } for comm="main" name="u:object_r:build_attestation_prop:s0" dev="tmpfs" ino=112 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:build_attestation_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.752 18201 18201 W main : type=1400 audit(0.0:8351): avc: denied { read } for name="u:object_r:build_attestation_prop:s0" dev="tmpfs" ino=112 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:build_attestation_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.752 18201 18201 I auditd : avc=type=1400 audit(0.0:8352): avc: denied { read } for comm="main" name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.752 18201 18201 W main : type=1400 audit(0.0:8352): avc: denied { read } for name="u:object_r:userdebug_or_eng_prop:s0" dev="tmpfs" ino=385 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:userdebug_or_eng_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.788 18201 18201 I auditd : avc=type=1400 audit(0.0:8353): avc: denied { read } for comm="binder:18201_2" name="u:object_r:qemu_sf_lcd_density_prop:s0" dev="tmpfs" ino=314 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:qemu_sf_lcd_density_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.788 18201 18201 W binder:18201_2: type=1400 audit(0.0:8353): avc: denied { read } for name="u:object_r:qemu_sf_lcd_density_prop:s0" dev="tmpfs" ino=314 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:qemu_sf_lcd_density_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to events
01-20 12:05:12.788 18201 18201 I auditd : avc=type=1400 audit(0.0:8354): avc: denied { read } for comm="binder:18201_2" name="u:object_r:qemu_sf_lcd_density_prop:s0" dev="tmpfs" ino=314 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:qemu_sf_lcd_density_prop:s0 tclass=file permissive=0 app=com.whatsapp
--------- switch to main
01-20 12:05:12.788 18201 18201 W binder:18201_2: type=1400 audit(0.0:8354): avc: denied { read } for name="u:object_r:qemu_sf_lcd_density_prop:s0" dev="tmpfs" ino=314 scontext=u:r:logviewer_app:s0:c52,c256,c512,c768 tcontext=u:object_r:qemu_sf_lcd_density_prop:s0 tclass=file permissive=0 app=com.whatsapp

    4 days later

    I am trying a last "up" of my topic: are there people on this forum using Proton Drive, Proton Mail, Aegis or Whatsapp and who are facing randomly this issue when launching the app?

    • I click on the icon
    • the app launch full screen
    • and closes immediately
    • if I launch it again, it works perfectly well.

    Or do you use these applications without any issues?

    I manage to capture more precise logs in Proton Drive:

    Proton drive logs:

    --------- switch to events
    02-09 19:50:26.843 13626 13626 I wm_on_resume_called: [Token=1158200,Component Name=me.proton.android.drive.ui.MainActivity,Reason=RESUME_ACTIVITY,time=6ms]
    02-09 19:50:26.861 13626 13626 I wm_on_top_resumed_gained_called: [Token=1158200,Component Name=me.proton.android.drive.ui.MainActivity,Reason=topStateChangedWhenResumed]
    --------- switch to main
    02-09 19:50:26.897 13626 13646 I WM-WorkerWrapper: Work [ id=xxx, tags={ me.proton.core.eventmanager.data.work.EventWorker, {"type":"me.proton.core.eventmanager.domain.EventManagerConfig.Drive.Volume","userId":{"id":"xxx=="},"volumeId":"xxx==","minimumFetchInterval":"PT0S"}, user/xxxxx==/drive/volumes/xxxxxx==, Drive, xxxxxx== } ] was cancelled
    02-09 19:50:26.897 13626 13646 I WM-WorkerWrapper: java.util.concurrent.CancellationException: Task was cancelled.
    02-09 19:50:26.897 13626 13646 I WM-WorkerWrapper: at androidx.work.impl.utils.futures.a.c(AbstractFuture.java:3)
    02-09 19:50:26.897 13626 13646 I WM-WorkerWrapper: at androidx.work.impl.utils.futures.a.j(AbstractFuture.java:31)
    02-09 19:50:26.897 13626 13646 I WM-WorkerWrapper: at androidx.work.impl.utils.futures.a.get(AbstractFuture.java:48)
    02-09 19:50:26.897 13626 13646 I WM-WorkerWrapper: at androidx.work.impl.X$b.run(WorkerWrapper.java:5)
    02-09 19:50:26.897 13626 13646 I WM-WorkerWrapper: at C3.u$a.run(SerialExecutorImpl.java:3)
    02-09 19:50:26.897 13626 13646 I WM-WorkerWrapper: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    02-09 19:50:26.897 13626 13646 I WM-WorkerWrapper: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
    02-09 19:50:26.897 13626 13646 I WM-WorkerWrapper: at java.lang.Thread.run(Thread.java:1117)

    • thmf replied to this.
      • Edited

      Franco Or do you use these applications without any issues?

      I use some of these apps and have no such issues with them nor with any other apps on my phone. This looks like a misconfiguration, but unfortunately I have no suggestion what might be the cause. Unless someone more knowledgeable chimes in, factory reset might be the fastest path to solution, albeit tedious. At the very least now you know it should work properly.

        thmf
        Thanks for your feedback. I disabled the Memory Tagging for the Proton Drive and I am not seeing crash anymore.
        Would you mind checking if this option is enabled or disabled on your side?

        Yes, I am considering a factory reset if issue persists.

          Franco my device is older and has no memory tagging, so I can't help.

            Franco Thanks for your feedback. I disabled the Memory Tagging for the Proton Drive and I am not seeing crash anymore.
            Would you mind checking if this option is enabled or disabled on your side?

            I haven't used Proton Drive and Proton Mail for about 4 months, but when I did use them they had frequent compatibility issues with memory tagging. Because I did not want to disable memory tagging for them, I became used to having to occasionally relaunch those apps. I don't know about Aegis and Whatsapp. You could try disabling memory tagging for them and see if the issues persist.

            Franco If it were caused by MTE or some security features, I would expect a popup with a crash report, but there is nothing.

            MTE usage doesn't always trigger a crash report. I don't know enough about the technology or its implementation in GrapheneOS to know why that is. It still means these apps have memory safety issues.

              thmf

              fid02

              Thank you for your feedback, very helpful. It is pointing to the memory tagging indeed. I will continue the experimentation without memory tagging to see if these crashes persist and confirm this root cause.

              If this root cause is confirmed, I will reactivate MTE and will live with these occasional crashes because I prefer this feature activated. I understand that memory tagging issues can reveal memory leaks and memory safety issues, so I will take this opportunity to send some logs to the Devs, maybe it would help them to correct some of these issues.

                Franco Memory safety issues, but not memory leaks.

                Try reporting to the Proton Security team directly. Going through Proton's support in the past has led nowhere, except constant back and forth for months with the support staff hardly giving me any information and basically leaving me in the dark about my reports.

                  fid02 frequent compatibility issues with memory tagging

                  I experienced exactly the same and after one occurence too many I switched provider for the VPN and access email in Vanadium.

                  fid02 Understood, thanks for this correction.
                  I am not sure how to reach the security team specifically at Proton, but I will check this.
                  And will do the same with Aegis and Whatsapp, if it applies.

                    I spent some time investigating further. My wife has the same phone with GrapheneOS but she was not experiencing such crashes at all, which was intriging me and I thought that something was malfunctioning on my side.

                    But I checked the Exploit Protection features on her phone and realized that almost everything was disabled by default. I think it was my mistake when I installed GrapheneOS on her Pixel 9 and tried to made working her banking applications, by using the global parameters instead of the apps settings.

                    So I just reactivated by default all the Exploit Protections features on her phone (I only I granted the necessary exceptions for her banking apps) => test successful, I managed to make Proton Drive to crash on her phone as well because of MTE (but it still works most of the time).

                    We both decided to live with these crashes for now. They are still irritating but I feel released to finally understand the cause.

                    Mystery solved, thank you All for your feedbacks and explanations.
                    The topic can also be tagged as Solved.

                    4 days later