{ "id": "171875", "key": "TIMOB-26182", "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": "20238", "description": "", "name": "Release 7.5.0", "archived": false, "released": true, "releaseDate": "2018-11-15" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2018-09-17T20:15:14.000+0000", "created": "2018-07-03T07:49:14.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "regression" ], "versions": [], "issuelinks": [], "assignee": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2018-10-11T19:36:55.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": "On one of our Android device, a native exception is raised when we set a remote URL on an ImageView (no problems with local URLs). Visually, no remote images are displayed on the app. If we turn on the storage permission on the device for our app, the images are displayed. This error happens only on SDKs 7.1 and more.\r\n\r\nHere's the exception : \r\n\r\n{code:java}\r\n [ERROR] TiDrawableReference: (pool-6-thread-1) [46,103593] Problem opening stream with url [the URL]: /storage/emulated/0/Android/data/[the package name]/cache/_tmp/remote-cache/ec4d7d79f9e6687d490bf9eea8f8a779667ad14f.hdr: open failed: EACCES (Permission denied)\r\n java.io.FileNotFoundException: /storage/emulated/0/Android/data/[the package name]/cache/_tmp/remote-cache/ec4d7d79f9e6687d490bf9eea8f8a779667ad14f.hdr: open failed: EACCES (Permission denied)\r\n \tat libcore.io.IoBridge.open(IoBridge.java:452)\r\n \tat java.io.FileInputStream.(FileInputStream.java:76)\r\n \tat java.io.FileReader.(FileReader.java:42)\r\n \tat org.appcelerator.titanium.util.TiResponseCache.readHeaders(TiResponseCache.java:351)\r\n \tat org.appcelerator.titanium.util.TiResponseCache.get(TiResponseCache.java:338)\r\n \tat com.android.okhttp.internal.huc.CacheAdapter.getJavaCachedResponse(CacheAdapter.java:103)\r\n \tat com.android.okhttp.internal.huc.CacheAdapter.get(CacheAdapter.java:47)\r\n \tat com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:229)\r\n \tat com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:433)\r\n \tat com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:384)\r\n \tat com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:231)\r\n \tat com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:210)\r\n \tat com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java)\r\n \tat java.net.URL.openStream(URL.java:470)\r\n \tat org.appcelerator.titanium.util.TiFileHelper.handleNetworkURL(TiFileHelper.java:248)\r\n \tat org.appcelerator.titanium.util.TiFileHelper.openInputStream(TiFileHelper.java:186)\r\n \tat org.appcelerator.titanium.view.TiDrawableReference.getInputStream(TiDrawableReference.java:896)\r\n \tat org.appcelerator.titanium.view.TiDrawableReference.getBitmap(TiDrawableReference.java:373)\r\n \tat org.appcelerator.titanium.view.TiDrawableReference.getBitmap(TiDrawableReference.java:330)\r\n \tat org.appcelerator.titanium.util.TiLoadImageManager$LoadImageJob.run(TiLoadImageManager.java:132)\r\n \tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)\r\n \tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)\r\n \tat java.lang.Thread.run(Thread.java:818)\r\n Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)\r\n \tat libcore.io.Posix.open(Native Method)\r\n \tat libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)\r\n \tat libcore.io.IoBridge.open(IoBridge.java:438)\r\n \t... 22 more\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "An exception is raised when a remote image URL is set on an ImageView on some Android devices", "creator": { "name": "gdrusch", "key": "gdrusch", "displayName": "Gautier Drusch", "active": true, "timeZone": "Europe/Paris" }, "subtasks": [], "reporter": { "name": "gdrusch", "key": "gdrusch", "displayName": "Gautier Drusch", "active": true, "timeZone": "Europe/Paris" }, "environment": "Model : SUNNY, Android V 6.0 (build number MRA58K release-keys & custom build version SUNNY Marshmallow 6.0[10] R). Titanium SDK 7.1+", "closedSprints": [ { "id": 1073, "state": "closed", "name": "2018 Sprint 19 SDK", "startDate": "2018-09-09T21:02:56.422Z", "endDate": "2018-09-23T21:02:00.000Z", "completeDate": "2018-09-23T22:28:10.932Z", "originBoardId": 114 }, { "id": 1058, "state": "closed", "name": "2018 Sprint 16 SDK", "startDate": "2018-07-29T22:26:06.486Z", "endDate": "2018-08-12T22:26:00.000Z", "completeDate": "2018-08-13T17:38:16.757Z", "originBoardId": 114 }, { "id": 1065, "state": "closed", "name": "2016 Sprint 17 SDK", "startDate": "2018-08-13T17:39:36.846Z", "endDate": "2018-08-27T17:39:00.000Z", "completeDate": "2018-08-29T16:10:57.013Z", "originBoardId": 114 }, { "id": 1053, "state": "closed", "name": "2018 Sprint 15 SDK", "startDate": "2018-07-15T21:52:05.453Z", "endDate": "2018-07-29T21:52:00.000Z", "completeDate": "2018-07-29T22:25:11.723Z", "originBoardId": 114 }, { "id": 1070, "state": "closed", "name": "2018 Sprint 18 SDK", "startDate": "2018-08-26T16:14:35.297Z", "endDate": "2018-09-09T16:14:00.000Z", "completeDate": "2018-09-11T20:59:21.495Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "438961", "author": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "body": "Can you share your code and the url of the image of the problem. And does this only happen on certain domains, or all remote images?", "updateAuthor": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-07-03T10:10:43.000+0000", "updated": "2018-07-03T10:10:43.000+0000" }, { "id": "438995", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "master: https://github.com/appcelerator/titanium_mobile/pull/10153", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-07-03T23:02:59.000+0000", "updated": "2018-07-03T23:02:59.000+0000" }, { "id": "441627", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-09-17T19:07:02.000+0000", "updated": "2018-09-17T19:07:02.000+0000" }, { "id": "441630", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR Merged.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-09-17T20:15:09.000+0000", "updated": "2018-09-17T20:15:09.000+0000" }, { "id": "442540", "author": { "name": "kmahalingam", "key": "kmahalingam", "displayName": "Keerthi Mahalingam", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix on SDK 7.5.0.v20181010051919. Image displayed without any issue on with or without permission. Closing\r\n{code}\r\nOperating System\r\n Name = Mac OS X\r\n Version = 10.13.6\r\n Architecture = 64bit\r\nNode.js\r\n Node.js Version = 8.9.1\r\n npm Version = 5.5.1\r\nTitanium CLI\r\n CLI Version = 5.1.1\r\nTitanium SDK\r\n SDK Version =7.5.0.v20181010051919\r\nDevice\t\t\t = Samsung s5 Android 6\r\n\t\t\t\t\tPixel 2 xl android 8 emulator\r\n{code}", "updateAuthor": { "name": "kmahalingam", "key": "kmahalingam", "displayName": "Keerthi Mahalingam", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2018-10-11T19:36:47.000+0000", "updated": "2018-10-11T19:36:47.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }