Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-24540] Android: Ti.UI.WebView app crashes on Android 7 (API 24)

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2018-12-04T18:00:38.000+0000
Affected Version/sRelease 6.0.3
Fix Version/sn/a
ComponentsAndroid
Labelsn/a
ReporterNazmus Salahin
AssigneeGary Mathews
Created2017-03-28T11:53:04.000+0000
Updated2018-12-04T18:00:38.000+0000

Description

Hi, Titanium.UI.WebView app crashes on Android 7 (API 24) but it working as expected on android 6 Test Code:
var webview = Titanium.UI.createWebView({
	url : 'http://www.appcelerator.com'
});
var window = Titanium.UI.createWindow();
window.add(webview);
window.open({
	modal : true
});
Error Log:
[WARN] :   art: Unexpected CPU variant for X86 using defaults: x86
[INFO] :   TiApplication: (main) [0,0] checkpoint, app created.
[INFO] :   TiApplication: (main) [27,27] Titanium 6.0.3 (2017/03/22 12:00 undefined)
[INFO] :   MultiDex: VM with version 2.1.0 has multidex support
[INFO] :   MultiDex: install
[INFO] :   MultiDex: VM has multidex support, MultiDex support library is disabled.
[INFO] :   TiApplication: (main) [31,308] Titanium Javascript runtime: v8
[INFO] :   TiRootActivity: (main) [0,0] checkpoint, on root activity create, savedInstanceState: null
[INFO] :   TiRootActivity: (main) [0,0] checkpoint, on root activity resume. activity = com.am.Android7.Android7Activity@1c9e9df
[WARN] :   V8Object: (main) [250,277] Runtime disposed, cannot set property 'userAgent'
[ERROR] :  libEGL: load_driver(/system/lib/egl/libGLES_emulation.so): dlopen failed: library "/system/lib/egl/libGLES_emulation.so" not found
[INFO] :   OpenGLRenderer: Initialized EGL, version 1.4
[INFO] :   WebViewFactory: Loading com.android.webview version 51.0.2704.91 (code 275509110)
[WARN] :   System: ClassLoader referenced unknown path: /system/app/webview/lib/x86
[INFO] :   cr_LibraryLoader: Time to load native libraries: 1 ms (timestamps 4509-4510)
[INFO] :   cr_LibraryLoader: Expected native library version number "51.0.2704.91", actual native library version number "51.0.2704.91"
[INFO] :   cr_LibraryLoader: Expected native library version number "51.0.2704.91", actual native library version number "51.0.2704.91"
[INFO] :   chromium: [INFO:library_loader_hooks.cc(143)] Chromium logging enabled: level = 0, default verbosity = 0
[INFO] :   cr_BrowserStartup: Initializing chromium process, singleProcess=true
[ERROR] :  ApkAssets: Error while loading asset assets/natives_blob_64.bin: java.io.FileNotFoundException: assets/natives_blob_64.bin
[ERROR] :  ApkAssets: Error while loading asset assets/snapshot_blob_64.bin: java.io.FileNotFoundException: assets/snapshot_blob_64.bin
[INFO] :   cr_DRP: No DRP key due to exception:java.lang.ClassNotFoundException: com.android.webview.chromium.Drp
[WARN] :   cr_media: Requires BLUETOOTH permission
[WARN] :   cr_AwContents: onDetachedFromWindow called when already detached. Ignoring
[INFO] :   cr_Ime: ImeThread is not enabled.
[ERROR] :  libEGL: validate_display:99 error 3008 (EGL_BAD_DISPLAY)
[WARN] :   AudioCapabilities: Unsupported mime audio/x-pcm
[INFO] :   VideoCapabilities: Unsupported profile 4 for video/mp4v-es
[INFO] :   Choreographer: Skipped 33 frames!  The application may be doing too much work on its main thread.
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [GroupMarkerNotSet(crbug.com/242999)!:547CE1C7]GL ERROR :GL_INVALID_OPERATION : BackFramebuffer::Create: <- error from previous GL command
[ERROR] :  chromium: [ERROR:buffer_manager.cc(427)] [GroupMarkerNotSet(crbug.com/242999)!:545B47CA]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
[WARN] :   cr_BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 2755
[ERROR] :  chromium: [ERROR:texture_manager.cc(2746)] [.CommandBufferContext.RenderCompositor-0xe435d860]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[ERROR] :  chromium: [ERROR:gles2_cmd_decoder.cc(2167)] [.CommandBufferContext.RenderWorker-0xe435d940]GL ERROR :GL_INVALID_OPERATION : GLES2DecoderImpl::DoBindTexImage2DCHROMIUM: <- error from previous GL command
[WARN] :   error while updating tiapp data with appc platform: 
Environment:
Google Nexus 5X - 7.0.0 - API 24 - 1080x1920
Operating System
  Name                        = Mac OS X
  Version                     = 10.11.6
  Architecture                = 64bit
  # CPUs                      = 4
  Memory                      = 8589934592
Node.js
  Node.js Version             = 4.4.4
  npm Version                 = 2.15.1
Titanium CLI
  CLI Version                 = 5.0.11
Titanium SDK
  SDK Version                 = 6.0.3.GA

Attachments

FileDateSize
70.png2017-03-29T14:01:27.000+0000261398
71.png2017-03-29T14:01:27.000+0000254732

Comments

  1. Gary Mathews 2017-03-29

    Could not reproduce on 7.0 and 7.1. [~lchoudhary] could you try on a 7.0 and 7.1 device?
  2. Josh Longton 2017-03-29

    I am unable to reproduce the error on 7.1.2 Pixel XL and nexus 6P 7.1.1
  3. Motiur Rahman 2017-04-05

    I could not reproduce this issue with the following environment Ti SDK 6.0.3 and Google Nexus 5X 7.0.0 emulator Thanks
  4. Motiur Rahman 2017-04-06

    Hello! I can reproduce this issue specific this emulator Android 7 CPU Intel atom 86X Galaxy Nexus 4.65" Memory 1024 MB Ti SDK 6.0.3.GA, 6.0.2.GA, 6.0.1.GA [~jlongton] can you check it? But all other emulator it works fine. Thanks.
  5. Mohammad Khazbak 2017-04-24

    The issue is reproduced on physical device Galaxy S7 Edge with Android 7.0. The following is the crash report from Google Play: com.beltonefinancial.beltone,2017-04-23T14:39:08Z,1492958348787,hero2lte,24,2.5.48,57,java.lang.RuntimeException,Canvas: trying to draw too large(132710400bytes) bitmap.,DisplayListCanvas.java,android.view.DisplayListCanvas,throwIfCannotDraw
  6. Lokesh Choudhary 2017-05-02

    Tried to reproduce on: Android 7.0 x86 emu -- page loads, below errors seen, no app crash. Genymotion Galaxy S8 android 7.0 -- page loads, below errors seen, no app crash. Nexus 6P android 7.1.2 -- page loads no app crash. Pixel android 7.1 -- page loads no app crash. Though these errors are seen consistently:
       [ERROR] :  ApkAssets: Error while loading asset assets/natives_blob_64.bin: java.io.FileNotFoundException: assets/natives_blob_64.bin
       [ERROR] :  ApkAssets: Error while loading asset assets/snapshot_blob_64.bin: java.io.FileNotFoundException: assets/snapshot_blob_64.bin
       
    I am not seeing any app crash. Studio Ver : 4.8.1.201612050850 SDK Ver : 6.0.3.GA, 6.0.4.GA OS Ver : 10.12.3 Xcode Ver : Xcode 8.3.2 Appc NPM : 4.2.9 Appc CLI : 6.2.0 Ti CLI Ver : 5.0.12 Alloy Ver : 1.9.11 Node Ver : 6.10.1 Java Ver : 1.8.0_101
  7. Hans Knöchel 2017-05-03

    [~mkhazbak] Do you maybe load some local images in your local web-view (different to the test-case you provided)? There is an Android 7 issue with local bitmaps that are placed in the wrong directory, see [here](http://stackoverflow.com/questions/40835514/android-studio-canvas-drawing-too-large-bitmap) for more infos.
  8. Sebastian Klaus 2017-12-05

    Seems to be more difficult: https://github.com/facebook/react-native/issues/13335#issuecomment-292581590

JSON Source