ISNIT0 / zipternet

1 stars 0 forks source link

Fix crash of the app when external URL selected in WebView #6

Closed julianharty closed 5 years ago

julianharty commented 5 years ago

Currently the app crashes whenever an external link is selected in the content. The issue was detected by the pre-launch report Robo testing and also by humans :)

Here are extracts of 2 logcat files from devices used by Google for the pre-launch report testing of APK 6 of the app.

Pixel 2 crash extract from logcat:

07-08 02:57:50.891: I/Robo(9005): is_web_view_element: true
07-08 02:57:50.891: I/Robo(9005): text_label: "F\303\274rstentum Liechtenstein" with ActionParameters{}}.
07-08 02:57:50.932: D/ZIMT(9054): URL: http://www.liechtenstein.li/
07-08 02:57:50.932: W/System.err(9054): java.lang.IllegalStateException: response must not be null
07-08 02:57:50.932: W/System.err(9054):     at app.zimternet.traveleurope.MainActivity$loadContent$1.shouldInterceptRequest(MainActivity.kt:199)
07-08 02:57:50.932: W/System.err(9054):     at com.android.webview.chromium.WebViewContentsClientAdapter.shouldInterceptRequest(WebViewContentsClientAdapter.java:52)
07-08 02:57:50.932: W/System.err(9054):     at org.chromium.android_webview.AwContents$BackgroundThreadClientImpl.shouldInterceptRequest(AwContents.java:9)
07-08 02:57:50.932: W/System.err(9054):     at org.chromium.android_webview.AwContentsBackgroundThreadClient.shouldInterceptRequestFromNative(AwContentsBackgroundThreadClient.java:11)
07-08 02:57:50.933: A/chromium(9054): [FATAL:jni_android.cc(243)] Please include Java exception stack in crash report
07-08 02:57:50.933: A/chromium(9054): --------- beginning of crash
...

Xperia XZ1 Compact crash extract from logcat:

07-08 02:56:02.864: I/Robo(13923): input_type: <androidx.test.tools.crawler.proto.ElementDescription$InputType@432bfa7 number=1 name=NONE>
07-08 02:56:02.864: I/Robo(13923): is_web_view_element: true
07-08 02:56:02.864: I/Robo(13923): text_label: "Italy" with ActionParameters{}}.
07-08 02:56:02.896: D/ZIMT(13978): URL: http://www.italia.it/en/home.html
07-08 02:56:02.894: W/memtrack@1.0-se(881): type=1400 audit(0.0:2118): avc: denied { search } for name="proc" dev="debugfs" ino=10619 scontext=u:r:hal_memtrack_default:s0 tcontext=u:object_r:qti_debugfs:s0 tclass=dir permissive=0 ppid=1 pcomm="init" pgid=1 pgcomm="init"
07-08 02:56:02.894: W/memtrack@1.0-se(881): type=1400 audit(0.0:2119): avc: denied { search } for name="proc" dev="debugfs" ino=10619 scontext=u:r:hal_memtrack_default:s0 tcontext=u:object_r:qti_debugfs:s0 tclass=dir permissive=0 ppid=1 pcomm="init" pgid=1 pgcomm="init"
07-08 02:56:02.898: W/System.err(13978): java.lang.IllegalStateException: response must not be null
07-08 02:56:02.898: W/System.err(13978):    at app.zimternet.traveleurope.MainActivity$loadContent$1.shouldInterceptRequest(MainActivity.kt:199)
07-08 02:56:02.898: W/System.err(13978):    at uU.b(PG:149)
07-08 02:56:02.898: W/System.err(13978):    at aIl.a(PG:9)
07-08 02:56:02.898: W/System.err(13978):    at org.chromium.android_webview.AwContentsBackgroundThreadClient.shouldInterceptRequestFromNative(PG:2)
...

BTW: Oddly the stack trace for the Xperia has minified filenames e.g. uU.b rather than the names of the source classes. Any ideas why?