{ "id": "172580", "key": "TIMOB-26533", "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-11-13T10:52:41.000+0000", "created": "2018-11-08T15:16:19.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "regression" ], "versions": [ { "id": "20238", "description": "", "name": "Release 7.5.0", "archived": false, "released": true, "releaseDate": "2018-11-15" } ], "issuelinks": [], "assignee": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2018-11-14T10:26:54.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": "The application throws an error when using the following test case:\r\n{code:java}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\n\tvar debug = Ti.API.debug;\r\n\tvar info = Ti.API.info;\r\n\tTi.Media.audioSessionMode = Ti.Media.AUDIO_SESSION_MODE_PLAYBACK;\r\n\r\n\tvar url = Titanium.UI.createTextField({\r\n\t\tvalue : 'http://users.skynet.be/fa046054/home/P22/track06.mp3',\r\n\t\tcolor : '#336699',\r\n\t\treturnKeyType : Titanium.UI.RETURNKEY_GO,\r\n\t\tkeyboardType : Titanium.UI.KEYBOARD_URL,\r\n\t\thintText : 'url',\r\n\t\ttextAlign : 'left',\r\n\t\theight : 35,\r\n\t\ttop : 10,\r\n\t\twidth : 300,\r\n\t\tborderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED\r\n\t});\r\n\r\n\tvar streamButton = Titanium.UI.createButton({\r\n\t\ttitle : 'Start Streaming',\r\n\t\ttop : 60,\r\n\t\twidth : 200,\r\n\t\theight : 40\r\n\t});\r\n\r\n\tvar pauseButton = Titanium.UI.createButton({\r\n\t\ttitle : 'Pause Streaming',\r\n\t\ttop : 110,\r\n\t\twidth : 200,\r\n\t\theight : 40,\r\n\t\tenabled : false\r\n\t});\r\n\r\n\tvar progressLabel = Titanium.UI.createLabel({\r\n\t\ttext : 'Time Played: Not Started',\r\n\t\ttop : 160,\r\n\t\tleft : 10,\r\n\t\theight : 40,\r\n\t\twidth : 300,\r\n\t\tcolor : '#555',\r\n\t\ttextAlignment : 'center'\r\n\t});\r\n\r\n\tvar stateLabel = Titanium.UI.createLabel({\r\n\t\ttext : 'State: Not Started',\r\n\t\ttop : 180,\r\n\t\tleft : 10,\r\n\t\twidth : 300,\r\n\t\theight : 40,\r\n\t\tcolor : '#555'\r\n\t});\r\n\r\n\twin.add(url);\r\n\twin.add(streamButton);\r\n\twin.add(pauseButton);\r\n\twin.add(progressLabel);\r\n\twin.add(stateLabel);\r\n\r\n\tvar streamer = Ti.Media.createAudioPlayer();\r\n\r\n\tstreamButton.addEventListener('click', function() {\r\n\t\tif (streamButton.title == 'Stop Stream') {\r\n\t\t\tprogressLabel.text = 'Stopped';\r\n\t\t\tstreamer.stop();\r\n\t\t\tpauseButton.enabled = false;\r\n\t\t\tpauseButton.title = 'Pause Streaming';\r\n\t\t\tstreamButton.title = \"Start Streaming\";\r\n\t\t} else {\r\n\t\t\tprogressLabel.text = 'Starting ...';\r\n\t\t\tstreamer.url = url.value;\r\n\t\t\tstreamer.start();\r\n\t\t\tpauseButton.enabled = true;\r\n\t\t\tpauseButton.title = 'Pause Streaming';\r\n\t\t\tstreamButton.title = \"Stop Stream\";\r\n\t\t}\r\n\t});\r\n\r\n\tpauseButton.addEventListener('click', function() {\r\n\t\tif (pauseButton.title == 'Pause Streaming') {\r\n\t\t\tstreamer.pause();\r\n\t\t\tpauseButton.title = 'Unpause Streaming';\r\n\t\t} else {\r\n\t\t\tstreamer.start();\r\n\t\t\tpauseButton.title = 'Pause Streaming';\r\n\t\t}\r\n\t});\r\n\r\n\tstreamer.addEventListener('change', function(e) {\r\n\t\tstateLabel.text = 'State: ' + e.description + ' (' + e.state + ')';\r\n\t\tTi.API.info('disc: ' + e.description);\r\n\t\tTi.API.info('state: ' + e.state);\r\n\t});\r\n\r\n\tstreamer.addEventListener('progress', function(e) {\r\n\t\tprogressLabel.text = 'Time Played: ' + Math.round(e.progress) + ' seconds';\r\n\t});\r\n\r\n\t// save off current idle timer state\r\n\tvar idleTimer = Ti.App.idleTimerDisabled;\r\n\r\n\t// while we're in this window don't let the app shutdown\r\n\t// when the screen is idle\r\n\tTi.App.idleTimerDisabled = true;\r\n\r\n\twin.addEventListener('close', function() {\r\n\t\tTi.API.info(\"window was closed, idleTimer reset to = \" + idleTimer);\r\n\r\n\t\t// restore previous idle state when closed\r\n\t\tTi.App.idleTimerDisabled = idleTimer;\r\n\t});\r\n\r\n\twin.open();\r\n{code}\r\nFollowing error is shown:\r\n{code:java}\r\n[ERROR] : Script Error {\r\n[ERROR] : column = 26;\r\n[ERROR] : line = 97;\r\n[ERROR] : message = \"Invalid URL passed to the audio-player\";\r\n[ERROR] : nativeLocation = \"-[TiMediaAudioPlayerProxy player] (TiMediaAudioPlayerProxy.m:76)\";\r\n[ERROR] : nativeReason = \"The \\\"url\\\" probably has not been set to a valid value.\";\r\n[ERROR] : nativeStack = \"3 T3 0x00000001011081e8 T3 + 508392\\n4 T3 0x000000010110c000 T3 + 524288\\n5 T3 0x000000010110b988 T3 + 522632\\n6 T3 0x0000000101106b78 T3 + 502648\\n7 CoreFoundation 0x0000000185a35630 + 144\\n8 CoreFoundation 0x0000000185913560 + 292\\n9 T3 0x00000001010ad8e8 T3 + 137448\\n10 T3 0x00000001010abfcc T3 + 131020\\n11 T3 0x0000000101128c1c T3 + 642076\\n12 T3 0x00000001010abcec T3 + 130284\\n13 JavaScriptCore 0x000000018d656b58 + 348\\n14 JavaScriptCore 0x000000018dd40f5c + 352\\n15 JavaScriptCore 0x000000018d62ddd8 + 29992\\n16 JavaScriptCore 0x000000018d62ddec + 30012\\n17 JavaScriptCore 0x000000018d6266b4 + 308\\n18 JavaScriptCore 0x000000018dc9cda0 + 9620\\n19 JavaScriptCore 0x000000018de77ecc _ZN3JSC8evaluateEPNS_9ExecStateERKNS_10SourceCodeENS_7JSValueERN3WTF8NakedPtrINS_9ExceptionEEE + 320\";\r\n[ERROR] : sourceURL = \"file:///var/containers/Bundle/Application/977A5AE0-84DB-4956-B8B5-79A219E25A27/T3.app/app.js\";\r\n[ERROR] : stack = \" at [native code]\\n at (/app.js:97:26)\\n at global code(/app.js:116:70)\\n at require@[native code]\\n at (/ti.main.js:27:8)\\n at loadAsync(/ti.internal/bootstrap.loader.js:148:186)\\n at global code(/ti.main.js:24:52)\";\r\n[ERROR] : toJSON = \"\";\r\n[ERROR] : }\r\n[ERROR] : Script Error Module \"app.js\" failed to leave a valid exports object\r\n{code}\r\nNote this worked on 7.4.1.GA and looks like a regression. \r\n\r\n*Expected result*\r\nApplication should not crash and stream should work accordingly. (If stream is paused/played)\r\n\r\n*Actual result *\r\nApplication crashes on launch", "attachment": [], "flagged": false, "summary": "iOS: Ti.Media.Audio player without url set is crashing while registering for event listener", "creator": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "SDK Version 7.5.0\r\nAPPC Studio: 5.1.0.201808080937\r\niPhone 6 Sim (iOS 12.1)\r\nAPPC CLI: 7.0.6\r\nOperating System Name: Mac OS Mojave\r\nOperating System Version: 10.14.1\r\nNode.js Version: 8.9.1\r\nXcode 10.0", "closedSprints": [ { "id": 1093, "state": "closed", "name": "2018 Sprint 23", "startDate": "2018-11-04T23:35:52.006Z", "endDate": "2018-11-18T23:35:00.000Z", "completeDate": "2018-11-19T05:30:34.338Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "443481", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This issue is regression due to TIMOB-24909. \r\nA workaround for this is set url at creation time of audio player. ", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-12T05:05:18.000+0000", "updated": "2018-11-12T05:05:28.000+0000" }, { "id": "443483", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master) - https://github.com/appcelerator/titanium_mobile/pull/10457\r\nPR (7_5_X) - https://github.com/appcelerator/titanium_mobile/pull/10456", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-12T08:19:35.000+0000", "updated": "2018-11-12T08:19:35.000+0000" }, { "id": "443501", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed waiting on CR and Jenkins builds. ", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-12T16:32:09.000+0000", "updated": "2018-11-12T16:32:09.000+0000" }, { "id": "443507", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "CR passed!", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-11-13T06:44:46.000+0000", "updated": "2018-11-13T06:44:46.000+0000" }, { "id": "443566", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "*Closing ticket.* Fix verified in SDK version {{7.5.0.v20181113143835}} and SDK version {{8.0.0.v20181113150129}}.\r\n\r\n*Test and other information can be found at: *\r\nPR (master) - https://github.com/appcelerator/titanium_mobile/pull/10457\r\nPR (7_5_X) - https://github.com/appcelerator/titanium_mobile/pull/10456", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-14T10:26:48.000+0000", "updated": "2018-11-14T10:26:48.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }