oppia / oppia-android

A free, online & offline learning platform to make quality education accessible for all.
https://www.oppia.org
Apache License 2.0
311 stars 514 forks source link

[BUG]: android.content.res.Resources$NotFoundException - Unable to find resource ID #<address> #5447

Open seanlip opened 3 months ago

seanlip commented 3 months ago

Describe the bug

We are seeing this crash in Crashlytics after the release of 0.13-beta. It happens at org.oppia.android.app.settings.profile.m.a.

This issue has 1 crash event affecting 1 user in the span of 1 day.

Full stacktrace ``` Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.oppia.android/org.oppia.android.app.settings.profile.ProfileEditActivity}: android.view.InflateException: Binary XML file line #182: Binary XML file line #182: Error inflating class androidx.appcompat.widget.SwitchCompat at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11() at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) Caused by android.view.InflateException: Binary XML file line #182: Binary XML file line #182: Error inflating class androidx.appcompat.widget.SwitchCompat Caused by android.view.InflateException: Binary XML file line #182: Error inflating class androidx.appcompat.widget.SwitchCompat Caused by java.lang.reflect.InvocationTargetException: at java.lang.reflect.Constructor.newInstance0(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:334) at android.view.LayoutInflater.createView(LayoutInflater.java:647) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at androidx.databinding.h.a(SourceFile:126) at androidx.databinding.ViewDataBinding.a(SourceFile:1366) at fR.eh.a(SourceFile:1126) at org.oppia.android.app.settings.profile.m.a(SourceFile:47) at org.oppia.android.app.settings.profile.k.a(SourceFile:53) at androidx.fragment.app.h.b(SourceFile:2698) at androidx.fragment.app.W.a(SourceFile:310) at androidx.fragment.app.F.a(SourceFile:1185) at androidx.fragment.app.F.i(SourceFile:1354) at androidx.fragment.app.F.h(SourceFile:1432) at androidx.fragment.app.F.a(SourceFile:1495) at androidx.fragment.app.F.e(SourceFile:2617) at androidx.fragment.app.F.i(SourceFile:2569) at androidx.fragment.app.z.d(SourceFile:247) at androidx.fragment.app.FragmentActivity.onStart(SourceFile:541) at androidx.appcompat.app.AppCompatActivity.onStart(SourceFile:210) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1334) at android.app.Activity.performStart(Activity.java:7029) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2741) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11() at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) Caused by android.content.res.Resources$NotFoundException: Drawable org.oppia.android:drawable/abc_switch_thumb_material with resource ID #0x7f080063 Caused by android.content.res.Resources$NotFoundException: File res/drawable/abc_switch_thumb_material.xml from drawable resource ID #0x7f080063 at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:820) at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:630) at android.content.res.Resources.getDrawableForDensity(Resources.java:877) at android.content.res.XResources.getDrawableForDensity(XResources.java:868) at android.content.res.Resources.getDrawable(Resources.java:819) at android.content.res.XResources.getDrawable(XResources.java:790) at android.content.Context.getDrawable(Context.java:605) at r.a.c(SourceFile:455) at androidx.appcompat.widget.aE.a(SourceFile:144) at androidx.appcompat.widget.aE.b(SourceFile:132) at b.a.b(SourceFile:104) at androidx.appcompat.widget.bp.d(SourceFile:83) at androidx.appcompat.widget.SwitchCompat.(SourceFile:235) at androidx.appcompat.widget.SwitchCompat.(SourceFile:206) at java.lang.reflect.Constructor.newInstance0(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:334) at android.view.LayoutInflater.createView(LayoutInflater.java:647) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at androidx.databinding.h.a(SourceFile:126) at androidx.databinding.ViewDataBinding.a(SourceFile:1366) at fR.eh.a(SourceFile:1126) at org.oppia.android.app.settings.profile.m.a(SourceFile:47) at org.oppia.android.app.settings.profile.k.a(SourceFile:53) at androidx.fragment.app.h.b(SourceFile:2698) at androidx.fragment.app.W.a(SourceFile:310) at androidx.fragment.app.F.a(SourceFile:1185) at androidx.fragment.app.F.i(SourceFile:1354) at androidx.fragment.app.F.h(SourceFile:1432) at androidx.fragment.app.F.a(SourceFile:1495) at androidx.fragment.app.F.e(SourceFile:2617) at androidx.fragment.app.F.i(SourceFile:2569) at androidx.fragment.app.z.d(SourceFile:247) at androidx.fragment.app.FragmentActivity.onStart(SourceFile:541) at androidx.appcompat.app.AppCompatActivity.onStart(SourceFile:210) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1334) at android.app.Activity.performStart(Activity.java:7029) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2741) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11() at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) Caused by android.content.res.Resources$NotFoundException: Drawable (missing name) with resource ID #0x7f08002c Caused by android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f08002c at android.content.res.ResourcesImpl.getResourceName(ResourcesImpl.java:253) at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:760) at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:630) at android.content.res.Resources.loadDrawable(Resources.java:886) at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:953) at android.content.res.TypedArray.getDrawable(TypedArray.java:928) at android.content.res.XResources$XTypedArray.getDrawable(XResources.java:1363) at android.graphics.drawable.StateListDrawable.inflateChildElements(StateListDrawable.java:177) at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:122) at android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:142) at android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java:1295) at android.graphics.drawable.Drawable.createFromXmlForDensity(Drawable.java:1254) at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:807) at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:630) at android.content.res.Resources.getDrawableForDensity(Resources.java:877) at android.content.res.XResources.getDrawableForDensity(XResources.java:868) at android.content.res.Resources.getDrawable(Resources.java:819) at android.content.res.XResources.getDrawable(XResources.java:790) at android.content.Context.getDrawable(Context.java:605) at r.a.c(SourceFile:455) at androidx.appcompat.widget.aE.a(SourceFile:144) at androidx.appcompat.widget.aE.b(SourceFile:132) at b.a.b(SourceFile:104) at androidx.appcompat.widget.bp.d(SourceFile:83) at androidx.appcompat.widget.SwitchCompat.(SourceFile:235) at androidx.appcompat.widget.SwitchCompat.(SourceFile:206) at java.lang.reflect.Constructor.newInstance0(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:334) at android.view.LayoutInflater.createView(LayoutInflater.java:647) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at androidx.databinding.h.a(SourceFile:126) at androidx.databinding.ViewDataBinding.a(SourceFile:1366) at fR.eh.a(SourceFile:1126) at org.oppia.android.app.settings.profile.m.a(SourceFile:47) at org.oppia.android.app.settings.profile.k.a(SourceFile:53) at androidx.fragment.app.h.b(SourceFile:2698) at androidx.fragment.app.W.a(SourceFile:310) at androidx.fragment.app.F.a(SourceFile:1185) at androidx.fragment.app.F.i(SourceFile:1354) at androidx.fragment.app.F.h(SourceFile:1432) at androidx.fragment.app.F.a(SourceFile:1495) at androidx.fragment.app.F.e(SourceFile:2617) at androidx.fragment.app.F.i(SourceFile:2569) at androidx.fragment.app.z.d(SourceFile:247) at androidx.fragment.app.FragmentActivity.onStart(SourceFile:541) at androidx.appcompat.app.AppCompatActivity.onStart(SourceFile:210) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1334) at android.app.Activity.performStart(Activity.java:7029) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2741) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) at android.app.ActivityThread.-wrap11() at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) heartbeat-information-executor: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) Answers Events Handler1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at dj.v.a(SourceFile:75) at dj.k.run(SourceFile:30) at java.lang.Thread.run(Thread.java:764) glide-disk-cache-thread-0: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:548) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) at am.d.run(SourceFile:393) pool-14-thread-1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) glide-active-resources: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:422) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209) at aj.a.a(SourceFile:128) at aj.d.run(SourceFile:61) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at aj.c.run(SourceFile:43) at java.lang.Thread.run(Thread.java:764) Measurement Worker: at android.os.Parcel$ReadWriteHelper.readString(Parcel.java:362) at android.os.Parcel.readString(Parcel.java:2058) at android.content.pm.ApplicationInfo.(ApplicationInfo.java:1347) at android.content.pm.ApplicationInfo.() at android.content.pm.ApplicationInfo$1.createFromParcel(ApplicationInfo.java:1305) at android.content.pm.ApplicationInfo$1.createFromParcel(ApplicationInfo.java:1304) at android.content.pm.IPackageManager$Stub$Proxy.getApplicationInfo(IPackageManager.java:2951) at android.app.ApplicationPackageManager.getApplicationInfoAsUser(ApplicationPackageManager.java:367) at android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:360) at bg.b.a(SourceFile:1) at com.google.android.gms.measurement.internal.eX.x(SourceFile:117) at com.google.android.gms.measurement.internal.eX.f(SourceFile:126) at com.google.android.gms.measurement.internal.ch.c(SourceFile:349) at com.google.android.gms.measurement.internal.ch.D(SourceFile:328) at com.google.android.gms.measurement.internal.bw.a(SourceFile:164) at com.google.android.gms.measurement.internal.dC.b(SourceFile:287) at com.google.android.gms.measurement.internal.dC.a(SourceFile:68) at com.google.android.gms.measurement.internal.cL.a(SourceFile:382) at com.google.android.gms.measurement.internal.cU.run(SourceFile:2) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at com.google.android.gms.measurement.internal.cd.run(SourceFile:21) pool-17-thread-2: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-8-thread-1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) Queue: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:548) at dk.m.a(SourceFile:1197) at dk.m.take(SourceFile:3065) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-17-thread-1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-15-thread-3: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) firebase-installations-executor-1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) FirebaseInstanceId: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at bf.b.run(SourceFile:2) at java.lang.Thread.run(Thread.java:764) pool-15-thread-1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-3-thread-1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) GmsDynamite: at java.lang.Object.wait(Object.java) at com.google.android.gms.dynamite.e.run(SourceFile:2) firebase-iid-executor: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at bf.b.run(SourceFile:2) at java.lang.Thread.run(Thread.java:764) Queue: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:548) at dk.m.a(SourceFile:1197) at dk.m.take(SourceFile:3065) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) FinalizerDaemon: at java.lang.Object.wait(Object.java) at java.lang.Object.wait(Object.java:422) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:232) at java.lang.Daemons$Daemon.run(Daemons.java:103) at java.lang.Thread.run(Thread.java:764) com.google.firebase.crashlytics.startup1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at cf.ao.a(SourceFile:60) at cf.d.run(SourceFile:27) at java.lang.Thread.run(Thread.java:764) MessengerIpcClient: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at bf.b.run(SourceFile:2) at java.lang.Thread.run(Thread.java:764) kotlinx.coroutines.DefaultExecutor: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at kotlinx.coroutines.ac.run(SourceFile:121) at java.lang.Thread.run(Thread.java:764) ScionFrontendApi: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) GoogleApiHandler: at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) Crashlytics Exception Handler1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at dj.v.a(SourceFile:75) at dj.k.run(SourceFile:30) at java.lang.Thread.run(Thread.java:764) ReferenceQueueDaemon: at java.lang.Object.wait(Object.java) at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:178) at java.lang.Daemons$Daemon.run(Daemons.java:103) at java.lang.Thread.run(Thread.java:764) Crashlytics Exception Handler1: at dalvik.system.VMStack.getThreadStackTrace(VMStack.java) at java.lang.Thread.getStackTrace(Thread.java:1538) at java.lang.Thread.getAllStackTraces(Thread.java:1588) at cf.ae.a(SourceFile:1260) at cf.av.a(SourceFile:218) at cf.av.a(SourceFile:122) at cf.H.call(SourceFile:1395) at cf.m.a(SourceFile:106) at bt.r.run(SourceFile:1) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at cf.ao.a(SourceFile:60) at cf.d.run(SourceFile:27) at java.lang.Thread.run(Thread.java:764) firebase-iid-executor: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at bf.b.run(SourceFile:2) at java.lang.Thread.run(Thread.java:764) pool-15-thread-2: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) awaitEvenIfOnMainThread task continuation executor1: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at cf.ao.a(SourceFile:60) at cf.d.run(SourceFile:27) at java.lang.Thread.run(Thread.java:764) firebase-installations-executor-2: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2101) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1086) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) pool-15-thread-4: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) Okio Watchdog: at java.lang.Object.wait(Object.java) at com.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:311) at com.android.okhttp.okio.AsyncTimeout.-wrap0() at com.android.okhttp.okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:286) glide-source-thread-0: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:548) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) at am.d.run(SourceFile:393) FinalizerWatchdogDaemon: at java.lang.Thread.sleep(Thread.java) at java.lang.Thread.sleep(Thread.java:373) at java.lang.Thread.sleep(Thread.java:314) at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:342) at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:364) at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:281) at java.lang.Daemons$Daemon.run(Daemons.java:103) at java.lang.Thread.run(Thread.java:764) queued-work-looper: at android.os.MessageQueue.nativePollOnce(MessageQueue.java) at android.os.MessageQueue.next(MessageQueue.java:325) at android.os.Looper.loop(Looper.java:142) at android.os.HandlerThread.run(HandlerThread.java:65) OkHttp ConnectionPool: at java.lang.Object.wait(Object.java) at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:101) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) Queue: at java.lang.Object.wait(Object.java) at java.lang.Thread.parkFor$(Thread.java:2137) at sun.misc.Unsafe.park(Unsafe.java:358) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2059) at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:548) at dk.m.a(SourceFile:1197) at dk.m.take(SourceFile:3065) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1087) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1147) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) ```

Steps To Reproduce

Not sure; this happened in production.

Expected Behavior

The crash should not happen.

Screenshots/Videos

No response

What device/emulator are you using?

Nexus 5X

Which Android version is your device/emulator running?

Android 8.1.0

Which version of the Oppia Android app are you using?

0.13-beta-dcde7b359e

Additional Context

No response

adhiamboperes commented 3 months ago

This is related to the androidx.appcompat.widget.SwitchCompat - The switch to enable buttons in the edit profile UI.

I think this is related to our use of https://stackoverflow.com/questions/51228226/resource-not-found-error-res-drawable-abc-switch-thumb-material-xml-after-adding

This is related to our use of support libraries.