{ "id": "142870", "key": "TIMOB-18564", "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": "16723", "description": "Windows Platform Support, ListView updates, Vector overlays in maps", "name": "Release 4.1.0", "archived": false, "released": true, "releaseDate": "2015-07-08" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-03-09T22:06:37.000+0000", "created": "2015-01-15T16:48:08.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "TCSupportTriage" ], "versions": [], "issuelinks": [], "assignee": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-16T22:24:41.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": "10202", "name": "Android", "description": "Android Platform" } ], "description": "When setting the Images array property and allowing the ImageView to display for more than 4 minutes.\r\n\r\n* Changing the number of images within the array does not affect the failure\r\n* Changing the location of the source files does not affect the failure\r\n* Changing the duration does not affect the failure\r\n* Changing the size of the Image width and height does not affect the failure\r\n* Having one or more ImageViews each with the same or different numbers of array images does not affect the failure\r\n* Setting a repeatCount does not affect the failure (if the count exceeds the failure point)\r\n* Not having a repeatCount does not affect the failure \r\n* File format of Image does not affect the failure\r\n\r\nIt appears to be related to a combination of iterations, duration and size - but each attempt to work out the issue results in failure in around 5 minutes or less.\r\n\r\n{panel:title=Error message|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE}OpenGLRenderer: Cannot generate texture from bitmap{panel}\r\n\r\nSimplified example code;\r\n\r\n{code:title=View|xml}\r\n\r\n{code}\r\n\r\n{code:title=Controller|JavaScript}\r\n$.img.setImages([\r\n \"/images/red/red1.png\",\r\n \"/images/red/red2.png\",\r\n \"/images/red/red3.png\",\r\n \"/images/red/red4.png\"\r\n]);\r\n{code}\r\n\r\nSimply leaving the animation to continue crashes the image, empties the ImageView to black and shows the error message above in the console each additional iteration.", "attachment": [], "flagged": false, "summary": "ImageView - Image Array; fails consistently on Android", "creator": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "subtasks": [], "reporter": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "environment": "* OSX\r\n* Titanium Studio\r\n* All Ti SDKs from 3.3 - no tests prior\r\n* Multiple Android SDKs\r\n* GenyMotion and physical devices, each with multiple versions installed", "closedSprints": [ { "id": 356, "state": "closed", "name": "2015 Sprint 05 SDK", "startDate": "2015-02-28T15:50:08.527Z", "endDate": "2015-03-14T00:00:00.000Z", "completeDate": "2015-03-14T13:54:50.695Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "339374", "author": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "body": "Hi,\r\n\r\nJust test your case, but can't reproduce your problem with my Device: Samsung Galaxy Nexus. I left the animation for more than 10 mins, nothing went wrong.\r\n\r\nSo would you please try \r\n1. Use the latest SDK 3.5.0.GA\r\n2. If it still happens, provide the more detail in studio console when app crash.\r\n3. You may want to try a classic project for this problem. Here is the test case.\r\n{code:title=app.js}\r\nvar win = Ti.UI.createWindow({\r\n\tbackgroundColor:'White'\r\n});\r\n\r\nvar imageView = Ti.UI.createImageView({\r\n\tid:\"img\",\r\n backgroundColor:\"purple\",\r\n duration:\"2000\",\r\n height:\"50\",\r\n repeatCount:\"2000\",\r\n width:\"50\",\r\n images:[\r\n \t\"/images/Test/1.png\",\r\n \t\"/images/Test/2.png\",\r\n \t\"/images/Test/3.png\",\r\n \t\"/images/Test/4.png\"\r\n ]\r\n});\r\n\r\nimageView.start();\r\n\r\nwin.add(imageView);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "created": "2015-01-16T02:45:26.000+0000", "updated": "2015-01-16T02:45:26.000+0000" }, { "id": "340751", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~core13] did you see the comment?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-01-27T14:47:01.000+0000", "updated": "2015-01-27T14:47:01.000+0000" }, { "id": "341803", "author": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "body": "[~ingo] I did not - will thoroughly test again today, although previous tests were performed on 3.5, may have been beta version though.", "updateAuthor": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "created": "2015-02-03T10:02:33.000+0000", "updated": "2015-02-03T10:02:33.000+0000" }, { "id": "341887", "author": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "body": "I have tested again using Ti SDK 3.5 GA, having reviewed my notes I had already done this last time.\r\n\r\nSo to confirm; using Ti SDK 3.5 GA on Android using Android 4.4.4 (although others result in the same results) - it fails.\r\n\r\nI have performed the tests using the image width and height (widget.tss) of 50x50 and 400x400.\r\n\r\nThe timer out put shows 67 iterations which is around 5.5 minutes - using 250x250. The image array is now shown only as a black box and displaying the same error message mentioned initially. Having stopped the app from running within Studio I noticed that after a period of time (between 2-8 minutes - was not paying attention) the black square does then actually start back up showing the image array displaying. I had not actually stopped the app running in the Genymotion simulator, however after around another 5 minutes the same square went black again.\r\n\r\nI then changed the image displayed size to 50x50, the original images used are still 400x400. 73 iterations this time so around 6 minutes. Having closed the app from running with Studio but let the actual app running on the device - it again stopped displaying the black broken image and returned to the image array stepping. After a while this again broke and the process keeps working, then failing, then working then failing.\r\n\r\nI have duplicated the test just performed (50x50) and managed 67 iterations which is around 5.5 minutes - still boke in the same way with the same results - so on and so forth. This is easy to reproduce.\r\n\r\nThe problem is repeatable on more than one development machine and in each of the Ti SDK versions previously mentioned - so tested Ti SDK 3.3 GA to 3.5 GA.\r\n\r\nBetween each test the project build folder is cleaned and the app is removed from the device active apps.\r\n\r\nYou can create the images I am using yourself by saving the results of these links\r\n\r\n[http://placehold.it/400x400/00c600/ffffff&text=A] is greena.jpg\r\nhttp://placehold.it/400x400/00c600/ffffff&text=B is greenb.jpg\r\nhttp://placehold.it/400x400/00c600/ffffff&text=C is greenc.jpg\r\nhttp://placehold.it/400x400/00c600/ffffff&text=D is greend.jpg\r\nhttp://placehold.it/400x400/c60000/ffffff&text=1 is red1.jpg\r\nhttp://placehold.it/400x400/c60000/ffffff&text=2 is red2.jpg\r\nhttp://placehold.it/400x400/c60000/ffffff&text=3 is red3.jpg\r\nhttp://placehold.it/400x400/c60000/ffffff&text=4 is red4.jpg\r\nhttp://placehold.it/400x400/c60000/ffffff&text=5 is red5.jpg\r\n\r\n{code:title=index.js|JavaScript}\r\nvar times = 0;\r\nvar ext = '.jpg';\r\n\r\nvar imgRed = Alloy.createWidget('ImageArray', 'widget', {\r\n //duration: 2500 * .25 * .25,\r\n duration: 200,\r\n images: [\r\n '/images/green/greena' + ext,\r\n '/images/green/greenb' + ext,\r\n '/images/green/greenc' + ext,\r\n '/images/green/greend' + ext,\r\n '/images/red/red1' + ext,\r\n '/images/red/red2' + ext,\r\n '/images/red/red3' + ext,\r\n '/images/red/red4' + ext,\r\n '/images/red/red5' + ext\r\n ],\r\n left: 100,\r\n top: 30\r\n});\r\n$.win.add(imgRed.getView());\r\nimgRed.getView().start();\r\n{code}\r\n\r\n{code:title=widget.xml|xml}\r\n\r\n\t\r\n\r\n{code}\r\n\r\n\r\n{code:title=widget.js|JavaScript}\r\nvar args = arguments[0] || [];\r\n\r\nvar handler = function (e) {\r\n var currentdate = new Date(); \r\n var datetime = + currentdate.getHours() + \":\" \r\n + currentdate.getMinutes() + \":\" \r\n + currentdate.getSeconds();\r\n\r\n Ti.API.info(e.type + ': ' + datetime);\r\n};\r\n$.img.addEventListener('start', handler);\r\n$.img.addEventListener('stop', handler);\r\n\r\nif (args.images && args.images.length > 0) {\r\n Ti.API.info('has images');\r\n\t$.img.setDuration(args.duration || 1000);\r\n\t$.img.setImages(args.images || []);\r\n\t$.img.setLeft(args.left || 10);\r\n\t$.img.setTop(args.top || 30);\r\n}\r\n{code}\r\n\r\n{code:title=widget.tss|css}\r\n\"#img\": {\r\n backgroundColor: 'purple',\r\n height: 250,\r\n repeatCount: 0,\r\n width: 250\r\n}\r\n{code}\r\n\r\nThere is a real problem here - I am not imaging it.", "updateAuthor": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "created": "2015-02-03T20:30:54.000+0000", "updated": "2015-02-03T20:30:54.000+0000" }, { "id": "345095", "author": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "body": "master PR: https://github.com/appcelerator/titanium_mobile/pull/6689", "updateAuthor": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-03-04T23:33:55.000+0000", "updated": "2015-03-04T23:33:55.000+0000" }, { "id": "413337", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as fixed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-16T22:24:41.000+0000", "updated": "2017-03-16T22:24:41.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }