{ "id": "159905", "key": "TIMOB-23298", "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": "11258", "description": "Holding Pen for Triaged Issues", "name": "Backlog", "archived": false, "released": false } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-05-09T17:19:41.000+0000", "created": "2016-04-29T20:21:02.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "Module" ], "versions": [ { "id": "16997", "name": "Release 5.2.0", "archived": false, "released": true, "releaseDate": "2016-02-23" }, { "id": "17684", "name": "Release 5.2.1", "archived": false, "released": true, "releaseDate": "2016-03-25" }, { "id": "17993", "description": "Release 5.2.2", "name": "Release 5.2.2", "archived": false, "released": true, "releaseDate": "2016-04-05" } ], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-07-26T03:25:31.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": "h6.description\r\nWe have a custom module that uses IBM's Trusteer SDK to perform some device checks during app startup. \r\n\r\nWe were notified by Google that our app built with SDK version 5.1.2.GA has a security vulnerability. Appcelerator support recommended upgrading to 5.2.1.GA. \r\n\r\nDuring upgrade, we found that the Trusteer custom module failed to load during startup causing app crash. See below for the error log. We found that the issue exists in version 5.2.2.GA as well. \r\n\r\nSince it's working with 5.1.2.GA, we assume that something changed in the newer SDK versions broke the module. \r\n\r\nh6.Steps to Reproduce\r\n1. Create a sample Alloy or Classic App.\r\n2. Paste the below code into the app.js file.\r\n3. Add the attached module.\r\n4. Run on iOS device or simulator.\r\n\r\n\r\nh6. Expected behaviour\r\nSince it works on Ti SDK - 5.1.2. It should works on later version.\r\n\r\n\r\nh6. Test code\r\n{code:title=app.js}\r\nvar win = Ti.UI.createWindow({\r\n\tbackgroundColor : \"Red\"\r\n});\r\n\r\n// Create a Button.\r\nvar ShowData = Ti.UI.createButton({\r\n\ttitle : 'ShowData',\r\n\theight : 100,\r\n\twidth : 100,\r\n\r\n});\r\n\r\n// Listen for click events.\r\nShowData.addEventListener('click', function() {\r\n\r\n\tTi.API.info(\"Loading Trusteer module...\");\r\n\tvar TrusteerModule = require('com.comerica.trusteer');\r\n\r\n\tvar trusteerResponse = TrusteerModule.getRiskAssessment();\r\n\talert(JSON.stringify(trusteerResponse));\r\n\r\n});\r\n\r\n// Add to the parent view.\r\nwin.add(ShowData);\r\n\r\nwin.open();\r\n\r\n{code}\r\nh6.log\r\n{code:title=error}\r\n[INFO] : Loading Trusteer module...\r\n[INFO] : 2016-04-30 02:02:28.013 CustomerIssue1[98143:524842] [ERROR] contentsAtPath failed for key tas//manifest.rpkg\r\n[INFO] : 2016-04-30 02:02:28.013 CustomerIssue1[98143:524842] [ERROR] Failed to load manifest (section:taz.app-res) (file:manifest.rpkg)\r\n[INFO] : 2016-04-30 02:02:28.019 CustomerIssue1[98143:524842] [ERROR] contentsAtPath failed for key tas//default_conf.rpkg\r\n[INFO] : 2016-04-30 02:02:28.019 CustomerIssue1[98143:524842] [ERROR] Failed to load default configuration (section:taz.app-res) (file:default_conf.rpkg)\r\n[INFO] : 2016-04-30 02:02:28.019 CustomerIssue1[98143:524842] [WARN ] <2>\r\n[INFO] : 2016-04-30 02:02:28.019 CustomerIssue1[98143:524842] [ERROR] contentsAtPath failed for key tas//default_conf.rpkg\r\n[INFO] : 2016-04-30 02:02:28.020 CustomerIssue1[98143:524842] [ERROR] Failed to load default configuration (section:taz.app-res) (file:default_conf.rpkg)\r\n[INFO] : 2016-04-30 02:02:28.020 CustomerIssue1[98143:524842] [ERROR] Failed to load default rpkg\r\n[INFO] : 2016-04-30 02:02:28.020 CustomerIssue1[98143:524842] [INFO ] taz server configuration initialized with revisions <0,0>\r\n{code}\r\n\r\nThanks\r\n", "attachment": [], "flagged": false, "summary": "Module Error during App startup with Ti SDK 5.2.1.GA and 5.2.2.GA but works on 5.1.2.", "creator": { "name": "morahman", "key": "morahman", "displayName": "Motiur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "subtasks": [], "reporter": { "name": "morahman", "key": "morahman", "displayName": "Motiur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "environment": "Operating System\r\n Name = Mac OS X\r\n Version = 10.11.4\r\nNode.js\r\n Node.js Version = 4.2.2\r\n npm Version = 2.14.7\r\nTitanium CLI\r\n CLI Version = 5.0.6\r\nTitanium SDK\r\n SDK Version = 5.2.2.GA, 5.2.1.GA\r\nPlatform: =iOS", "closedSprints": [ { "id": 627, "state": "closed", "name": "2016 Sprint 10 SDK", "startDate": "2016-05-07T00:43:56.954Z", "endDate": "2016-05-21T00:43:00.000Z", "completeDate": "2016-05-23T02:06:04.349Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "384431", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~morahman] Does this app have enabled in tiapp.xml? Also, the description is extremely misleading. It says Google says the app has security vulnerability but reproducing steps indicate the error is seen in iOS. Did you mean to say APPLE? And can you give the exact words that APPLE said about the security vulnerability?\r\n", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-05-02T08:51:35.000+0000", "updated": "2016-05-02T08:51:35.000+0000" }, { "id": "384459", "author": { "name": "morahman", "key": "morahman", "displayName": "Motiur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "body": "[~cng] [~apetkov], \r\nRegarding your question, the Google security vulnerability and the module issue are completely different. They wanted to upgrade the SDK version due to Google's recommendation to fix the security issue. While upgrading they found the module issue on iOS. Just to be clear, the security issue is with Google only(Android). \r\n\r\nNow the main problem module is not working on latest build(5.2.1, 5.2.2). But works on 5.1.2 (iOS).\r\n\r\nLet me know if you have any questions. ", "updateAuthor": { "name": "morahman", "key": "morahman", "displayName": "Motiur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "created": "2016-05-02T15:15:36.000+0000", "updated": "2016-05-02T15:19:23.000+0000" }, { "id": "384506", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Thanks for the clarification! [~apetkov] can you download to module and reproduce see if any regression between 5.2.1 and 5.1.2 caused this? I'm guessing since it's a minor version bump, it may be something to do with deprecated properties or methods.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-05-02T23:14:12.000+0000", "updated": "2016-05-02T23:14:12.000+0000" }, { "id": "384625", "author": { "name": "apetkov", "key": "apetkov", "displayName": "Angel Petkov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~morahman] Hello, i tried to re-produce the crash using SDK 5.2.3 as its the only 5_2_X available on appcelerator build [servers|http://builds.appcelerator.com.s3.amazonaws.com/index.html#5_2_X]. The application created using the provided code and module did not crash.Is this crash happening both when launching to android and iOS, could you try running it on 5_2_3 please ? \r\n\r\nEdit: Could you also please add the tiapp.xml to the description if something was added thats not there by default. ", "updateAuthor": { "name": "apetkov", "key": "apetkov", "displayName": "Angel Petkov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-05-03T19:00:12.000+0000", "updated": "2016-05-03T19:01:44.000+0000" }, { "id": "384639", "author": { "name": "morahman", "key": "morahman", "displayName": "Motiur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "body": "[~apetkov], I can reproduce that issue on master version 5.2.3.v20160404160237 also with the following env -\r\n\r\nAppcelerator Command-Line Interface, version 5.2.2\r\nOperating System\r\n Name = Mac OS X\r\n Version = 10.11.4\r\nNode.js\r\n Node.js Version = 4.2.2\r\n npm Version = 2.14.7\r\nTitanium CLI\r\n CLI Version = 5.0.6\r\nTitanium SDK\r\n SDK Version = 5.2.3.v20160404160237\r\n\r\niPhone 5s = v 9.3.1\r\n\r\nJust add module folder inside the App and app.js code then launch on iOS no need to add anything on tiapp.xml or anywhere.\r\n\r\nThanks.\r\n ", "updateAuthor": { "name": "morahman", "key": "morahman", "displayName": "Motiur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "created": "2016-05-03T21:39:37.000+0000", "updated": "2016-05-03T21:41:45.000+0000" }, { "id": "385111", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey guys,\r\n\r\nthe issue is the following: The way modules handle Resources changed in 5.2.0.GA, discussed in TIMOB-20489 and fixed in Ti.SDK >= 5.2.1.GA. Long story short: The files placed in {{/platform/iphone/}} need to be placed in {{/Resources/}} (the directory might not exist, yet, create it). If you want to have the module also work with 5.1.X e.g. for backwards-compatibility, you can courage both directories for now. \r\n\r\nI will ping [~apetkov] to do further handling this ticket. Thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-05-09T07:39:34.000+0000", "updated": "2016-05-09T17:16:14.000+0000" }, { "id": "385163", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Here is a screenshot of the proposed directory structure with fallback for older SDK's (optional): http://abload.de/img/bildschirmfoto2016-05urjd1.png\r\n\r\nResult (success): http://abload.de/img/bildschirmfoto2016-05v5kjx.png", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-05-09T17:18:09.000+0000", "updated": "2016-05-09T17:18:09.000+0000" }, { "id": "385165", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Resolved as fixed, using the below solution. No SDK-update required, so fix-version \"backlog\". Please verify the fix so we can close the issue, thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-05-09T17:19:41.000+0000", "updated": "2016-05-09T17:19:41.000+0000" }, { "id": "385168", "author": { "name": "rkanmani@comerica.com", "key": "rkanmani@comerica.com", "displayName": "Kanmani Raja", "active": true, "timeZone": "America/New_York" }, "body": "Do we need to recompile all modules with the new directory structure in order to upgrade from SDK version pre 5.2.0 to 5.2.0 and above? ", "updateAuthor": { "name": "rkanmani@comerica.com", "key": "rkanmani@comerica.com", "displayName": "Kanmani Raja", "active": true, "timeZone": "America/New_York" }, "created": "2016-05-09T17:38:37.000+0000", "updated": "2016-05-09T17:38:37.000+0000" }, { "id": "385169", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Recompining not even necessary, only change the directory in the existing one. Of course it is recommended to recompile it, but it is not necessary, as long as the structure is correct.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-05-09T17:40:34.000+0000", "updated": "2016-05-09T17:40:34.000+0000" }, { "id": "385174", "author": { "name": "rkanmani@comerica.com", "key": "rkanmani@comerica.com", "displayName": "Kanmani Raja", "active": true, "timeZone": "America/New_York" }, "body": "If we change the directory structure in the app, then the module code base will be out of sync. It's going to affect the way our code is organized, and versioned. Is there any other way to fix this issue? ", "updateAuthor": { "name": "rkanmani@comerica.com", "key": "rkanmani@comerica.com", "displayName": "Kanmani Raja", "active": true, "timeZone": "America/New_York" }, "created": "2016-05-09T18:27:58.000+0000", "updated": "2016-05-09T18:27:58.000+0000" }, { "id": "385175", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "It is a one-time change. Recommended is to move the directory so you only have the Resources directory holding the files. So you can commit the changes once, recompile the module and distribute it. It's a very simple solution and does not require any further code-changes.\r\n\r\nEDIT: The code-base is not affected at all, it's only the content of the above discussed {{platform}} directory.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-05-09T18:31:30.000+0000", "updated": "2016-05-09T18:32:25.000+0000" }, { "id": "424723", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing as fixed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-07-26T03:25:31.000+0000", "updated": "2017-07-26T03:25:31.000+0000" } ], "maxResults": 15, "total": 15, "startAt": 0 } } }