-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Description
Description: My app is fully on compose. I do not use any reference to views except for GAM. The only external lib that may use webview is Google Ads SDK. I have started getting a fair share of crashes on firebase. I am not sure if this is a theme issue or an issue of chromium because the stacktrace contains some native chromimum code (JNI). Any help or direction will be appreciated.
Expected behaviour: Won't crash.
Source code:
Theme:
<resources>
<style name="Theme.mytheme" parent="Theme.Material3.DayNight.NoActionBar">
<item name="windowSplashScreenBackground">@color/container</item>
<item name="android:windowBackground">@color/container</item>
</style>
<style name="Theme.App.Starting" parent="Theme.SplashScreen">
<item name="windowSplashScreenAnimatedIcon">@drawable/avd_anim</item>
<item name="windowSplashScreenBackground">@color/splash_bg</item>
<item name="windowSplashScreenAnimationDuration">1000</item>
<item name="postSplashScreenTheme">@style/Theme.mytheme</item>
</style>
</resources>Stacktrace:
Fatal Exception: org.chromium.base.JniAndroid$UncaughtExceptionException: Native stack trace:
#00 pc 0x00000000064daca3 /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#01 pc 0x00000000056a5aa3 /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#02 pc 0x00000000032b4bb3 /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#03 pc 0x00000000032e1cff /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#04 pc 0x000000000312246b /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#05 pc 0x00000000067c05c7 /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#06 pc 0x00000000057ff65b /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#07 pc 0x00000000057fe937 /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#08 pc 0x000000000562196f /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#09 pc 0x000000000727cf53 /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#10 pc 0x00000000071cc8a3 /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#11 pc 0x000000000679ddb7 /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibrary_744410233-tZEIF0XobVi5MZ-AY8vE2w==/base.apk (offset 0x8dc000)
#12 pc 0x000000000679dd2f /data/app/~~fkTOFKK1CeoZswQrdUkjRA==/com.google.android.trichromelibra<truncated: 340 chars>
at org.chromium.base.JniAndroid.handleException(chromium-TrichromeWebViewGoogle6432.aab-stable-744410233:21)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:370)
at android.os.Looper.loopOnce(Looper.java:214)
at android.os.Looper.loop(Looper.java:387)
at android.app.ActivityThread.main(ActivityThread.java:9500)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:600)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005)
Caused by android.view.InflateException: Binary XML file line #80 in android:layout/alert_dialog_material: Binary XML file line #37 in android:layout/alert_dialog_button_bar_material: Error inflating class Button
Caused by android.view.InflateException: Binary XML file line #37 in android:layout/alert_dialog_button_bar_material: Error inflating class Button
Caused by java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant).
at com.google.android.material.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.java:249)
at com.google.android.material.internal.ThemeEnforcement.checkMaterialTheme(ThemeEnforcement.java:218)
at com.google.android.material.internal.ThemeEnforcement.checkCompatibleTheme(ThemeEnforcement.java:146)
at com.google.android.material.internal.ThemeEnforcement.obtainStyledAttributes(ThemeEnforcement.java:78)
at com.google.android.material.button.MaterialButton.<init>(MaterialButton.java:283)
at com.google.android.material.button.MaterialButton.<init>(MaterialButton.java:271)
at com.google.android.material.theme.MaterialComponentsViewInflater.createButton(MaterialComponentsViewInflater.java:43)
at androidx.appcompat.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:156)
at androidx.appcompat.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1654)
at androidx.appcompat.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1705)
at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:973)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:909)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:873)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1035)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:996)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1038)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:996)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:1170)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1031)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:996)
at android.view.LayoutInflater.inflate(LayoutInflater.java:592)
at android.view.LayoutInflater.inflate(LayoutInflater.java:481)
at android.view.LayoutInflater.inflate(LayoutInflater.java:424)
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:557)
at com.android.internal.app.AlertController.installContent(AlertController.java:302)
at android.app.AlertDialog.onCreate(AlertDialog.java:444)
at android.app.Dialog.dispatchOnCreate(Dialog.java:461)
at android.app.Dialog.show(Dialog.java:339)
at WV.na2.a(chromium-TrichromeWebViewGoogle6432.aab-stable-744410233:3)
at org.chromium.content.browser.input.SelectPopup.show(chromium-TrichromeWebViewGoogle6432.aab-stable-744410233:508)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:370)
at android.os.Looper.loopOnce(Looper.java:214)
at android.os.Looper.loop(Looper.java:387)
at android.app.ActivityThread.main(ActivityThread.java:9500)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:600)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005)Minimal sample app repro: I have not been able to repro but this happens on certain webview interactions. User's log also do not show any interaction with a WebView so the assumption is that this happens in GAM.
Android API version: Multiple. However API 35 is predominant.
Material Library version: 1.13.0
Device: Multiple as reported on firebase.