3

I updated my android today and now the settings app won't open. I can access all settings through the search function of the launcher except Samsung specific ones.

I connected the phone to my pc to see the logs and here is the stack trace from logcat:

FATAL EXCEPTION: main
Process: com.android.settings, PID: 17254
java.lang.RuntimeException: Failed to call observer method
at androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(ClassesInfoCache.java:226)                                              
at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeMethodsForEvent(ClassesInfoCache.java:194)                                          
at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeCallbacks(ClassesInfoCache.java:186)                                                
at androidx.lifecycle.ReflectiveGenericLifecycleObserver.onStateChanged(ReflectiveGenericLifecycleObserver.java:37)                           
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:361)                                           
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:300)                                                               
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:339)                                                                      
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:145)                                                               
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:131)                                                      
at com.android.settingslib.core.lifecycle.ObservablePreferenceFragment.onStart(ObservablePreferenceFragment.java:80)                          
at com.android.settings.dashboard.DashboardFragment.onStart(DashboardFragment.java:266)                                                       
at com.android.settings.homepage.TopLevelSettings.onStart(TopLevelSettings.java:192)                                                          
at androidx.fragment.app.Fragment.performStart(Fragment.java:2756)                                                                            
at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:355)                                                            
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1192)                                                               
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1354)                                                               
at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1432)                                               
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1495)                                                               
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2620)                                                       
at androidx.fragment.app.FragmentManager.dispatchStart(FragmentManager.java:2578)                                                             
at androidx.fragment.app.FragmentController.dispatchStart(FragmentController.java:258)                                                        
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:550)                                                                  
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:201)                                                               
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)                                                                 
at android.app.Activity.performStart(Activity.java:8207)                                                                                      
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3806)                                                                   
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)                                   
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)                                                
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)                                      
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)                                                     
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2295)                                                                       
at android.os.Handler.dispatchMessage(Handler.java:106)                                                                                       
at android.os.Looper.loop(Looper.java:246)                                                                                                    
at android.app.ActivityThread.main(ActivityThread.java:8443)                                                                                  
at java.lang.reflect.Method.invoke(Native Method)                                                                                             
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:596)                                                          
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

Caused by: java.lang.SecurityException: 
Failed to find provider com.samsung.android.mobileservice.profileProvider for user 0; expected to find a valid ContentProvider for this authority  
at android.os.Parcel.createExceptionOrNull(Parcel.java:2385)                                                                                  
at android.os.Parcel.createException(Parcel.java:2369)                                                                                        
at android.os.Parcel.readException(Parcel.java:2352)                                                                                          
at android.os.Parcel.readException(Parcel.java:2294)                                                                                          
at android.content.IContentService$Stub$Proxy.registerContentObserver(IContentService.java:1229)                                              
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:2630)                                                         
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:2618)                                                         
at com.samsung.android.settings.homepage.TopLevelSamsungAccountPreferenceController.onStart(TopLevelSamsungAccountPreferenceController.java:95)
at com.android.settingslib.core.lifecycle.Lifecycle.onStart(Lifecycle.java:124)                                                               
at com.android.settingslib.core.lifecycle.Lifecycle.access$100(Lifecycle.java:55)                                                             
at com.android.settingslib.core.lifecycle.Lifecycle$LifecycleProxy.onLifecycleEvent(Lifecycle.java:222)
at java.lang.reflect.Method.invoke(Native Method)                                                                                             
at androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(ClassesInfoCache.java:222)                                              
... 36 more 

Caused by: android.os.RemoteException: Remote stack zrace:
at com.android.server.content.ContentService.registerContentObserver(ContentService.java:388)                                                 
at android.content.IContentService$Stub.onTransact(IContentService.java:482)                                                                  
at android.os.Binder.execTransactInternal(Binder.java:1190)                                                                                   
at android.os.Binder.execTransact(Binder.java:1159)

So the relevant part seems to be:

Caused by: java.lang.SecurityException: 
Failed to find provider com.samsung.android.mobileservice.profileProvider for user 0; expected to find a valid ContentProvider for this authority  

What I've tried so far:

  • Restart the phone
  • Restart the phone in safe mode
  • Reinstall Samsung Experience Service
  • Reinstall com.android.settings
  • Reinstall com.samsung.android.mobileservice

I think because there are Samsung related settings in the settings main menu, it causes a crash. Any ideas on how to get the settings back?

PS: Please don't suggest a factory reset. That is cause for another headache.

PPS: Previously, I had uninstalled Samsung bloatware via "adb shell". But that had never caused problems. So maybe now one missing package could be the culprit?

1
  • 1
    Unfortunately, I caved in and did a factory reset. I made sure not to delete "com.samsung.android.mobileservice" when cleaning the bloatware (of which there is a ton).
    – lamyarus
    Mar 14, 2021 at 18:36

1 Answer 1

2

It's caused by uninstalling com.osp.app.signin. If you simply uninstalled the package for --user 0 (which most debloating scripts do), then you can reinstall it with

adb shell cmd package install-existing com.osp.app.signin
2
  • Thanks for the suggestion. In my case, the answer is too late to the party. But let's hope it helps others, or maybe me when I get a new phone in the future. :)
    – lamyarus
    Dec 12, 2021 at 10:12
  • 1
    YES - thank you!!! (I had gone down the same path of uninstalling some bloat for samsung and must have accidentally uninstalled this one; didn't notice until ages later when I tried to open the settings app and of course could not remember which of the uninstalled apps was the issue) Dec 24, 2022 at 1:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .