Crash on opening Silence because of a particular MMS
Created by: mossroy
Bug description
After receiving a particular MMS, Silence crashes on every start. I then do not manage to read or send any SMS/MMS. This same MMS was sent to 2 different devices using Silence, and it now crashes on both.
How to reproduce
- receive the particular MMS
- open Silence
Actual result: Silence crashes (see logcat below) Expected result: Silence should start and be usable
Device info
- Device: ZTE Open C (kis3)
- Android version: LineageOS 14.1 (Android 7.1.2)
- Silence version: 0.15.13 from F-Droid
Link to debug log
adb logcat : logcat.txt Excerpt :
04-23 22:52:10.649 4201 4218 E AndroidRuntime: FATAL EXCEPTION: JobConsumer-0
04-23 22:52:10.649 4201 4218 E AndroidRuntime: Process: org.smssecure.smssecure, PID: 4201
04-23 22:52:10.649 4201 4218 E AndroidRuntime: java.lang.AssertionError: java.util.concurrent.ExecutionException: java.io.FileNotFoundException: PartAuthority couldn't load Uri resource.
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.smssecure.smssecure.notifications.SingleRecipientNotificationBuilder.getBigPicture(SingleRecipientNotificationBuilder.java:221)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.smssecure.smssecure.notifications.SingleRecipientNotificationBuilder.build(SingleRecipientNotificationBuilder.java:167)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.smssecure.smssecure.notifications.MessageNotifier.sendSingleThreadNotification(MessageNotifier.java:318)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.smssecure.smssecure.notifications.MessageNotifier.updateNotification(MessageNotifier.java:236)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.smssecure.smssecure.notifications.MessageNotifier.updateNotification(MessageNotifier.java:211)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.smssecure.smssecure.jobs.SmsReceiveJob.onRun(SmsReceiveJob.java:64)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.whispersystems.jobqueue.JobConsumer.runJob(JobConsumer.java:76)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.whispersystems.jobqueue.JobConsumer.run(JobConsumer.java:46)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: Caused by: java.util.concurrent.ExecutionException: java.io.FileNotFoundException: PartAuthority couldn't load Uri resource.
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.request.RequestFutureTarget.doGet(RequestFutureTarget.java:189)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.request.RequestFutureTarget.get(RequestFutureTarget.java:100)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.smssecure.smssecure.notifications.SingleRecipientNotificationBuilder.getBigPicture(SingleRecipientNotificationBuilder.java:219)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: ... 7 more
04-23 22:52:10.649 4201 4218 E AndroidRuntime: Caused by: java.io.FileNotFoundException: PartAuthority couldn't load Uri resource.
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.smssecure.smssecure.mms.DecryptableStreamLocalUriFetcher.loadResource(DecryptableStreamLocalUriFetcher.java:35)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at org.smssecure.smssecure.mms.DecryptableStreamLocalUriFetcher.loadResource(DecryptableStreamLocalUriFetcher.java:16)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.load.data.LocalUriFetcher.loadData(LocalUriFetcher.java:44)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.load.model.ImageVideoModelLoader$ImageVideoFetcher.loadData(ImageVideoModelLoader.java:70)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.load.model.ImageVideoModelLoader$ImageVideoFetcher.loadData(ImageVideoModelLoader.java:53)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.load.engine.DecodeJob.decodeSource(DecodeJob.java:170)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.load.engine.DecodeJob.decodeFromSource(DecodeJob.java:128)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.load.engine.EngineRunnable.decodeFromSource(EngineRunnable.java:122)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.load.engine.EngineRunnable.decode(EngineRunnable.java:101)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.load.engine.EngineRunnable.run(EngineRunnable.java:58)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at java.lang.Thread.run(Thread.java:761)
04-23 22:52:10.649 4201 4218 E AndroidRuntime: at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(FifoPriorityThreadPoolExecutor.java:118)
It seems similar to #644 (closed) and #255 (closed) but the corresponding fixes are already included in this Silence version.