microg / microg/GmsCore

[com.strava] Strava crashes when I try to open saved activity

Open
#1,540 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
14.6k
Forks
3.2k
Avg merge
12d 11h
Merged PRs (30d)
4

Description

Affected app
Name: Strava
Package id: com.strava

Describe the bug
Strava crashes when I try to open recorded sports activity

To Reproduce
Steps to reproduce the behavior:

  1. Open Strava app
  2. Tap on 'You'
  3. Tap on 'ACTIVITIES' tab
  4. Tap on recorded sports activity
  5. Catch FC

System
Android Version: 7.1.2 stock

microG
microG Core version: v0.2.22.212658
microG Self-Check results: All ticked

Additional context

This bug is also present on previous GmsCore release (v0.2.21.212158).

PS: I have the same phone E5823 with the same OS and the same modified framework, but with native GMS/gapps. And there is no issues.

FC logcat



#######RuntimeEnvironmentInformation#######
crash time=2021-08-24 16:31:12.980
model=E5823
android version=7.1.1(25)
brand=Sony
manufacturer=Sony
board=msm8994
hardware=qcom
device=E5823
version name=215.8
supported ABIs=arm64-v8a & armeabi-v7a & armeabi
display=32.4.A.1.54
#######ForceCloseCrashLog#######
java.lang.IllegalArgumentException: Error creating modular layout ViewHolder with key training-impact-summary
 at c.a.e1.x.h.onCreateViewHolder(ProGuard:6)
 at androidx.recyclerview.widget.RecyclerView$e.createViewHolder(ProGuard:3)
 at c.a.e1.x.h.onBindViewHolder(ProGuard:29)
 at androidx.recyclerview.widget.RecyclerView$e.onBindViewHolder(ProGuard:1)
 at androidx.recyclerview.widget.RecyclerView$e.bindViewHolder(ProGuard:7)
 at androidx.recyclerview.widget.RecyclerView$t.k(ProGuard:137)
 at androidx.recyclerview.widget.RecyclerView$t.e(ProGuard:1)
 at androidx.recyclerview.widget.LinearLayoutManager$c.c(ProGuard:8)
 at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(ProGuard:1)
 at androidx.recyclerview.widget.LinearLayoutManager.fill(ProGuard:12)
 at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(ProGuard:65)
 at androidx.recyclerview.widget.RecyclerView.s(ProGuard:8)
 at androidx.recyclerview.widget.RecyclerView.q(ProGuard:9)
 at androidx.recyclerview.widget.RecyclerView.onLayout(ProGuard:3)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
 at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
 at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(ProGuard:11)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at c.i.a.e.c.i.layoutChild(ProGuard:23)
 at c.i.a.e.c.j.onLayoutChild(ProGuard:1)
 at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(ProGuard:1)
 at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(ProGuard:8)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
 at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
 at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
 at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
 at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at com.android.internal.policy.DecorView.onLayout(DecorView.java:730)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2346)
 at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2068)
 at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
 at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6343)
 at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
 at android.view.Choreographer.doCallbacks(Choreographer.java:686)
 at android.view.Choreographer.doFrame(Choreographer.java:621)
 at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
 at android.os.Handler.handleCallback(Handler.java:751)
 at android.os.Handler.dispatchMessage(Handler.java:95)
 at android.os.Looper.loop(Looper.java:241)
 at android.app.ActivityThread.main(ActivityThread.java:6274)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
 at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Caused by: android.view.InflateException: Binary XML file line #103: Binary XML file line #103: Error inflating class ImageView
Caused by: android.view.InflateException: Binary XML file line #103: Error inflating class ImageView
Caused by: android.content.res.Resources$NotFoundException: Drawable (missing name) with resource ID #0x7f08050a
Caused by: android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f08050a
 at android.content.res.ResourcesImpl.getResourceName(ResourcesImpl.java:228)
 at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:687)
 at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
 at android.content.res.Resources.loadDrawable(Resources.java:862)
 at android.content.res.TypedArray.getDrawable(TypedArray.java:933)
 at android.content.res.XResources$XTypedArray.getDrawable(XResources.java:1363)
 at android.widget.ImageView.<init>(ImageView.java:162)
 at android.widget.ImageView.<init>(ImageView.java:150)
 at androidx.appcompat.widget.AppCompatImageView.<init>(ProGuard:3)
 at androidx.appcompat.widget.AppCompatImageView.<init>(ProGuard:2)
 at i0.b.c.s.createImageView(ProGuard:1)
 at i0.b.c.s.createView(ProGuard:14)
 at androidx.appcompat.app.AppCompatDelegateImpl.onCreateView(ProGuard:12)
 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769)
 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
 at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
 at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
 at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
 at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360)
 at android.view.LayoutInflater.inflate(<Xposed>)
 at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
 at c.d.c.a.a.j(ProGuard)
 at c.a.e1.x.q.<init>(ProGuard:1)
 at com.strava.modularui.viewholders.TrainingImpactSummaryViewHolder.<init>(ProGuard:1)
 at com.strava.modularui.GenericModuleList$modules$20.invoke(ProGuard:1)
 at com.strava.modularui.GenericModuleList$modules$20.invoke(ProGuard:2)
 at c.a.e1.x.h.onCreateViewHolder(ProGuard:4)
 at androidx.recyclerview.widget.RecyclerView$e.createViewHolder(ProGuard:3)
 at c.a.e1.x.h.onBindViewHolder(ProGuard:29)
 at androidx.recyclerview.widget.RecyclerView$e.onBindViewHolder(ProGuard:1)
 at androidx.recyclerview.widget.RecyclerView$e.bindViewHolder(ProGuard:7)
 at androidx.recyclerview.widget.RecyclerView$t.k(ProGuard:137)
 at androidx.recyclerview.widget.RecyclerView$t.e(ProGuard:1)
 at androidx.recyclerview.widget.LinearLayoutManager$c.c(ProGuard:8)
 at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(ProGuard:1)
 at androidx.recyclerview.widget.LinearLayoutManager.fill(ProGuard:12)
 at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(ProGuard:65)
 at androidx.recyclerview.widget.RecyclerView.s(ProGuard:8)
 at androidx.recyclerview.widget.RecyclerView.q(ProGuard:9)
 at androidx.recyclerview.widget.RecyclerView.onLayout(ProGuard:3)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
 at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
 at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(ProGuard:11)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at c.i.a.e.c.i.layoutChild(ProGuard:23)
 at c.i.a.e.c.j.onLayoutChild(ProGuard:1)
 at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(ProGuard:1)
 at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(ProGuard:8)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
 at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
 at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
 at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
 at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
 at com.android.internal.policy.DecorView.onLayout(DecorView.java:730)
 at android.view.View.layout(View.java:17689)
 at android.view.ViewGroup.layout(ViewGroup.java:5575)
 at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2346)
 at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2068)
 at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
 at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6343)
 at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
 at android.view.Choreographer.doCallbacks(Choreographer.java:686)
 at android.view.Choreographer.doFrame(Choreographer.java:621)
 at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
 at android.os.Handler.handleCallback(Handler.java:751)
 at android.os.Handler.dispatchMessage(Handler.java:95)
 at android.os.Looper.loop(Looper.java:241)
 at android.app.ActivityThread.main(ActivityThread.java:6274)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
 at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the crash on the listed Sony E5823 running Android 7.1.2 and reviewing the supplied logcat. Investigate the missing drawable while Strava creates the training-impact-summary view; done means opening a recorded activity no longer force-closes the app.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.