Wallbag app crashes due to TTS engine permission
- /e/ version: 1.8-rc.2-s
- Device model(s): FP4
- Device rooted: yes/no
Summary
After the 1.8 updates Wallabag app does not work.
Also tested with librera reader we did not have the same error but we cannot use TTS while it worked fine with espeak and /e/OS 1.7.
The problem
Steps to reproduce
Run the app, open an article and enable TTS.
What is the current behavior?
The app crashes.
What is the expected correct behavior?
App works without any issue.
Technical informations
Relevant logs (adb logcat
)
02-01 21:46:51.496 26014 26014 D AndroidRuntime: Shutting down VM
02-01 21:46:51.496 26058 26058 I cr_ChildProcessService: Creating new ChildProcessService pid=26058
02-01 21:46:51.499 26014 26014 E AndroidRuntime: FATAL EXCEPTION: main
02-01 21:46:51.499 26014 26014 E AndroidRuntime: Process: fr.gaulupeau.apps.InThePoche, PID: 26014
02-01 21:46:51.499 26014 26014 E AndroidRuntime: java.lang.SecurityException: Permission Denial: starting Intent { act=android.speech.tts.engine.CHECK_TTS_DATA pkg=com.svox.pico cmp=com.svox.pico/.CheckVoiceData } from ProcessRecord{e3f2de7 26014:fr.gaulupeau.apps.InThePoche/u0a196} (pid=26014, uid=10196) not exported from uid 10023
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.os.Parcel.createException(Parcel.java:2410)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2393)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2335)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:2328)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.Instrumentation.execStartActivity(Instrumentation.java:1762)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.Activity.startActivityForResult(Activity.java:5410)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:574)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.core.app.ActivityCompat.startActivityForResult(ActivityCompat.java:237)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.activity.ComponentActivity$2.onLaunch(ComponentActivity.java:208)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.activity.result.ActivityResultRegistry$3.launch(ActivityResultRegistry.java:224)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.activity.result.ActivityResultLauncher.launch(ActivityResultLauncher.java:47)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.FragmentManager.launchStartActivityForResult(FragmentManager.java:3000)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.Fragment.startActivityForResult(Fragment.java:1424)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.Fragment.startActivityForResult(Fragment.java:1398)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at fr.gaulupeau.apps.Poche.tts.-$$Lambda$hRgHGzjzlqsR2Mqt9dnrgKFfP2E.startActivityForResult(Unknown Source:2)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at fr.gaulupeau.apps.Poche.tts.TtsData.init(TtsData.java:107)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at fr.gaulupeau.apps.Poche.tts.TtsFragment.onCreate(TtsFragment.java:190)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.Fragment.performCreate(Fragment.java:2949)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:278)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3138)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:501)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:246)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at fr.gaulupeau.apps.Poche.ui.BaseActionBarActivity.onStart(BaseActionBarActivity.java:20)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1471)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.Activity.performStart(Activity.java:8082)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3732)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2253)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7870)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: Caused by: android.os.RemoteException: Remote stack trace:
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at com.android.server.wm.ActivityTaskSupervisor.checkStartAnyActivityPermission(ActivityTaskSupervisor.java:1059)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at com.android.server.wm.ActivityStarter.executeRequest(ActivityStarter.java:983)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:672)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1252)
02-01 21:46:51.499 26014 26014 E AndroidRuntime: at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1224)
02-01 21:46:51.499 26014 26014 E AndroidRuntime:
02-01 21:46:51.499 608 608 E SELinux : avc: denied { find } for pid=26058 uid=99022 name=content_capture scontext=u:r:isolated_app:s0:c512,c768 tcontext=u:object_r:content_capture_service:s0 tclass=service_manager permissive=0
cc @rhunault
Edited by Nicolas Gelot