GrapheneOS / os-issue-tracker

Issue tracker for GrapheneOS Android Open Source Project hardening work. Standalone projects like Auditor, AttestationServer and hardened_malloc have their own dedicated trackers.
https://grapheneos.org/
347 stars 19 forks source link

UI crash Everytime when switching Profiles with Log. #3369

Open Sluglips opened 5 months ago

Sluglips commented 5 months ago

Message pops up the UI has crashed everytime. You click close or save a log. The screen flashes off then on at lock screen then your good to go.

Bug log.

type: crash osVersion: google/raven/raven:14/UQ1A.240205.002/2024030300:user/release-keys package: com.android.systemui:34 process: com.android.systemui processUptime: 8415852 + 372 ms

java.lang.SecurityException: Unable to start service Intent { cmp=com.android.systemui/.SystemUISecondaryUserService }: Unable to launch app com.android.systemui/1010109 for service Intent { cmp=com.android.systemui/.SystemUISecondaryUserService }: user 10 is stopped at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1975) at android.app.ContextImpl.startServiceAsUser(ContextImpl.java:1949) at android.content.ContextWrapper.startServiceAsUser(ContextWrapper.java:842) at com.android.systemui.user.domain.interactor.UserInteractor.restartSecondaryService(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:47) at com.android.systemui.user.domain.interactor.UserInteractor.access$onBroadcastReceived(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:126) at com.android.systemui.user.domain.interactor.UserInteractor$5.invokeSuspend(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:45) at com.android.systemui.user.domain.interactor.UserInteractor$5.invoke(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:13) at kotlinx.coroutines.flow.FlowKtTransformKt$onEach$$inlined$unsafeTransform$1$2.emit(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:74) at kotlinx.coroutines.flow.FlowKtZipKt$combine$1$1.invokeSuspend(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:68) at kotlinx.coroutines.flow.FlowKt__ZipKt$combine$1$1.invoke(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:20) at kotlinx.coroutines.flow.internal.CombineKt$combineInternal$2.invokeSuspend(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:244) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:8) at kotlinx.coroutines.DispatchedTask.run(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:111) at kotlinx.coroutines.EventLoopImplPlatform.processUnconfinedEvent(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:24) at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:119) at kotlinx.coroutines.CancellableContinuationImpl.completeResume(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:3) at kotlinx.coroutines.channels.BufferedChannelKt.tryResume0(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:7) at kotlinx.coroutines.channels.BufferedChannel.tryResumeReceiver(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:77) at kotlinx.coroutines.channels.BufferedChannel.access$updateCellSend(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:57) at kotlinx.coroutines.channels.ConflatedBufferedChannel.trySendImpl-Mj0NB7M(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:128) at kotlinx.coroutines.channels.ConflatedBufferedChannel.trySend-JP2dKIU(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:2) at kotlinx.coroutines.channels.ProducerCoroutine.trySend-JP2dKIU(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:3) at com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:1) at com.android.systemui.user.data.repository.UserRepositoryImpl$selectedUser$1$1.invokeSuspend$send(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:21) at com.android.systemui.user.data.repository.UserRepositoryImpl$selectedUser$1$1$callback$1.onUserChanged(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:9) at com.android.systemui.settings.UserTrackerImpl$handleUserSwitchComplete$$inlined$notifySubscribers$1.run(go/retraceme 6f1beaddd7b047a4b1cb8d6777b4ba3037d922fdaff37df5944d89c0f17912b8:21) at android.os.Handler.handleCallback(Handler.java:958) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8279) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) at com.android.internal.os.ExecInit.main(ExecInit.java:49) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:359) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@b91032, Dispatchers.Main.immediate]

description: When switching profiles back to owner everytime.

thestinger commented 5 months ago

@Sluglips Does this still happen after a reboot?

Sluglips commented 5 months ago

Yes. When switching from any profile back to the owner profile every single time a box will pop up saying System UI Crash. The screen goes black after clicking close system UI has crashed dialog box then the screen comes back on and reappears at the lock screen as usual. It happens every time regardless of what I try to do. It has been happening for the last 2 months.

muhomorr commented 5 months ago

You're running an outdated GrapheneOS version, try again after updating.

Sluglips commented 5 months ago

I am up to date. that was an old log a few weeks ago of the problem. It still persists. No update has addressed this issue. If you'd like to prove my point. I will resubmit my new bug log on up to date OS.

Sluglips commented 5 months ago

I am up to date. that was an old log a few weeks ago of the problem. It still persists. No update has addressed this issue. If you'd like to prove my point. I will resubmit my new bug log on up to date OS.

type: crash
osVersion: google/raven/raven:14/AP1A.240305.019.A1/2024032100:user/release-keys
package: com.android.systemui:34
process: com.android.systemui
processUptime: 43336551 + 291 ms

java.lang.SecurityException: Unable to start service Intent { cmp=com.android.systemui/.SystemUISecondaryUserService }: Unable to launch app com.android.systemui/1010109 for service Intent { cmp=com.android.systemui/.SystemUISecondaryUserService }: user 10 is stopped
    at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1976)
    at android.app.ContextImpl.startServiceAsUser(ContextImpl.java:1950)
    at android.content.ContextWrapper.startServiceAsUser(ContextWrapper.java:843)
    at com.android.systemui.user.domain.interactor.UserSwitcherInteractor.restartSecondaryService(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:95)
    at com.android.systemui.user.domain.interactor.UserSwitcherInteractor.access$onBroadcastReceived(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:111)
    at com.android.systemui.user.domain.interactor.UserSwitcherInteractor$5.invokeSuspend(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:45)
    at com.android.systemui.user.domain.interactor.UserSwitcherInteractor$5.invoke(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:13)
    at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:74)
    at kotlinx.coroutines.flow.FlowKt__ZipKt$combine$1$1.invokeSuspend(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:68)
    at kotlinx.coroutines.flow.FlowKt__ZipKt$combine$1$1.invoke(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:20)
    at kotlinx.coroutines.flow.internal.CombineKt$combineInternal$2.invokeSuspend(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:266)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:8)
    at kotlinx.coroutines.DispatchedTask.run(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:112)
    at kotlinx.coroutines.EventLoopImplPlatform.processUnconfinedEvent(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:24)
    at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:79)
    at kotlinx.coroutines.CancellableContinuationImpl.completeResume(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:3)
    at kotlinx.coroutines.channels.BufferedChannelKt.tryResume0(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:7)
    at kotlinx.coroutines.channels.BufferedChannel.tryResumeReceiver(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:77)
    at kotlinx.coroutines.channels.BufferedChannel.access$updateCellSend(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:57)
    at kotlinx.coroutines.channels.ConflatedBufferedChannel.trySendImpl-Mj0NB7M(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:128)
    at kotlinx.coroutines.channels.ConflatedBufferedChannel.trySend-JP2dKIU(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:2)
    at kotlinx.coroutines.channels.ProducerCoroutine.trySend-JP2dKIU(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:3)
    at com.android.systemui.user.data.repository.UserRepositoryImpl$selectedUser$1$1.invokeSuspend$send(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:24)
    at com.android.systemui.user.data.repository.UserRepositoryImpl$selectedUser$1$1$callback$1.onUserChanged(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:9)
    at com.android.systemui.settings.UserTrackerImpl$handleUserSwitchComplete$$inlined$notifySubscribers$1.run(go/retraceme 59f115cf37c90f6922d70f23a9d42dd1b49245e18ec1a83bfad267271bb3d323:21)
    at android.os.Handler.handleCallback(Handler.java:959)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loopOnce(Looper.java:232)
    at android.os.Looper.loop(Looper.java:317)
    at android.app.ActivityThread.main(ActivityThread.java:8532)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    at com.android.internal.os.ExecInit.main(ExecInit.java:49)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:359)
    Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@b17ca04, Dispatchers.Main.immediate]
Sluglips commented 5 months ago

Up to date bug log above. Still happening.

muhomorr commented 5 months ago

Capture a full system log after reproducing this crash by going to Settings -> System -> View logs and selecting "Share" or "Save" option. Send the log file to my email: muhomorr@grapheneos.org or Matrix: @muhomorr:grapheneos.org

Sluglips commented 5 months ago

Capture a full system log after reproducing this crash by going to Settings -> System -> View logs and selecting "Share" or "Save" option. Send the log file to my email: muhomorr@grapheneos.org or Matrix: @muhomorr:grapheneos.org

Sent you the log to your email.

muhomorr commented 5 months ago

@Sluglips Not clear from the log what's the root cause of this issue.

Sluglips commented 5 months ago

@Sluglips Not clear from the log what's the root cause of this issue.

Do you have any other idea on how to show or give you a better understanding of what the cause is? Another log, some other way to show what's happening? Perhaps delete the log then reproduce the issue with only the error being logged or change the mode of the log to say debug instead of verbose.

muhomorr commented 5 months ago

Additional logs would not help. There must be something unusual in your configuration, this is not a widespread issue.

Sluglips commented 4 months ago

Additional logs would not help. There must be something unusual in your configuration, this is not a widespread issue.

New crash called two shay.

type: crash
osVersion: google/raven/raven:14/AP1A.240405.002/2024040900:user/release-keys
uid: 0 (u:r:twoshay:s0)
cmdline: /vendor/bin/twoshay -s
processUptime: 0s

abortMessage: F0000 00:00:1713247705.739975    1662 twoshay_touchflower.cc:85] Check failed: panel_config.display_resolution().Contains(report_coordinates) report type = 1, report coordinates = {1405, 1440}, display resolution = {3120, 1440}

signal: 6 (SIGABRT), code -1 (SI_QUEUE)
threadName: binder:808_2

backtrace:
    /apex/com.android.runtime/lib64/bionic/libc.so (abort+164, pc 64e84)
    /vendor/lib64/libtouchflow.so (pc c1b14)
    /vendor/lib64/libtouchflow.so (pc c1e20)
    /vendor/lib64/libtouchflow.so (pc c1be0)
    /vendor/lib64/libtouchflow.so (pc c1a58)
    /vendor/lib64/libtouchflow.so (pc c1e70)
    /vendor/lib64/libtouchflow.so (pc 5f0fc)
    /vendor/bin/twoshay (TouchflowAlgorithm::processFrame(TouchOffloadFrame&)+1556, pc 25d304)
    /vendor/bin/twoshay (TwoshayPipelineConfig::streamThread(int)+788, pc 2727e4)
    /vendor/bin/twoshay (void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, int (TwoshayPipelineConfig::*)(int), TwoshayPipelineConfig*, int> >(void*)+88, pc 274e68)
    /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204, pc cf93c)
    /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64, pc 66730)
thestinger commented 4 months ago

Was you screen replaced? This looks like a hardware issue we have seen before from faulty screens.

Sluglips commented 4 months ago

The first crash type from my original case or the Two shay crash? Yes screen replaced.

thestinger commented 4 months ago

The crash you just posted (twoshay) appears to be a screen problem.

Sluglips commented 4 months ago

OK. That's odd. So no idea what has caused the original crashing issue? I checked all my configs and almost everything is default. I'm clueless and to how to track down the source of the issue. Maybe is screen related as well.

Sluglips commented 4 months ago

The crash you just posted (twoshay) appears to be a screen problem.

I was going to do a complete reinstall factory reset it. But as of now certain apps and things cannot be backed up so I'd lose my stuff. It really should be a back up like a carbon copy type. So one could trash one device if broken or otherwise and USB backup into a new device and it should be like you never left as in a complete carbon copy but backups haven't reached that point on graphene yet unfortunately at least to my knowledge.

Thanks for your time by the way. I know these things can be hectic and thanks for your service towards hopefully a more private and secure future.

thestinger commented 4 months ago

Enable device-to-device mode and all apps can be backed up. It's rare for apps to exclude data from device-to-device backups. Signal/Molly is a major example due to the keystore-encrypted database but it has backups itself. Another common example are some 2FA apps.

Sluglips commented 4 months ago

Enable device-to-device mode and all apps can be backed up. It's rare for apps to exclude data from device-to-device backups. Signal/Molly is a major example due to the keystore-encrypted database but it has backups itself. Another common example are some 2FA apps.

I hope this works. I will try it. On PC I usually use clonezilla for hard drives which will carbon copy as if you never left, accounts logged in and all.

Sluglips commented 4 months ago

Enable device-to-device mode and all apps can be backed up. It's rare for apps to exclude data from device-to-device backups. Signal/Molly is a major example due to the keystore-encrypted database but it has backups itself. Another common example are some 2FA apps.

Not sure how to enable this. I checked through settings under backup and all there lists the device itself, USB, davx5, and nextcloud. Where do I enable device to device? Thanks.

thestinger commented 4 months ago

It's the menu and changes how all backups done with it work.

Sluglips commented 4 months ago

It's the menu and changes how all backups done with it work.

Awesome under expert settings I found it. Thank you. :)