customerio / customerio-android

This is the official Customer.io SDK for Android.
MIT License
11 stars 9 forks source link

Crash with EngineWebView #270

Closed Vnicius closed 9 months ago

Vnicius commented 9 months ago

SDK version: 3.6.6

Environment: Development or Production Production

Are logs available?

Fatal Exception: android.util.AndroidRuntimeException: android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:382)
       at android.webkit.WebView.getFactory(WebView.java:2599)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2593)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2661)
       at android.view.View.<init>(View.java:5648)
       at android.view.View.<init>(View.java:5823)
       at android.view.ViewGroup.<init>(ViewGroup.java:707)
       at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:59)
       at android.webkit.WebView.<init>(WebView.java:426)
       at android.webkit.WebView.<init>(WebView.java:368)
       at android.webkit.WebView.<init>(WebView.java:350)
       at android.webkit.WebView.<init>(WebView.java:337)
       at android.webkit.WebView.<init>(WebView.java:327)
       at io.customer.messaginginapp.gist.presentation.engine.EngineWebView.<init>(EngineWebView.kt:28)
       at io.customer.messaginginapp.gist.presentation.engine.EngineWebView.<init>(EngineWebView.kt:20)
       at io.customer.messaginginapp.gist.presentation.GistView.<init>(GistView.kt:27)
       at io.customer.messaginginapp.gist.presentation.GistSdk.init$lambda$0(GistSdk.kt:106)
       at android.os.Handler.handleCallback(Handler.java:942)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.app.ActivityThread.main(ActivityThread.java:8757)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Caused by android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed
       at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:554)
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:353)
       at android.webkit.WebView.getFactory(WebView.java:2599)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2593)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2661)
       at android.view.View.<init>(View.java:5648)
       at android.view.View.<init>(View.java:5823)
       at android.view.ViewGroup.<init>(ViewGroup.java:707)
       at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:59)
       at android.webkit.WebView.<init>(WebView.java:426)
       at android.webkit.WebView.<init>(WebView.java:368)
       at android.webkit.WebView.<init>(WebView.java:350)
       at android.webkit.WebView.<init>(WebView.java:337)
       at android.webkit.WebView.<init>(WebView.java:327)
       at io.customer.messaginginapp.gist.presentation.engine.EngineWebView.<init>(EngineWebView.kt:28)
       at io.customer.messaginginapp.gist.presentation.engine.EngineWebView.<init>(EngineWebView.kt:20)
       at io.customer.messaginginapp.gist.presentation.GistView.<init>(GistView.kt:27)
       at io.customer.messaginginapp.gist.presentation.GistSdk.init$lambda$0(GistSdk.kt:106)
       at android.os.Handler.handleCallback(Handler.java:942)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.app.ActivityThread.main(ActivityThread.java:8757)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Caused by android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed
       at android.webkit.WebViewFactory.getWebViewContextAndSetProvider(WebViewFactory.java:447)
       at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:512)
       at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:353)
       at android.webkit.WebView.getFactory(WebView.java:2599)
       at android.webkit.WebView.ensureProviderCreated(WebView.java:2593)
       at android.webkit.WebView.setOverScrollMode(WebView.java:2661)
       at android.view.View.<init>(View.java:5648)
       at android.view.View.<init>(View.java:5823)
       at android.view.ViewGroup.<init>(ViewGroup.java:707)
       at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:59)
       at android.webkit.WebView.<init>(WebView.java:426)
       at android.webkit.WebView.<init>(WebView.java:368)
       at android.webkit.WebView.<init>(WebView.java:350)
       at android.webkit.WebView.<init>(WebView.java:337)
       at android.webkit.WebView.<init>(WebView.java:327)
       at io.customer.messaginginapp.gist.presentation.engine.EngineWebView.<init>(EngineWebView.kt:28)
       at io.customer.messaginginapp.gist.presentation.engine.EngineWebView.<init>(EngineWebView.kt:20)
       at io.customer.messaginginapp.gist.presentation.GistView.<init>(GistView.kt:27)
       at io.customer.messaginginapp.gist.presentation.GistSdk.init$lambda$0(GistSdk.kt:106)
       at android.os.Handler.handleCallback(Handler.java:942)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.app.ActivityThread.main(ActivityThread.java:8757)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

Describe the bug

It seam something related with the in app message.

To Reproduce No clear path. I'm getting this exception on Firebase.

Expected behavior No crash.

Shahroz16 commented 9 months ago

Hey @Vnicius, thank you for reaching out, and apologize that you had to face this issue. Can you please add a bit more details about the device that reported these crashes?

The crash No WebView installed means that your app is trying to use the WebView component, but the WebView provider is not installed on the device, that shouldn't be happening at all as all android devices do support native browsers.

Vnicius commented 9 months ago

Hi. Currently, this SDK version has 88 crashes with 12 users on the latest 7 days. We are still doing a phased rollout of our latest version. Most of the devices are Samsung.

Screenshot 2023-10-16 at 18 01 05 Screenshot 2023-10-16 at 18 01 46

Shahroz16 commented 9 months ago

@Vnicius apologies again, we are looking into it, we have been unable to reproduce it but looking into to ways to make sure it doesn't crash.

Shahroz16 commented 9 months ago

Fix is out in this release