Chrome WebView зависнет, если мы добавим специальный символ - PullRequest
0 голосов
/ 09 октября 2019

Мы использовали webview для показа контента, созданного пользователем. Webview будет аварийно завершаться каждый раз, если он содержит какой-то специальный символ, такой как индекс Unicode FFFF или FFFE, но FFED работает нормально. Версия устройства ниже 5.0 работает нормально.

Версия Android: от 5.0 до 9.0

Журнал сбоев:


3481-3481/ W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
3481-3481/ W/google-breakpad: Chrome build fingerprint:
3481-3481/ W/google-breakpad: 71.0.3578.99
3481-3481/ W/google-breakpad: 357809950
3481-3481/ W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
4546-3481/? A/google-breakpad: -----BEGIN BREAKPAD MICRODUMP-----
4546-3481/? A/google-breakpad: V AndroidWebView:66.0.3359.126
4546-3481/? A/google-breakpad: O A arm 08 armv8l Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/V10.3.1.0.OCACNXM:user/release-keys
4546-3481/? A/google-breakpad: P webview
4546-3481/? A/google-breakpad: R 0000000B SIGSEGV 00000000
4546-3481/? A/google-breakpad: G 
4546-3481/? A/google-breakpad: H 12C00000 D8E80000 00E2 28E55000 45E98000 0C:51 0D:30 0E:15 0F:18 10:0E 11:15 12:0D 13:02 1C:01 1D:01
4546-3481/? A/google-breakpad: -----END BREAKPAD MICRODUMP-----
3481-3481/ W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
3481-3481/ W/google-breakpad: Chrome build fingerprint:
3481-3481/ W/google-breakpad: 5.3.0.10
3481-3481/ W/google-breakpad: 1385
3481-3481/ W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
3481-4547/ I/crash_recorder: getJavaCallStackImpl, @thread: 4547, 
        org.chromium.content.browser.framehost.NavigationControllerImpl.nativeLoadUrl(Native Method)
        org.chromium.content.browser.framehost.NavigationControllerImpl.a(PG:67)
        org.chromium.android_webview.AwContents.b(PG:519)
        org.chromium.android_webview.AwContents.a(PG:394)
        com.android.webview.chromium.WebViewChromium.loadUrl(PG:231)
        android.webkit.WebView.loadUrl(WebView.java:933)
        .plugin.main.widget.web.WebViewProxy.loadUrl(WebViewProxy.java:72)
        .plugin.main.widget.web.BaseWebViewLayout.loadUrlWithHeaders(BaseWebViewLayout.java:263)
        .plugin.main.widget.web.BaseWebViewLayout.loadUrl(BaseWebViewLayout.java:178)
        .plugin.main.widget.web.BaseWebViewLayout$2.call(BaseWebViewLayout.java:247)
        rx.internal.util.ActionSubscriber.onNext(ActionSubscriber.java:39)
        rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:139)
        rx.internal.util.ScalarSynchronousObser
4548-3481/? I/crash_recorder: ExceptionHandler::DoDump... 3481
4548-3481/? I/crash_recorder: isInTbsContext, webviewType: unknown, isLoading: 0
4548-3481/? I/crash_recorder: starting WriteMicrodump for pid: 3481
4548-3481/? A/google-breakpad: -----BEGIN BREAKPAD MICRODUMP-----
4548-3481/? A/google-breakpad: V UNKNOWN:0.0.0.0
4548-3481/? A/google-breakpad: O A arm 08 armv8l 4.4.78-perf-g075c3f9 #1 SMP PREEMPT Thu Mar 28 00:30:15 CST 2019
4548-3481/? A/google-breakpad: P UNKNOWN
4548-3481/? A/google-breakpad: G UNKNOWN
4548-3481/? A/google-breakpad: H 12C00000 FFFF1000 00FF 28E55000 5C4B0000 0C:6B 0D:30 0E:16 0F:18 10:0E 11:15 12:0D 13:02 15:01 1C:02 1D:01
4548-3481/? A/google-breakpad: -----starting crashing thread-----
4548-3481/? I/crash_recorder: UContextReader::FillCPUContext of uc: 0xc0ad8270, out: 0xdb569a48, pc: 0xce67a922
3481-4560/ D/XCrash: logpath:/data/user/0//files/tombstones/tombstone_00001570607908562484_5.3.0.10__.native.xcrash
3481-3481/ A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 3481 (gamecenter)
4566-4566/? I/crash_dump32: obtaining output fd from tombstoned
4566-4566/? I/crash_dump32: performing dump of process 3481 (target tid = 3481)
4566-4566/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
4566-4566/? A/DEBUG: Build fingerprint: 'Xiaomi/sagit/sagit:8.0.0/OPR1.170623.027/V10.3.1.0.OCACNXM:user/release-keys'
4566-4566/? A/DEBUG: Revision: '0'
4566-4566/? A/DEBUG: ABI: 'arm'
4566-4566/? A/DEBUG: pid: 3481, tid: 3481, name: gamecenter  >>>  <<<
4566-4566/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
4566-4566/? A/DEBUG: Cause: null pointer dereference
4566-4566/? A/DEBUG:     r0 00000000  r1 ce042fea  r2 00000000  r3 c4b07c0a
4566-4566/? A/DEBUG:     r4 ffd61810  r5 ffd61810  r6 ce042fe0  r7 00000000
4566-4566/? A/DEBUG:     r8 c6527200  r9 ffd61810  sl c67b6740  fp e5831230
4566-4566/? A/DEBUG:     ip 00000074  sp ffd61648  lr ce67a8e5  pc ce67a922  cpsr 600d0030
4566-4566/? A/DEBUG: backtrace:
4566-4566/? A/DEBUG:     #00 pc 00532922  /system/app/WebViewGoogle/WebViewGoogle.apk (offset 0x4ccb000)
4566-4566/? A/DEBUG:     #01 pc 005328e1  /system/app/WebViewGoogle/WebViewGoogle.apk (offset 0x4ccb000)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...