Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-16467] Android: Kitkat Webview crashing on scroll in specific case

GitHub Issuen/a
TypeBug
PriorityLow
StatusClosed
ResolutionCannot Reproduce
Resolution Date2014-03-23T23:50:11.000+0000
Affected Version/sRelease 3.2.0
Fix Version/s2014 Sprint 06, 2014 Sprint 06 SDK, Release 3.3.0
ComponentsAndroid
LabelsAndroid, Kitkat, Webview
ReporterMichael DeGiovanni
AssigneeIngo Muschenetz
Created2014-01-28T07:04:25.000+0000
Updated2017-03-21T21:57:11.000+0000

Description

Url is : http://webitstudios.com/staging/tom/comments.html?shortname=timesofmalta&title=MEP%20Joseph%20Cuschieri%20calls%20for%20removal%20of%20vehicle%20registration%20tax&url=http%3A%2F%2Fwww.timesofmalta.com%2Farticles%2Fview%2F20140125%2Flocal%2Fmep-joseph-cuschieri-calls-for-removal-of-vehicle-registration-tax.504037&identifier=article_504037 The testing scenario is as follows: //controller $.testWebView.url = $.testWindow.open(); The windows opens, succesfully. The page loads as well but upon scrolling the whole app crashes. The error given is : 01-25 17:43:50.019: D/OpenGLRenderer(2501): GL error from OpenGLRenderer: 0x502 log shows as follows: 01-25 17:43:50.429: I/DEBUG(1238): signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 00000005 01-25 17:43:51.079: I/DEBUG(1238): r0 00000005 r1 62b216a0 r2 ffffffff r3 00000005 01-25 17:43:51.089: I/DEBUG(1238): r4 62b216e8 r5 660fcb98 r6 660fcb50 r7 62b216a0 01-25 17:43:51.089: I/DEBUG(1238): r8 403c9fb1 r9 660fcdd0 sl be802ecc fp 00000000 01-25 17:43:51.099: I/DEBUG(1238): ip 407c1bec sp 660fcb30 lr 406bdd65 pc 40396614 cpsr 00020010 01-25 17:43:51.099: I/DEBUG(1238): d0 40077a080b000501 d1 0000000500000000 01-25 17:43:51.099: I/DEBUG(1238): d2 00000019ffffffff d3 64bfdcb8403681c0 01-25 17:43:51.109: I/DEBUG(1238): d4 0000000200000000 d5 4000000000000000 01-25 17:43:51.109: I/DEBUG(1238): d6 4000000040000000 d7 00000000448c4000 01-25 17:43:51.109: I/DEBUG(1238): d8 0000000040000000 d9 4024000000000000 01-25 17:43:51.109: I/DEBUG(1238): d10 4014000000000000 d11 4024000000000000 01-25 17:43:51.109: I/DEBUG(1238): d12 0000000000000000 d13 0000000000000000 01-25 17:43:51.119: I/DEBUG(1238): d14 0000000000000000 d15 0000000000000000 01-25 17:43:51.119: I/DEBUG(1238): d16 3ff0000000000000 d17 0000000000000000 01-25 17:43:51.119: I/DEBUG(1238): d18 0000000000000000 d19 4086800000000000 01-25 17:43:51.119: I/DEBUG(1238): d20 4000000000000000 d21 4010000000000000 01-25 17:43:51.119: I/DEBUG(1238): d22 4086a00000000000 d23 4091880000000000 01-25 17:43:51.129: I/DEBUG(1238): d24 4000000000000000 d25 4010000000000000 01-25 17:43:51.129: I/DEBUG(1238): d26 3ff0000000000000 d27 0000000000000000 01-25 17:43:51.129: I/DEBUG(1238): d28 3ff0000000000000 d29 0000000000000000 01-25 17:43:51.129: I/DEBUG(1238): d30 0000000000000000 d31 0000000000000000 01-25 17:43:51.129: I/DEBUG(1238): scr 88000017 01-25 17:43:51.139: I/DEBUG(1238): backtrace: 01-25 17:43:51.149: I/DEBUG(1238): #00 pc 00003614 /system/lib/libcutils.so (android_atomic_inc+8) 01-25 17:43:51.149: I/DEBUG(1238): #01 pc 000b2d61 /system/lib/libskia.so (SkPaint::SkPaint(SkPaint const&)+46) 01-25 17:43:51.149: I/DEBUG(1238): #02 pc 000257eb /system/lib/libhwui.so 01-25 17:43:51.149: I/DEBUG(1238): #03 pc 00025fe9 /system/lib/libhwui.so 01-25 17:43:51.159: I/DEBUG(1238): #04 pc 00025da7 /system/lib/libhwui.so 01-25 17:43:51.159: I/DEBUG(1238): #05 pc 0000ed73 /system/lib/libhwui.so 01-25 17:43:51.159: I/DEBUG(1238): #06 pc 0000f445 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+104) 01-25 17:43:51.159: I/DEBUG(1238): #07 pc 000525a9 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+68) 01-25 17:43:51.159: I/DEBUG(1238): #08 pc 0000efe7 /system/lib/libutils.so 01-25 17:43:51.169: I/DEBUG(1238): #09 pc 0000d228 /system/lib/libc.so (__thread_entry+72) 01-25 17:43:51.169: I/DEBUG(1238): #10 pc 0000d3c0 /system/lib/libc.so (pthread_create+240) 01-25 17:43:51.169: W/NFC-LLC(878): LLC length mis-match 01-25 17:43:51.169: I/DEBUG(1238): stack: 01-25 17:43:51.169: I/DEBUG(1238): 660fcaf0 00000001 01-25 17:43:51.179: I/DEBUG(1238): 660fcaf4 652fe0f0 01-25 17:43:51.179: I/DEBUG(1238): 660fcaf8 00000000 01-25 17:43:51.179: I/DEBUG(1238): 660fcafc 00000000 01-25 17:43:51.189: I/DEBUG(1238): 660fcb00 00000000 01-25 17:43:51.189: I/DEBUG(1238): 660fcb04 403c9fb1 /system/lib/libutils.so 01-25 17:43:51.189: I/DEBUG(1238): 660fcb08 660fcdd0 [stack:3220] 01-25 17:43:51.189: I/DEBUG(1238): 660fcb0c be802ecc [stack] 01-25 17:43:51.189: I/DEBUG(1238): 660fcb10 00000000 01-25 17:43:51.189: I/DEBUG(1238): 660fcb14 4069bfe1 /system/lib/libskia.so (SkBitmap::eraseARGB(unsigned int, unsigned int, unsigned int, unsigned int) const+56) 01-25 17:43:51.189: I/DEBUG(1238): 660fcb18 00000000 01-25 17:43:51.199: I/DEBUG(1238): 660fcb1c 00000000 01-25 17:43:51.199: I/DEBUG(1238): 660fcb20 00000000 01-25 17:43:51.199: I/DEBUG(1238): 660fcb24 00000000 01-25 17:43:51.199: I/DEBUG(1238): 660fcb28 000002d4 01-25 17:43:51.199: I/DEBUG(1238): 660fcb2c 00000466 01-25 17:43:51.199: I/DEBUG(1238): #00 660fcb30 652fe0fc 01-25 17:43:51.209: I/DEBUG(1238): ........ ........ 01-25 17:43:51.209: I/DEBUG(1238): #01 660fcb30 652fe0fc 01-25 17:43:51.209: I/DEBUG(1238): 660fcb34 00000000 01-25 17:43:51.209: I/DEBUG(1238): 660fcb38 652fe0f0 01-25 17:43:51.209: I/DEBUG(1238): 660fcb3c 62b21270 01-25 17:43:51.209: I/DEBUG(1238): 660fcb40 62b216a0 01-25 17:43:51.219: I/DEBUG(1238): 660fcb44 40cd87ef /system/lib/libhwui.so 01-25 17:43:51.219: I/DEBUG(1238): #02 660fcb48 00000000 01-25 17:43:51.219: I/DEBUG(1238): 660fcb4c 00000000 01-25 17:43:51.219: I/DEBUG(1238): 660fcb50 00000001 01-25 17:43:51.219: I/DEBUG(1238): 660fcb54 00000020 01-25 17:43:51.229: I/DEBUG(1238): 660fcb58 00000000 01-25 17:43:51.229: I/DEBUG(1238): 660fcb5c 00000000 01-25 17:43:51.229: I/DEBUG(1238): 660fcb60 652fd014 01-25 17:43:51.229: I/DEBUG(1238): 660fcb64 655d41ec 01-25 17:43:51.229: I/DEBUG(1238): 660fcb68 00000000 01-25 17:43:51.229: I/DEBUG(1238): 660fcb6c 431e0000 /dev/ashmem/dalvik-heap (deleted) 01-25 17:43:51.239: I/DEBUG(1238): 660fcb70 44340000 /dev/ashmem/dalvik-heap (deleted) 01-25 17:43:51.239: I/DEBUG(1238): 660fcb74 44a00000 /dev/ashmem/dalvik-heap (deleted) 01-25 17:43:51.239: I/DEBUG(1238): 660fcb78 00000000 01-25 17:43:51.239: I/DEBUG(1238): 660fcb7c 00000005 01-25 17:43:51.239: I/DEBUG(1238): 660fcb80 ffffffff 01-25 17:43:51.249: I/DEBUG(1238): 660fcb84 00000019 01-25 17:43:51.249: I/DEBUG(1238): ........ ........

Comments

  1. Ritu Agrawal 2014-01-30

    I tried to reproduce the issue on Galaxy S4 4.4.2 Kitkat and was not able to reproduce it. I was able to scroll the whole page up and down many times and it was not crashing. I used the same link that you have provided for testing. Is your app crashing on any particular device?
  2. Michael DeGiovanni 2014-01-30

    I have tested this on a rooted Sony Xperia S and a Nexus 4, both running Kitkat 4.4.2 . The code base, is slightly different from the example in the sense that there is other content in the window. I don;t have it actually at the moment in front of me. Tomorrow morning once I step back in work I will post the full example. If I rememebr correctly however, one thing that I had added was a a height set to fill its parent on the webView. will confirm this tomorrow, once I have the exact example in front of me. Sorry for th inconvenience
  3. Michael DeGiovanni 2014-01-31

    The following video shows whats happening on the device: https://drive.google.com/file/d/0B1c4YZdcsl3Jb2pJdFBJVUoxTUk/edit?usp=sharing Here is the code for the widget invoking the above mentioned url
       <Alloy>
       	<Window id="commentsWindow" >
       		<View id="logoContainer">
       				<View platform="ios" id="iosFiller" />
       				<Button class="menuBtn" id="menuBtn" image="/images/back.png" backgroundImage="/images/transparent.png" backgroundFocusedImage="/images/transparent.png" backgroundSelectedImage="/images/transparent.png"></Button>
       				<View id="titleBarContainer">
       					<Label text="Comment" class="titleBar" id="titleBar"/>
       				</View>
       		</View>
       		<WebView id="commentsView"></WebView>
       	</Window>
       </Alloy>
       
       "#commentsWindow" :{
       	backgroundColor:'#ffffff',
       	width:"100%",
       	height:"100%",
       	navBarHidden:true,
       	layout:'vertical'
       	
       },
       "#commentsView" :{
       	width:Ti.UI.FILL,
       	height:Ti.UI.FILL,
       	backgroundColor:"#ffffff",
       	opacity:"1.0",
       	borderColor:"#dedede",
       	
       },
       "#closeButton":{
       	width:"30%",
       	height:"20dp",
       	backgroundColor:"#efefef",
       	borderWidth:1,
       	borderColor:"#cccccc",
       	top: "4%",
       	zIndex:2,
       	title:"close",
       	tintColor:"#464646",
       	font :{fontSize: 8}
       },
       "#logoContainer":{
       	width : '100%',
       	layout :'horizontal',
       	height:'54dp',
       	backgroundColor : '#0072aa'
       },
       "#logoContainer[platform=ios]":{
       	height:'64dp'
       },
       "#iosFiller":{
       	width:'100%',
       	height:'11dp'
       },
       ".menuBtn":{
       	width : '40dp',
       	height : '40dp',
       	left :'10dp',
       	top: '5dp',
       	tintColor: "#ffffff"
       	
       },
       ".shareBtn":{
       	width : '40dp',
       	height : '40dp',
       	right :'10dp',
       	top: '5dp',
       	tintColor: "#ffffff"
       	
       },
       ".commentBtn":{
       	width : '40dp',
       	height : '40dp',
       	right :'60dp',
       	top: '7dp',
       	visible:false,
       	tintColor: "#ffffff",
       	font: {fontSize:'10dp'}
       },
       ".titleBar" :{
       	width: '55%',
       	left : '2%',
       	color: '#ffffff',
       	font : {
       		fontSize: '28dp',
       		fontWeight : 'bold',
       		fontFamily : 'PT Sans Narrow'
       	}
       },
       ".titleBar[platform=android]":{
       	font : {fontSize: '28dp', fontWeight : 'bold',fontFamily :'PT_Sans-Narrow-Web-Bold'}
       }
       
       var args = arguments[0] || {};
       //form url
       var url = "http://webitstudios.com/staging/tom/comments.html";
       url += '?shortname='+encodeURIComponent(args.shortname);
       url += '&title='+encodeURIComponent(args.title);
       url += '&url='+encodeURIComponent(args.url);
       url += '&identifier='+encodeURIComponent(args.identifier);
       var firstTime = 0;
       //capture urls when the user tries to login
       $.commentsView.addEventListener('load',function(){
       		var patterns  = [ "disqus.com/next/login-success", "disqus.com/_ax/google/complete", "disqus.com/_ax/twitter/complete", "disqus.com/_ax/facebook/complete" ];
        		if ($.commentsView.url.indexOf(patterns[0]) >0 ||$.commentsView.url.indexOf(patterns[1]) >0 || $.commentsView.url.indexOf(patterns[2]) >0 || $.commentsView.url.indexOf(patterns[3]) >0){
        			firstTime =0;
        			$.commentsView.url = url;
        		}
       });
       //set url
       $.commentsView.url = url;
       //close window on click
       $.menuBtn.addEventListener('click',function(e){
       		$.commentsWindow.close();
       });
       //open window
       $.commentsWindow.open(); 
       
  4. Michael DeGiovanni 2014-02-04

    After I removed the styling settings in the tss file, on "#commentsView" (aka the webview), it worked properly. could it be an issue with one of these properties?
  5. Ritu Agrawal 2014-02-05

    That helps. You are specifying 5 properties in #commentsView so it would be good to narrow it down further to a specific property that is causing this issue. For example, does the following setting work or reproduce the crash? #commentsView" :{ width:Ti.UI.FILL, height:Ti.UI.FILL } BTW, I noticed that your code has an extra comma after the last property in this section as well.
  6. Ritu Agrawal 2014-02-09

    [~michael@webitstudios.com] Did you get a chance to try out the above suggestion?
  7. Ritu Agrawal 2014-02-17

    Moving this ticket to engineering as I can reproduce this issue on Android 4.4 device. It does not crash consistently but you can reproduce it once every few times.
  8. Hieu Pham 2014-03-12

    I can't reproduce this. This is the code I use:
       var win = Ti.UI.createWindow();
       var webview = Ti.UI.createWebView({
           url:'http://webitstudios.com/staging/tom/comments.html?shortname=timesofmalta&title=MEP%20Joseph%20Cuschieri%20calls%20for%20removal%20of%20vehicle%20registration%20tax&url=http%3A%2F%2Fwww.timesofmalta.com%2Farticles%2Fview%2F20140125%2Flocal%2Fmep-joseph-cuschieri-calls-for-removal-of-vehicle-registration-tax.504037&identifier=article_504037',
       });
       win.add(webview);
       win.open();
       
  9. Olga Romero 2014-04-22

    Tested [~hpham] code on the Nexus 4 Android version 4.4 and cannot reproduce the issue with Titanium SDK, build 3.3.0.v20140418162516 Node.JS Version: v0.10.13 NPM Version: 1.3.2 ├── acs@1.0.14 ├── alloy@1.3.1 ├── node-appc@0.2.0 ├── npm@1.3.2 ├── titanium@3.3.0-dev └── titanium-code-processor@1.1.1-beta1 npm -g ls titanium: /usr/local/lib └── titanium@3.3.0-dev (git://github.com/appcelerator/titanium.git#93414d143051df4578b7aa42670008e5ef02c422)
  10. Lee Morris 2017-03-21

    Closing ticket as the issue cannot be reproduced and due to the above comments.

JSON Source