OpenKeyChain crashes
- /e/ version: 0.7-2020010636666
- Device model: Samsung S9+ SM-G965F
- When it started to occur: after ROM update
- Reproducible with the last /e/ version: yes
- Reproducible with LineageOS: no idea
OpenKeyCHain craches when trying to decrypt an uncrypted email. Summary
-
The device is unusable -
The bug is the source of a data loss or a big waste of time -
The bug concerns a 3rd party app -
The bug concerns security -
The bug concerns privacy
The problem
Steps to reproduce
Open an uncrypted email. Or access OpenKeyChain from the settings menu
What is the current behavior?
When trying to open a crypted email, email will not open and message on screen will appear "OpenKeyChain has stopped working"
What is the expected correct behavior? Crypted email should open to be read.
Technical informations
Relevant logs (adb logcat
)
01-15 08:10:23.611 4333 5205 I ActivityManager: Start proc 19812:org.sufficientlysecure.keychain:remote_api_2/u0a87 for service org.sufficientlysecure.keychain/.remote.OpenPgpService2
01-15 08:10:23.774 4333 4509 I ActivityManager: Start proc 19833:org.sufficientlysecure.keychain:passphrase_cache/u0a87 for service org.sufficientlysecure.keychain/.service.PassphraseCacheService
01-15 08:10:23.853 4333 5205 I ActivityManager: START u0 {cmp=org.sufficientlysecure.keychain/.remote.ui.RemotePassphraseDialogActivity (has extras)} from uid 10087
01-15 08:10:23.875 4333 4509 I ActivityManager: Start proc 19851:org.sufficientlysecure.keychain/u0a87 for activity org.sufficientlysecure.keychain/.remote.ui.RemotePassphraseDialogActivity
01-15 08:10:23.942 4333 5205 W JobSchedulerService: Too many jobs for uid 10087
--------- beginning of crash
01-15 08:10:23.944 19851 19867 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
01-15 08:10:23.944 19851 19867 E AndroidRuntime: Process: org.sufficientlysecure.keychain, PID: 19851
01-15 08:10:23.944 19851 19867 E AndroidRuntime: java.lang.IllegalStateException: Apps may not schedule more than 100 distinct jobs
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2021)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1959)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at android.app.job.IJobScheduler$Stub$Proxy.schedule(IJobScheduler.java:180)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:44)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.scheduleInternal(SystemJobScheduler.java:85)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.schedule(SystemJobScheduler.java:64)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at androidx.work.impl.Schedulers.scheduleInternal(Schedulers.java:98)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at androidx.work.impl.Schedulers.schedule(Schedulers.java:69)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at androidx.work.impl.utils.EnqueueRunnable.scheduleWorkInBackground(EnqueueRunnable.java:109)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at androidx.work.impl.utils.EnqueueRunnable.run(EnqueueRunnable.java:81)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
01-15 08:10:23.944 19851 19867 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
01-15 08:10:23.946 4333 5205 W ActivityManager: Force finishing activity org.sufficientlysecure.keychain/.remote.ui.RemotePassphraseDialogActivity
01-15 08:10:23.948 4333 5205 W ActivityManager: Force finishing activity foundation.e.mail/.activity.MessageList
01-15 08:10:23.958 4333 4357 I ActivityManager: Showing crash dialog for package org.sufficientlysecure.keychain u0
01-15 08:10:24.121 4333 4509 I ActivityManager: Killing 16767:com.android.webview:sandboxed_process0/u0a77i22 (adj 0): isolated not needed
01-15 08:10:24.171 4333 4359 D KernelUidCpuTimeReader: Removing uids 99022-99022
01-15 08:10:27.784 4333 4361 D AutofillManagerService: Close system dialogs
01-15 08:10:27.788 4333 5205 I ActivityManager: Killing 19851:org.sufficientlysecure.keychain/u0a87 (adj 900): crash
01-15 08:10:27.967 4333 4363 W ActivityManager: setHasOverlayUi called on unknown pid: 19851
01-15 08:10:28.016 4333 4394 W AppOps : Finishing op nesting under-run: uid 1000 pkg android code 24 time=0 duration=0 nesting=0
01-15 08:10:29.737 4333 5205 I ActivityManager: Start proc 19894:com.android.systemui:screenshot/u0a29 for service com.android.systemui/.screenshot.TakeScreenshotService
01-15 08:10:32.782 4333 4357 D AutofillManagerService: onBackKeyPressed()
01-15 08:10:33.138 4333 4355 I UsageStatsService: User[0] Flushing usage stats to disk
01-15 08:10:34.538 4333 7358 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=foundation.e.mail/.activity.Accounts bnds=[120,196][329,405]} from uid 10004
01-15 08:10:36.020 4333 5205 I ActivityManager: START u0 {flg=0x14000000 cmp=foundation.e.mail/.activity.MessageList (has extras)} from uid 10077
01-15 08:10:38.914 4333 7358 I ActivityManager: START u0 {cmp=org.sufficientlysecure.keychain/.remote.ui.RemotePassphraseDialogActivity (has extras)} from uid 10087
01-15 08:10:38.942 4333 7358 I ActivityManager: Start proc 19950:org.sufficientlysecure.keychain/u0a87 for activity org.sufficientlysecure.keychain/.remote.ui.RemotePassphraseDialogActivity
01-15 08:10:39.017 4333 7358 W JobSchedulerService: Too many jobs for uid 10087
01-15 08:10:39.018 19950 19966 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
01-15 08:10:39.018 19950 19966 E AndroidRuntime: Process: org.sufficientlysecure.keychain, PID: 19950
01-15 08:10:39.018 19950 19966 E AndroidRuntime: java.lang.IllegalStateException: Apps may not schedule more than 100 distinct jobs
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2021)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1959)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at android.app.job.IJobScheduler$Stub$Proxy.schedule(IJobScheduler.java:180)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:44)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.scheduleInternal(SystemJobScheduler.java:85)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.schedule(SystemJobScheduler.java:64)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at androidx.work.impl.Schedulers.scheduleInternal(Schedulers.java:98)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at androidx.work.impl.Schedulers.schedule(Schedulers.java:69)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at androidx.work.impl.utils.EnqueueRunnable.scheduleWorkInBackground(EnqueueRunnable.java:109)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at androidx.work.impl.utils.EnqueueRunnable.run(EnqueueRunnable.java:81)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
01-15 08:10:39.018 19950 19966 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
01-15 08:10:39.021 4333 7358 W ActivityManager: Force finishing activity org.sufficientlysecure.keychain/.remote.ui.RemotePassphraseDialogActivity
01-15 08:10:39.024 4333 7358 W ActivityManager: Force finishing activity foundation.e.mail/.activity.MessageList
01-15 08:10:39.032 4333 4357 I ActivityManager: Showing crash dialog for package org.sufficientlysecure.keychain u0
01-15 08:10:44.978 4333 4361 D AutofillManagerService: Close system dialogs
01-15 08:10:44.982 4333 7358 I ActivityManager: Killing 19950:org.sufficientlysecure.keychain/u0a87 (adj 900): crash
01-15 08:10:45.132 4333 4363 W ActivityManager: setHasOverlayUi called on unknown pid: 19950
01-15 08:10:45.212 4333 4394 W AppOps : Finishing op nesting under-run: uid 1000 pkg android code 24 time=0 duration=0 nesting=0
01-15 08:10:46.886 4333 4357 D AutofillManagerService: onBackKeyPressed()
01-15 08:10:47.711 4333 4357 D AutofillManagerService: onBackKeyPressed()
01-15 08:10:49.990 4333 7358 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=foundation.e.mail/.activity.Accounts bnds=[120,196][329,405]} from uid 10004
01-15 08:10:52.295 4333 5176 I ActivityManager: START u0 {flg=0x14000000 cmp=foundation.e.mail/.activity.MessageList (has extras)} from uid 10077
01-15 08:10:54.226 4333 4345 I ActivityManager: START u0 {cmp=org.sufficientlysecure.keychain/.remote.ui.RemotePassphraseDialogActivity (has extras)} from uid 10087
01-15 08:10:54.255 4333 4345 I ActivityManager: Start proc 19995:org.sufficientlysecure.keychain/u0a87 for activity org.sufficientlysecure.keychain/.remote.ui.RemotePassphraseDialogActivity
01-15 08:10:54.333 4333 4345 W JobSchedulerService: Too many jobs for uid 10087
01-15 08:10:54.334 19995 20014 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
01-15 08:10:54.334 19995 20014 E AndroidRuntime: Process: org.sufficientlysecure.keychain, PID: 19995
01-15 08:10:54.334 19995 20014 E AndroidRuntime: java.lang.IllegalStateException: Apps may not schedule more than 100 distinct jobs
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2021)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1959)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at android.app.job.IJobScheduler$Stub$Proxy.schedule(IJobScheduler.java:180)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:44)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.scheduleInternal(SystemJobScheduler.java:85)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.schedule(SystemJobScheduler.java:64)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at androidx.work.impl.Schedulers.scheduleInternal(Schedulers.java:98)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at androidx.work.impl.Schedulers.schedule(Schedulers.java:69)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at androidx.work.impl.utils.EnqueueRunnable.scheduleWorkInBackground(EnqueueRunnable.java:109)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at androidx.work.impl.utils.EnqueueRunnable.run(EnqueueRunnable.java:81)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
01-15 08:10:54.334 19995 20014 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
01-15 08:10:54.336 4333 4345 W ActivityManager: Force finishing activity org.sufficientlysecure.keychain/.remote.ui.RemotePassphraseDialogActivity
01-15 08:10:54.338 4333 4345 W ActivityManager: Force finishing activity foundation.e.mail/.activity.MessageList
01-15 08:10:54.341 4333 4357 I ActivityManager: Showing crash dialog for package org.sufficientlysecure.keychain u0
01-15 08:10:57.183 4333 4361 D AutofillManagerService: Close system dialogs
01-15 08:10:57.184 4333 4345 I ActivityManager: Killing 19995:org.sufficientlysecure.keychain/u0a87 (adj 900): crash
01-15 08:10:57.202 4333 4484 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=foundation.e.blisslauncher/.features.launcher.LauncherActivity (has extras)} from uid 1000
01-15 08:10:57.311 4333 4363 W ActivityManager: setHasOverlayUi called on unknown pid: 19995
01-15 08:10:57.414 4333 4394 W AppOps : Finishing op nesting under-run: uid 1000 pkg android code 24 time=0 duration=0 nesting=0
01-15 08:10:58.601 4333 5178 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.settings/.Settings bnds=[120,1094][329,1303]} from uid 10004
01-15 08:10:58.634 4333 5178 I ActivityManager: Start proc 20031:com.android.settings/1000 for activity com.android.settings/.Settings
01-15 08:10:58.806 4333 4359 E BatteryExternalStatsWorker: no controller energy info supplied for wifi
01-15 08:10:58.806 4333 4359 E BatteryExternalStatsWorker: no controller energy info supplied for bluetooth
01-15 08:11:04.657 4333 5178 I ActivityManager: START u0 {flg=0x8000 cmp=com.android.settings/.Settings$OpenKeychainActivity (has extras)} from uid 1000
01-15 08:11:04.719 4333 5178 I ActivityManager: START u0 {act=android.intent.action.MAIN cmp=org.sufficientlysecure.keychain/.ui.MainActivity} from uid 1000
01-15 08:11:04.743 4333 4345 I ActivityManager: Start proc 20085:org.sufficientlysecure.keychain/u0a87 for activity org.sufficientlysecure.keychain/.ui.MainActivity
01-15 08:11:04.821 4333 4345 W JobSchedulerService: Too many jobs for uid 10087
01-15 08:11:04.823 20085 20101 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
01-15 08:11:04.823 20085 20101 E AndroidRuntime: Process: org.sufficientlysecure.keychain, PID: 20085
01-15 08:11:04.823 20085 20101 E AndroidRuntime: java.lang.IllegalStateException: Apps may not schedule more than 100 distinct jobs
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2021)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1959)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at android.app.job.IJobScheduler$Stub$Proxy.schedule(IJobScheduler.java:180)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:44)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.scheduleInternal(SystemJobScheduler.java:85)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at androidx.work.impl.background.systemjob.SystemJobScheduler.schedule(SystemJobScheduler.java:64)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at androidx.work.impl.Schedulers.scheduleInternal(Schedulers.java:98)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at androidx.work.impl.Schedulers.schedule(Schedulers.java:69)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at androidx.work.impl.utils.EnqueueRunnable.scheduleWorkInBackground(EnqueueRunnable.java:109)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at androidx.work.impl.utils.EnqueueRunnable.run(EnqueueRunnable.java:81)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
01-15 08:11:04.823 20085 20101 E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
01-15 08:11:04.824 4333 5178 W ActivityManager: Force finishing activity org.sufficientlysecure.keychain/.ui.MainActivity
01-15 08:11:04.828 4333 4357 I ActivityManager: Showing crash dialog for package org.sufficientlysecure.keychain u0
01-15 08:11:05.137 4333 4359 E BatteryExternalStatsWorker: no controller energy info supplied for wifi
01-15 08:11:05.137 4333 4359 E BatteryExternalStatsWorker: no controller energy info supplied for bluetooth
01-15 08:11:05.371 4333 4394 W WindowManager: Failed looking up window callers=com.android.server.wm.WindowManagerService.windowForClientLocked:5829 com.android.server.wm.WindowManagerService.removeWindow:1716 com.android.server.wm.Session.remove:222
01-15 08:11:06.585 4333 4361 D AutofillManagerService: Close system dialogs
01-15 08:11:06.593 4333 4484 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=foundation.e.blisslauncher/.features.launcher.LauncherActivity (has extras)} from uid 1000
01-15 08:11:06.623 4333 5178 I ActivityManager: Killing 20085:org.sufficientlysecure.keychain/u0a87 (adj 900): crash
Relevant screenshots
Solutions
Workaround
Possible fixes
Edited by Romain Hunault