[TIMOB-24540] Android: Ti.UI.WebView app crashes on Android 7 (API 24)
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2018-12-04T18:00:38.000+0000 |
Affected Version/s | Release 6.0.3 |
Fix Version/s | n/a |
Components | Android |
Labels | n/a |
Reporter | Nazmus Salahin |
Assignee | Gary Mathews |
Created | 2017-03-28T11:53:04.000+0000 |
Updated | 2018-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
File | Date | Size |
---|---|---|
70.png | 2017-03-29T14:01:27.000+0000 | 261398 |
71.png | 2017-03-29T14:01:27.000+0000 | 254732 |
Could not reproduce on 7.0 and 7.1. [~lchoudhary] could you try on a 7.0 and 7.1 device?
I am unable to reproduce the error on 7.1.2 Pixel XL and nexus 6P 7.1.1
I could not reproduce this issue with the following environment Ti SDK 6.0.3 and Google Nexus 5X 7.0.0 emulator Thanks
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.
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
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:
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
[~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.
Seems to be more difficult: https://github.com/facebook/react-native/issues/13335#issuecomment-292581590