Wire-android: Markdown related crash every time app is opened, app is unusable

Created on 19 Nov 2019  路  12Comments  路  Source: wireapp/wire-android

Describe the bug
Since a few days ago the app has been crashing as soon as I open it. I've tried restarting the app, the phone, reinstalling the app. It started working for a bit earlier but then went back to crashing.

To Reproduce

  1. Hold my phone
  2. Open the app

Expected behavior
The app opens.

Actual behaviour
It briefly starts rendering before crashing.

Smartphone (please complete the following information):

  • Wire version that exhibits the issue: 3.42.863
  • Last Wire version that did not exhibit the issue (if applicable): The previous ones
  • Android OS version used to run Wire: 8.0.0
  • Is this a custom firmware or a stock one: Stock
  • Mobile phone model/manufacturer: Sony Xperia X Compact F5321
  • Mobile network type (EDGE/LTE/Wi-Fi/Offline): 4g/Wifi

Additional context

adb logcat output on crash

11-19 20:36:59.226 28635 28635 D AndroidRuntime: Shutting down VM
11-19 20:36:59.241 28635 28635 E AndroidRuntime: FATAL EXCEPTION: main
11-19 20:36:59.241 28635 28635 E AndroidRuntime: Process: com.wire, PID: 28635
11-19 20:36:59.241 28635 28635 E AndroidRuntime: java.lang.NoSuchMethodError: No direct method <init>(III)V in class Landroid/text/style/QuoteSpan; or its super classes (declaration of 'android.text.style.QuoteSpan' appears in /system/framework/framework.jar:classes2.dex)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.markdown.spans.custom.CustomQuoteSpan.<init>(CustomQuoteSpan.kt:37)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.markdown.spans.commonmark.BlockQuoteSpan.<init>(BlockQuoteSpan.kt:41)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.markdown.StyleSheet.spanFor(StyleSheet.kt:198)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.markdown.visitors.SpanRenderer.visit(SpanRenderer.kt:110)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at org.commonmark.node.BlockQuote.accept(BlockQuote.java:7)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at org.commonmark.node.AbstractVisitor.visitChildren(AbstractVisitor.java:132)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.markdown.visitors.SpanRenderer.visit(SpanRenderer.kt:82)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at org.commonmark.node.Document.accept(Document.java:7)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.markdown.Markdown.parse(Markdown.kt:1030)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.markdown.MarkdownTextView.applyMarkdown(MarkdownTextView.java:149)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.markdown.MarkdownTextView.markdown(MarkdownTextView.java:139)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.messages.parts.TextPartView.setText(TextPartView.scala:102)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.messages.parts.TextPartView.set(TextPartView.scala:121)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.messages.MessageViewPart$class.set(MessageViewPart.scala:56)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.messages.parts.TextPartView.set(TextPartView.scala:44)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.messages.MessageViewLayout$$anonfun$1.apply(MessageViewLayout.scala:1063)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:1234)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at scala.collection.immutable.List.foreach(List.scala:392)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at scala.collection.immutable.List.map(List.scala:296)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.messages.MessagesPagedListAdapter$$anonfun$onBindViewHolder$1.apply(MessagesPagedListAdapter.scala:45060)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at scala.Option.foreach(Option.scala:257)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.messages.MessagesPagedListAdapter.onBindViewHolder(MessagesPagedListAdapter.scala:4048)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:17781)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline$1f59b31c(RecyclerView.java:6019)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition$3a4f3d28(RecyclerView.java:5858)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:11854)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1557)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:587)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3641)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4194)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at com.waz.zclient.messages.MessagesListView.onLayout(MessagesListView.scala:155)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
11-19 20:36:59.241 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at androidx.viewpager.widget.ViewPager.onLayout(ViewPager.java:1775)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at com.android.internal.policy.DecorView.onLayout(DecorView.java:767)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.View.layout(View.java:19599)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewGroup.layout(ViewGroup.java:6053)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2488)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2204)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1390)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6754)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.Choreographer.doCallbacks(Choreographer.java:778)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.Choreographer.doFrame(Choreographer.java:713)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:789)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:98)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:251)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:6589)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
11-19 20:36:59.242 28635 28635 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
11-19 20:36:59.246  3785  6868 D ActivityManager: New dropbox entry: com.wire, data_app_crash, 1f44070c-fbfc-451f-910a-fcc8b5a9d0d7
11-19 20:36:59.247  3785  6868 W ActivityManager:   Force finishing activity com.wire/com.waz.zclient.MainActivity
11-19 20:36:59.249  3785  6868 D ActivityTrigger: ActivityTrigger activityPauseTrigger 
11-19 20:36:59.256  3785  3830 I ActivityManager: Showing crash dialog for package com.wire u0
bug

Most helpful comment

Me and all of my contacts have this same bug which means the entire messenger is unusable. So +1. I find it incredible that such an obvious thing has passed by basic testing? It seems since about the last 2-3 months nobody at Wire really cares about the android release anymore. Just take a look at how the reviews in google app store have changed recently due to the myriad of bugs and crashes.

All 12 comments

I think it might just be crashing when it's trying to render a quote block. I.e with > like

Test

Which is maybe not surprising considering the log. And this should be why it stops crashing after a while, when the bugged message scrolls away in a chat

Yep confirmed. Deleting/editing (from another device) the messages to remove the quote blocks makes the crashes stop.

Me and all of my contacts have this same bug which means the entire messenger is unusable. So +1. I find it incredible that such an obvious thing has passed by basic testing? It seems since about the last 2-3 months nobody at Wire really cares about the android release anymore. Just take a look at how the reviews in google app store have changed recently due to the myriad of bugs and crashes.

Same here

Yep, same bug here, block quotes seem to have wrecked everyone in a group chat.

Hi all,
thanks @Powersource for opening the issue and for everyone for adding more information. We will look at the issue and hopefully have a fix out soon.

Hi all,
the fix is ready! It will be released with an upcoming release (not the next one as that's already on its way, but the one after).

Still not fixed. 馃挬

@alien2003 the version with the fix has not been released yet. Please wait for the version after 3.43.870, which will probably be 3.44.xxx.

run into this the first time today. 27 DAYS of not being fixed!!!

So the app is unusable for more than month 馃挬

This has been released with v3.44. You can get the up to date version on the play store.

Was this page helpful?
0 / 5 - 0 ratings