{ "id": "113421", "key": "TIMOB-13678", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "15935", "description": "2014 Sprint 06", "name": "2014 Sprint 06", "archived": true, "released": true, "releaseDate": "2014-03-28" }, { "id": "15936", "description": "2014 Sprint 06 SDK", "name": "2014 Sprint 06 SDK", "archived": true, "released": true, "releaseDate": "2014-03-28" }, { "id": "15971", "description": "Release 3.2.3", "name": "Release 3.2.3", "archived": false, "released": true, "releaseDate": "2014-04-30" }, { "id": "15422", "description": "Release 3.3.0", "name": "Release 3.3.0", "archived": false, "released": true, "releaseDate": "2014-07-16" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2014-03-20T18:40:25.000+0000", "created": "2013-04-26T09:39:01.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "ListView", "qe-closed-3.2.3", "qe-testadded" ], "versions": [], "issuelinks": [ { "id": "33112", "type": { "id": "10000", "name": "Blocks", "inward": "is blocked by", "outward": "blocks" }, "outwardIssue": { "id": "120993", "key": "ALOY-873", "fields": { "summary": "ListView data binding test app fails on second start", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2014-03-20T22:50:40.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "h2. Problem description\r\nWhen items inside a ListView are updated too quickly, the app crashes with the following error:\r\n\r\n[INFO] : 2013-04-26 10:35:44.204 TestApp[15385:c07] *** Assertion failure in -[_UITableViewUpdateSupport _setupAnimationsForNewlyInsertedCells], /SourceCache/UIKit_Sim/UIKit-2380.17/UITableViewSupport.m:1145\r\n\r\nh2. Steps to reproduce\r\n\r\nWith the following code, you can reproduce the problem. When clicking on a row, the image changes quicly several times. At some point, the app hangs (no errors shown, but cannot use it anymore) and the assertion failure is shown in console.\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({backgroundColor: 'white'});\r\n\r\nvar myTemplate = {\r\n\tproperties: {\r\n\t\theight: '200dp'\r\n\t},\r\n childTemplates: [\r\n {\r\n type: 'Ti.UI.ImageView',\r\n bindId: 'pic',\r\n properties: {\r\n width: '200dp', height: '200dp'\r\n }\r\n }\r\n ]\r\n};\r\n\r\nvar listView = Ti.UI.createListView({\r\n templates: { 'template': myTemplate },\r\n defaultItemTemplate: 'template'\r\n});\r\nvar section = Ti.UI.createListSection();\r\n\r\nvar data = [];\r\nfor (var i=0; i<500; i++) {\r\n\tdata.push({pic: {image: 'http://upload.wikimedia.org/wikipedia/commons/1/13/Facebook_like_thumb.png'}});\r\n}\r\n\r\nlistView.addEventListener('itemclick', function(e) {\r\n\tvar source = e.bindId;\r\n\tvar index = e.itemIndex;\r\n\t\r\n\tvar data = section.getItemAt(index);\t\t\r\n\r\n\tvar ii = 0;\r\n\tvar animateLike = function () {\r\n\t\tTi.API.info(\"ii: \" + ii);\r\n\t\tdata.pic.image = (ii % 2) ? 'http://upload.wikimedia.org/wikipedia/commons/1/13/Facebook_like_thumb.png' : 'http://upload.wikimedia.org/wikipedia/commons/b/b1/Not_facebook_not_like_thumbs_down.png';\r\n\t\t\r\n\t\tsection.replaceItemsAt(index, 1, [data]);\r\n\t\tii++;\r\n\t\tif (ii >= 100) {\r\n\t\t\tclearInterval(animator);\r\n\t\t\tanimator = null;\r\n\t\t}\r\n\t};\r\n\tvar animator = setInterval(animateLike, 1);\r\n})\r\n\r\nsection.setItems(data);\r\nlistView.setSections([section]);\r\nwin.add(listView);\r\nwin.open();\r\n{code}", "attachment": [], "flagged": false, "summary": "iOS: ListView crashes if items are updated very quickly", "creator": { "name": "dcassenti", "key": "dcassenti", "displayName": "Davide Cassenti", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "SDK 3.1.0\r\niOS 6.1", "comment": { "comments": [ { "id": "249948", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Well two things.\n\nIf you are not changing the template of the item, please use updateItemAt API of the section.\n\nSecondly what exactly are you trying to do? From the current example the thing can simply be accomplished by using the images, repeatCount and duration property of the imageView. \n\nAlso trying to update every 1 ms is a little extreme. Can we please use a more sensible value. I used a 100ms and it worked fine on the simulator. Might want a larger value for devices.", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-05-02T17:54:51.000+0000", "updated": "2013-05-02T17:54:51.000+0000" }, { "id": "249950", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Not exactly sure what the customer is trying to accomplish. Have provided workarounds for the sample attached.", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-05-02T17:56:24.000+0000", "updated": "2013-05-02T17:56:24.000+0000" }, { "id": "249959", "author": { "name": "itayavtalyon", "key": "itayavtalyon", "displayName": "Itay Avtalyon", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "First of all - thanks!\r\n\r\nWhat I am trying to do is to start a (40-frame) animation upon click. The image view is part of the template. I couldn't figured away how to make the animation start, so I want the old fashioned way and want to animate by changing the image in short interval to simulate animation.\r\n\r\nI used 400 ms update rate and it crashed the ListView. Will try to use updateItemAt API and report.", "updateAuthor": { "name": "itayavtalyon", "key": "itayavtalyon", "displayName": "Itay Avtalyon", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2013-05-02T18:36:47.000+0000", "updated": "2013-05-02T18:36:47.000+0000" }, { "id": "249965", "author": { "name": "itayavtalyon", "key": "itayavtalyon", "displayName": "Itay Avtalyon", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "UPDATE: Using the updateItemAt instead of the replaceItemsAt seems to make things a lot better and updating is possible even at intervals of 100 without crash on device.\r\n\r\nThanks again!", "updateAuthor": { "name": "itayavtalyon", "key": "itayavtalyon", "displayName": "Itay Avtalyon", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2013-05-02T19:01:08.000+0000", "updated": "2013-05-02T19:01:08.000+0000" }, { "id": "250526", "author": { "name": "itayavtalyon", "key": "itayavtalyon", "displayName": "Itay Avtalyon", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "Another update unfortunately: I have two ListViews (one on top of the other) and the top one crashes with the same error. To mitigate I used a timer to postpone the setItems API call, but it still crashes from time to time.", "updateAuthor": { "name": "itayavtalyon", "key": "itayavtalyon", "displayName": "Itay Avtalyon", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2013-05-07T09:03:02.000+0000", "updated": "2013-05-07T09:03:02.000+0000" }, { "id": "251804", "author": { "name": "dcassenti", "key": "dcassenti", "displayName": "Davide Cassenti", "active": true, "timeZone": "Europe/Berlin" }, "body": "Re-opening, as the same exception is raised using setItems", "updateAuthor": { "name": "dcassenti", "key": "dcassenti", "displayName": "Davide Cassenti", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-05-14T15:11:51.000+0000", "updated": "2013-05-14T15:11:51.000+0000" }, { "id": "252066", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Please attach test code showing crash with setItems. ", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-05-15T17:25:36.000+0000", "updated": "2013-05-15T17:25:36.000+0000" }, { "id": "261536", "author": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "I have also seen cases of ListView instability when updates and scrolling are done rapidly. The code below is of course a bit extreme, but I have seen crashes and freezes of the ListView when being rapidly updated under normal scenarios - to the point where for now I have abandoned them and gone back to ScrollViews, unfortunately. To run this code just use it in place of \"list_performance_remote_images.js\" in the latest Kitchen Sink. This crashes/freezes reliably in iPhone 6.1 simulator.\r\n{code}\r\nvar listView;\r\n\r\nfunction genData (){\r\n\tvar baseUrl = 'http://placehold.it/';\r\n\tvar imageUrl, lastIndex;\r\n\tfor (i=30;i<=60;i++){\r\n\t\tfor (j=30;j<=60;j++){\r\n\t\t\timageUrl = baseUrl+i+'x'+j;\r\n\t\t\tif (!(j % 5)) {\r\n\t\t\t\tvar data = [{template: 'template', avatar:{image:imageUrl},info1:{text:'Appended Url'+i+j}, \r\n\t\t\t\t\tinfo2:{text:'Appended Url'+i +j},\r\n\t\t\t\t\tinfo3:{text:'Appended Url'+i+j},\r\n\t\t\t\t\tproperties:{height: 70}}];\r\n\t\t\t\tlistView.sections[0].appendItems(data);\r\n\t\t\t} else {\r\n\t\t\t\tlastIndex = listView.sections[0].items.length -1;\r\n\t\t\t\tvar lastItem = listView.sections[0].getItemAt(lastIndex);\r\n\t\t\t\tlastItem.info3.text += '\\nblah blah';\r\n\t\t\t\tlastItem.info2.text += j;\r\n\t\t\t\tlastItem.info1.text += i;\r\n\t\t\t\tlastItem.properties.height += 20;\r\n\t\t\t\tlistView.sections[0].updateItemAt(lastIndex, lastItem);\r\n\t\t\t}\r\n\t\t\tlistView.scrollToItem(0, lastIndex);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction setupTest(win){\r\n\tvar myTemplate = {\r\n\t\t//properties: {height:60},\r\n\t\tchildTemplates: [\r\n\t\t{\r\n\t\t\ttype: 'Ti.UI.ImageView',\r\n\t\t\tbindId: 'avatar',\r\n\t\t\tproperties: {\r\n\t\t\t\tleft: 10,\r\n\t\t\t\twidth: 50, height: 50\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\ttype: 'Ti.UI.Label',\r\n\t\t\tbindId: 'info1',\r\n\t\t\tproperties: {\r\n\t\t\t\tcolor: 'white',\r\n\t\t\t\tfont: { fontFamily:'Arial', fontSize: 13, fontWeight:'bold' },\r\n\t\t\t\tleft: 70, top: 5, ellipsize:true,\r\n\t\t\t\twidth: Ti.UI.FILL, height: Ti.UI.SIZE\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\ttype: 'Ti.UI.Label',\r\n\t\t\tbindId: 'info2',\r\n\t\t\tproperties: {\r\n\t\t\t\tcolor: 'white',\r\n\t\t\t\tfont: { fontFamily:'Arial', fontSize: 13, fontWeight:'bold' },\r\n\t\t\t\tleft: 70, top: 20, ellipsize:true,\r\n\t\t\t\twidth: Ti.UI.FILL, height: Ti.UI.SIZE\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\ttype: 'Ti.UI.Label',\r\n\t\t\tbindId: 'info3',\r\n\t\t\tproperties: {\r\n\t\t\t\tcolor: 'white',\r\n\t\t\t\tfont: { fontFamily:'Arial', fontSize: 13, fontWeight:'bold' },\r\n\t\t\t\tleft: 70, top: 35, ellipsize:true,\r\n\t\t\t\twidth: Ti.UI.FILL, height: Ti.UI.SIZE\r\n\t\t\t},\r\n\t\t}\r\n\t\t]\r\n\t};\t\r\n\t\r\n\tvar section = Ti.UI.createListSection();\r\n\tlistView = Ti.UI.createListView({\r\n\t\tsections: [section],\r\n\t\ttemplates: { 'template': myTemplate },\r\n\t\tdefaultItemTemplate: 'template',\r\n\t\tbackgroundColor: 'black',\r\n\t});\r\n\tlistView.appendSection(section);\r\n\t\r\n\twin.add(listView);\t\r\n\tgenData();\r\n}\r\n\r\nfunction list_performance_remote(_args) {\r\n\tvar win = Ti.UI.createWindow({\r\n\t\ttitle:'Remote Image Test',\r\n\t\torientationModes:[Ti.UI.PORTRAIT],\r\n\t\tlayout:'vertical'\r\n\t});\r\n\r\n\tvar desc = Ti.UI.createLabel({\r\n\t\ttext:'This is a list View that uses a custom template that holds an imageView and a label.\\n'+\r\n\t\t'The imageView loads remote images. Thank you placehold.it\\n'+\r\n\t\t'Expected performance is a smooth scroll experience.\\n'+\r\n\t\t'On scrolling back and forth in the list view, the right image must be loaded.(since we are reusing views)\\n\\n'\r\n\t})\r\n\t\r\n\tvar button = Ti.UI.createButton({title:'Show Me',top:10});\r\n\t\r\n\twin.add(desc);\r\n\twin.add(button);\r\n\t\r\n\tbutton.addEventListener('click',function(){\r\n\t\twin.remove(desc);\r\n\t\twin.remove(button);\r\n\t\tsetupTest(win);\r\n\t})\r\n\t\r\n\treturn win;\r\n}\r\n\r\nmodule.exports = list_performance_remote;\r\n{code}", "updateAuthor": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2013-07-11T23:41:51.000+0000", "updated": "2013-07-11T23:41:51.000+0000" }, { "id": "261595", "author": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "Why is the status \"resolved\"? These are serious bugs, ListView appears very fragile to timing issues.", "updateAuthor": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2013-07-12T06:26:09.000+0000", "updated": "2013-07-12T06:27:45.000+0000" }, { "id": "273590", "author": { "name": "development@kneib.com", "key": "development@kneib.com", "displayName": "Oscar Kneib", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I am also suprised that this issue is marked as 'resolved'. This is a serious problem.", "updateAuthor": { "name": "development@kneib.com", "key": "development@kneib.com", "displayName": "Oscar Kneib", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-02T11:52:25.000+0000", "updated": "2013-10-02T11:52:25.000+0000" }, { "id": "275377", "author": { "name": "michaelx", "key": "michaelx", "displayName": "Michael X", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I've also been running into this instability. What additional info would be helpful beyond the example posted by Mark?", "updateAuthor": { "name": "michaelx", "key": "michaelx", "displayName": "Michael X", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-17T01:29:41.000+0000", "updated": "2013-10-17T01:29:41.000+0000" }, { "id": "275649", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Reopening based on user comments.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-18T16:03:16.000+0000", "updated": "2013-10-18T16:03:16.000+0000" }, { "id": "285591", "author": { "name": "ndastur", "key": "ndastur", "displayName": "Neville Dastur", "active": true, "timeZone": "Europe/London" }, "body": "I have just re-built my app using SDK 3.2.0.GA and I am seeing this assertion failure by just using setItems. Not sure if the insertSectionAt call plays a part. It worked fine in SDK 3.1.3.GA\r\n\r\nAn example of the code that creates the issue is. Note $.list refers to a Alloy XML ListView and _collection is a Alloy collection. myListItem is a template defined in alloy.\r\n\r\nThis is using alloy 1.3.0 on OSX 10.8 iOS 7.0.3\r\n\r\n{code}\r\n var models = _collection.models;\r\n var len = models.length;\r\n\r\n for (var i = 0; len > i; i++) {\r\n var item = models[i];\r\n var dataitem = {\r\n template: \"myListItem\",\r\n properties: { objId: item.get(\"_id\") },\r\n title: { text: item.get(\"name\") },\r\n subtitle: { text: item.get('sub_name') }\r\n };\r\n items.push(dataitem);\r\n }\r\n var section = Ti.UI.createListSection({\r\n\theaderTitle: 'A header'\r\n });\r\n section.setItems(items);\r\n $.list.insertSectionAt(0,section);\r\n{code}", "updateAuthor": { "name": "ndastur", "key": "ndastur", "displayName": "Neville Dastur", "active": true, "timeZone": "Europe/London" }, "created": "2013-12-22T20:44:53.000+0000", "updated": "2013-12-22T20:44:53.000+0000" }, { "id": "285592", "author": { "name": "ndastur", "key": "ndastur", "displayName": "Neville Dastur", "active": true, "timeZone": "Europe/London" }, "body": "Just confirmed that is the insertSectionAt call. If I add {animate: false} to the animate properties then the problem is fixed.\r\n\r\nWould suggest this is changed back to high priority. Mainly as the default is animate = true and so will effect quite a lot of apps", "updateAuthor": { "name": "ndastur", "key": "ndastur", "displayName": "Neville Dastur", "active": true, "timeZone": "Europe/London" }, "created": "2013-12-22T20:56:22.000+0000", "updated": "2013-12-22T20:56:22.000+0000" }, { "id": "295917", "author": { "name": "shreyashshegaonkar", "key": "shreyashshegaonkar", "displayName": "Shreyash Shegaonkar", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Set timeout to 1000ms while fetching. It is not gonna solve the problem but it will reduce the assertion error count", "updateAuthor": { "name": "shreyashshegaonkar", "key": "shreyashshegaonkar", "displayName": "Shreyash Shegaonkar", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-06T11:46:10.000+0000", "updated": "2014-03-06T11:46:10.000+0000" }, { "id": "298109", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Fixed by PR https://github.com/appcelerator/titanium_mobile/pull/5494\r\n\r\nWe could not reproduce the original issue in the test case, as the timeout was too low. We could reproduce the crash with a timeout of 30ms and repeated clicking the same item. \r\ni.e ` var animator = setInterval(animateLike, 30);`\r\n\r\nTest code\r\n{code}\r\nvar win = Ti.UI.createWindow({backgroundColor: 'white'});\r\n \r\nvar myTemplate = {\r\n properties: {\r\n height: '200dp'\r\n },\r\n childTemplates: [\r\n {\r\n type: 'Ti.UI.ImageView',\r\n bindId: 'pic',\r\n properties: {\r\n width: '200dp', height: '200dp'\r\n }\r\n }\r\n ]\r\n};\r\n \r\nvar listView = Ti.UI.createListView({\r\n templates: { 'template': myTemplate },\r\n defaultItemTemplate: 'template'\r\n});\r\nvar section = Ti.UI.createListSection();\r\n \r\nvar data = [];\r\nfor (var i=0; i<500; i++) {\r\n data.push({pic: {image: 'http://upload.wikimedia.org/wikipedia/commons/1/13/Facebook_like_thumb.png'}});\r\n}\r\n \r\nlistView.addEventListener('itemclick', function(e) {\r\n var source = e.bindId;\r\n var index = e.itemIndex;\r\n \r\n var data = section.getItemAt(index); \r\n \r\n var ii = 0;\r\n var animateLike = function () {\r\n Ti.API.info(\"ii: \" + ii);\r\n data.pic.image = (ii % 2) ? 'http://upload.wikimedia.org/wikipedia/commons/1/13/Facebook_like_thumb.png' : 'http://upload.wikimedia.org/wikipedia/commons/b/b1/Not_facebook_not_like_thumbs_down.png';\r\n \r\n section.replaceItemsAt(index, 1, [data]);\r\n ii++;\r\n if (ii >= 100) {\r\n clearInterval(animator);\r\n animator = null;\r\n }\r\n };\r\n var animator = setInterval(animateLike, 30);\r\n})\r\n \r\nsection.setItems(data);\r\nlistView.setSections([section]);\r\nwin.add(listView);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-03-20T18:40:12.000+0000", "updated": "2014-03-20T18:47:43.000+0000" }, { "id": "298127", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "body": "3_2_X Backport PR : https://github.com/appcelerator/titanium_mobile/pull/5496", "updateAuthor": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-20T20:02:04.000+0000", "updated": "2014-03-20T20:02:04.000+0000" }, { "id": "298156", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested and verified the fix with:\nAppcelerator Studio, build: 3.2.3.201403190645\nTitanium SDK, build: 3.2.3.v20140319174101\nXcode 5.1\nNode.JS Version: v0.10.13\nNPM Version: 1.3.2\n├── acs@1.0.14\n├── alloy@1.3.1\n├── npm@1.3.2\n├── titanium@3.2.1\n└── titanium-code-processor@1.1.0\nDevice:\niPhone5S iOS 7.1\n\nScrolling the list view up and down, no crash", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-20T21:45:24.000+0000", "updated": "2014-03-20T21:45:24.000+0000" } ], "maxResults": 24, "total": 24, "startAt": 0 } } }