Message app (sms) crashes with a vcard message
- /e/ version: 0.7-o-20200208
- Device model: Chiron
- When it started to occur: unknown
- Reproducible with the last /e/ version:
- Reproducible with LineageOS:
Summary
Message app crashes with VCARD
-
The device is unusable -
The bug is the source of a data loss or a big waste of time -
The bug concerns a third party app -
The bug concerns security -
The bug concerns privacy
The problem
Have a SMS sent to our device which contains a VCARD (contact)
Open the Message app, touch the discussion with the VCARD.
Application is crashing
Application shouldn't crash, VCARD should be accessible and usable.
Technical informations
Relevant logs (adb logcat
)
02-27 10:26:24.112 1834 1834 E RecyclerView: No adapter attached; skipping layout
02-27 10:26:24.113 1834 1834 E RecyclerView: No adapter attached; skipping layout
02-27 10:26:24.235 1087 1142 I ActivityManager: Displayed foundation.e.message/com.moez.QKSMS.feature.compose.ComposeActivity: +361ms
02-27 10:26:24.260 1834 1882 D OpenGLRenderer: endAllActiveAnimators on 0x79197c2800 (RippleDrawable) with handle 0x7916281800
02-27 10:26:24.410 767 767 E QCOM PowerHAL: Failed to acquire lock.
02-27 10:26:24.429 1834 1834 W System.err: io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | java.lang.IllegalStateException: vcard.formattedName must not be null
02-27 10:26:24.429 1834 1834 W System.err: at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
02-27 10:26:24.429 1834 1834 W System.err: at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
02-27 10:26:24.429 1834 1834 W System.err: at io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)
02-27 10:26:24.429 1834 1834 W System.err: at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:67)
02-27 10:26:24.429 1834 1834 W System.err: at com.uber.rxdogtag.DogTagObserver.lambda$onNext$3$DogTagObserver(DogTagObserver.java:56)
02-27 10:26:24.429 1834 1834 W System.err: at com.uber.rxdogtag.-$$Lambda$DogTagObserver$Bul2aJuZ0nriT_735invreaJZFw.run(Unknown Source:4)
02-27 10:26:24.429 1834 1834 W System.err: at com.uber.rxdogtag.RxDogTag.guardedDelegateCall(RxDogTag.java:221)
02-27 10:26:24.429 1834 1834 W System.err: at com.uber.rxdogtag.DogTagObserver.onNext(DogTagObserver.java:56)
02-27 10:26:24.429 1834 1834 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201)
02-27 10:26:24.429 1834 1834 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255)
02-27 10:26:24.429 1834 1834 W System.err: at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:124)
02-27 10:26:24.429 1834 1834 W System.err: at android.os.Handler.handleCallback(Handler.java:790)
02-27 10:26:24.429 1834 1834 W System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
02-27 10:26:24.429 1834 1834 W System.err: at android.os.Looper.loop(Looper.java:164)
02-27 10:26:24.429 1834 1834 W System.err: at android.app.ActivityThread.main(ActivityThread.java:6494)
02-27 10:26:24.429 1834 1834 W System.err: at java.lang.reflect.Method.invoke(Native Method)
02-27 10:26:24.429 1834 1834 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
02-27 10:26:24.429 1834 1834 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
02-27 10:26:24.429 1834 1834 W System.err: Caused by: java.lang.IllegalStateException: vcard.formattedName must not be null
02-27 10:26:24.429 1834 1834 W System.err: at com.moez.QKSMS.feature.compose.part.VCardBinder$bindPart$5.accept(VCardBinder.kt:66)
02-27 10:26:24.429 1834 1834 W System.err: at com.moez.QKSMS.feature.compose.part.VCardBinder$bindPart$5.accept(VCardBinder.kt:42)
02-27 10:26:24.430 1834 1834 W System.err: at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
02-27 10:26:24.430 1834 1834 W System.err: ... 14 more
02-27 10:26:24.430 1834 1834 W System.err: io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | java.lang.IllegalStateException: vcard.formattedName must not be null
02-27 10:26:24.430 1834 1834 W System.err: at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
02-27 10:26:24.430 1834 1834 W System.err: at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
02-27 10:26:24.430 1834 1834 W System.err: at io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)
02-27 10:26:24.430 1834 1834 W System.err: at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:67)
02-27 10:26:24.430 1834 1834 W System.err: at com.uber.rxdogtag.DogTagObserver.lambda$onNext$3$DogTagObserver(DogTagObserver.java:56)
02-27 10:26:24.430 1834 1834 W System.err: at com.uber.rxdogtag.-$$Lambda$DogTagObserver$Bul2aJuZ0nriT_735invreaJZFw.run(Unknown Source:4)
02-27 10:26:24.430 1834 1834 W System.err: at com.uber.rxdogtag.RxDogTag.guardedDelegateCall(RxDogTag.java:221)
02-27 10:26:24.430 1834 1834 W System.err: at com.uber.rxdogtag.DogTagObserver.onNext(DogTagObserver.java:56)
02-27 10:26:24.430 1834 1834 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201)
02-27 10:26:24.430 1834 1834 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255)
02-27 10:26:24.430 1834 1834 W System.err: at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:124)
02-27 10:26:24.430 1834 1834 W System.err: at android.os.Handler.handleCallback(Handler.java:790)
02-27 10:26:24.430 1834 1834 W System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
02-27 10:26:24.430 1834 1834 W System.err: at android.os.Looper.loop(Looper.java:164)
02-27 10:26:24.430 1834 1834 W System.err: at android.app.ActivityThread.main(ActivityThread.java:6494)
02-27 10:26:24.430 1834 1834 W System.err: at java.lang.reflect.Method.invoke(Native Method)
02-27 10:26:24.430 1834 1834 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
02-27 10:26:24.430 1834 1834 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
02-27 10:26:24.430 1834 1834 W System.err: Caused by: java.lang.IllegalStateException: vcard.formattedName must not be null
02-27 10:26:24.430 1834 1834 W System.err: at com.moez.QKSMS.feature.compose.part.VCardBinder.bindPart(VCardBinder.kt:66)
02-27 10:26:24.430 1834 1834 W System.err: at [[ ↑↑ Inferred subscribe point ↑↑ ]].(:0)
02-27 10:26:24.430 1834 1834 W System.err: at [[ Originating callback: onNext ]].(:0)
02-27 10:26:24.430 1834 1834 W System.err: at [[ ↓↓ Original trace ↓↓ ]].(:0)
02-27 10:26:24.430 1834 1834 W System.err: at com.moez.QKSMS.feature.compose.part.VCardBinder$bindPart$5.accept(VCardBinder.kt:66)
02-27 10:26:24.430 1834 1834 W System.err: at com.moez.QKSMS.feature.compose.part.VCardBinder$bindPart$5.accept(VCardBinder.kt:42)
02-27 10:26:24.430 1834 1834 W System.err: at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
02-27 10:26:24.430 1834 1834 W System.err: ... 14 more
02-27 10:26:24.432 1087 2657 W ActivityManager: Force finishing activity foundation.e.message/com.moez.QKSMS.feature.compose.ComposeActivity
02-27 10:26:24.439 1087 2657 W ActivityManager: Force finishing activity foundation.e.message/com.moez.QKSMS.feature.main.MainActivity
02-27 10:26:24.449 1087 1115 I ActivityManager: Showing crash dialog for package foundation.e.message u0
02-27 10:26:24.487 1087 6310 I OpenGLRenderer: Initialized EGL, version 1.4
02-27 10:26:24.488 1087 6310 D OpenGLRenderer: Swap behavior 2
02-27 10:26:24.936 1087 1114 W ActivityManager: Activity pause timeout for ActivityRecord{6e9ab16 u0 foundation.e.message/com.moez.QKSMS.feature.compose.ComposeActivity t20218 f}
02-27 10:26:25.094 1087 1115 W Looper : Dispatch took 138ms on android.ui, h=Handler (com.android.server.am.ActivityManagerService$UiHandler) {d885ea0} cb=null msg=31
02-27 10:26:25.096 7909 7909 D WeatherIconUtils: Decoding resource id = 2131230977 for density = 640
02-27 10:26:25.322 822 4875 D NuPlayerDriver: NuPlayerDriver(0xdda98db0) created, clientPid(1778)
02-27 10:26:25.331 822 1972 D GenericSource: FileSource remote
02-27 10:26:25.337 822 1971 D NuPlayerDriver: notifyListener_l(0xdda98db0), (1, 0, 0, -1), loop setting(0, 0)
02-27 10:26:25.346 1087 4438 I MediaFocusControl: requestAudioFocus() from uid/pid 10034/1778 clientId=android.media.AudioManager@ab7a6a7 callingPack=com.android.systemui req=3 flags=0x0 sdk=27
02-27 10:26:25.366 1778 1778 D StatusBar: disable<e i a s b h r c s q >
02-27 10:26:25.546 7909 7909 D NotificationRepository: updateNotification() called with: list = [85]
02-27 10:26:25.560 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:1 lineCount:1
02-27 10:26:25.561 1778 1778 I chatty : uid=10034(com.android.systemui) identical 1 line
02-27 10:26:25.564 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:1 lineCount:1
02-27 10:26:25.630 7909 7909 D NotificationRepository: updateNotification() called with: list = [85]
02-27 10:26:25.679 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:1 lineCount:1
02-27 10:26:25.679 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:2 lineCount:2
02-27 10:26:25.679 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:2 lineCount:2
02-27 10:26:25.680 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:3 lineCount:3
02-27 10:26:25.680 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:1 lineCount:1
02-27 10:26:25.681 1778 1778 I chatty : uid=10034(com.android.systemui) identical 6 lines
02-27 10:26:25.682 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:1 lineCount:1
02-27 10:26:25.682 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:7 lineCount:7
02-27 10:26:25.682 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:7 lineCount:7
02-27 10:26:25.697 7909 7909 D NotificationRepository: updateNotification() called with: list = [85]
02-27 10:26:25.699 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:6 lineCount:6
02-27 10:26:25.699 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:1 lineCount:1
02-27 10:26:25.699 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:6 lineCount:6
02-27 10:26:25.699 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:1 lineCount:1
02-27 10:26:25.700 1778 1778 I chatty : uid=10034(com.android.systemui) identical 4 lines
02-27 10:26:25.701 1778 1778 W StaticLayout: maxLineHeight should not be -1. maxLines:1 lineCount:1
02-27 10:26:25.780 7909 7909 D NotificationRepository: updateNotification() called with: list = [85]
02-27 10:26:25.781 7909 7909 D HorizontalPager: dispatchDraw() called with: canvas = [android.view.DisplayListCanvas@c6be478]
02-27 10:26:25.849 1778 1778 V MediaRouter: onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
02-27 10:26:25.849 1778 1778 V MediaRouter: Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
02-27 10:26:25.849 822 24104 D NuPlayerDriver: start(0xdda98db0), state is 4, eos is 0
02-27 10:26:25.850 822 1971 I GenericSource: start
02-27 10:26:25.860 1744 2310 V Avrcp : Media update: id -1➡-1? [MediaAttributes: France Inter - by InterVenez (0 0/0) ] : [MediaAttributes: France Inter - by 0% buffered… (0 0/0) ]
02-27 10:26:25.860 1744 2310 V Avrcp : Check if NowPlayingList is updated
02-27 10:26:25.865 1744 2310 I AddressedMediaPlayer: null queue from tunein.player, constructing single-item list
02-27 10:26:25.867 1744 2310 E Avrcp : play status change 0➡1 mPlayStatusChangedNT: 1
02-27 10:26:25.867 1744 2310 E bt_btif : register_notification_rsp: Avrcp device is not connected, handle: 0x0
02-27 10:26:25.885 822 1988 I OMXClient: Treble IOmx obtained
Relevant screenshots
Solutions
Workaround
Possible fixes