{ "id": "62780", "key": "TIMOB-2148", "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": "11225", "name": "Release 1.5.0", "archived": true, "released": true, "releaseDate": "2010-12-14" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-04-17T01:58:14.000+0000", "created": "2011-04-15T03:11:53.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "crash", "ios", "record", "regression", "rplist", "sound" ], "versions": [], "issuelinks": [], "assignee": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2011-04-17T01:58:14.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": "{html}

I am using the exact sound_record.js file from KS in another\napp.

\n

The repro steps are:

\n

hit the start recording button
\n\"say something\" hit the stop recording button

\n

Note: It will not flip the button label back to [start\nrecording], as it does in KS
\n(maybe it is stil recording?)

\n

When you leave the window, the app crashes (log attached)

{html}", "attachment": [ { "id": "18114", "filename": "flashcard_recording_crash.rtf", "author": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:11:54.000+0000", "size": 23878, "mimeType": "text/rtf" } ], "flagged": false, "summary": "IOS: sound_record.js from KS crashes when inoked in another app", "creator": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "127628", "author": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Note that this is using XCode with IOS 4.0

\n

Also there is code that is NOT at all in our API that needs some\nclarification:

\n

IN the following listener:

\n

there is a line like:
\nfile = recording.stop(); // our API doc says this returns a\nvoid!

\n

IN another listener there is:
\nsound = Titanium.Media.createSound({sound:file}); // our API does\nnot list the sound property!

{html}", "updateAuthor": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:11:54.000+0000", "updated": "2011-04-15T03:11:54.000+0000" }, { "id": "127629", "author": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

ok, earler I was using SDK 4.0, and 1.4.x

\n

Now I have upgraded to Xcode/SDK4.1 and latest Ti 1.5.

\n

I have the same problem, AND I can replicate in Simulator! The\nSimluator should notice that no Audio exists as per the code but it\ndoes not.

\n

From running in Simulator with FlashCard:
\n[INFO] tab Phone prevTab = Controls [ERROR] Improper audio session mode for\nrecording. 1835361385 in -TiMediaAudioRecorderProxy start:\n[ERROR] The application has crashed with an\nunhandled exception. Stack trace: 0 CoreFoundation 0x0382cb7c\nexceptionPreprocess + 156
\n1 libobjc.A.dylib 0x0397c40e objc_exception_throw + 47
\n2 KitchenSink 0x000aa3ee -[TiProxy\nthrowException:subreason:location:] + 478
\n3 KitchenSink 0x0011b671 -[TiMediaAudioRecorderProxy start:] +\n1253
\n4 CoreFoundation 0x0379d5cd
invoking + 29
\n5 CoreFoundation 0x0379d4a1 -[NSInvocation invoke] + 145
\n6 KitchenSink 0x00048fc5 -[KrollMethod call:] + 2092
\n7 KitchenSink 0x00048377 KrollCallAsFunction + 327
\n8 KitchenSink 0x0026c736
\nZN2TI16TiCallbackObjectINS_8TiObjectEE4callEPNS_10TiExcStateEPS1_NS_7TiValueERKNS_7ArgListE\n+ 550
\n9 KitchenSink 0x0023759d cti_op_call_NotTiFunction + 637
\n10 ??? 0x10915590 0x0 + 277960080
\n11 KitchenSink 0x001e4f9f\nZN2TI11Interpreter7executeEPNS_18FunctionExecutableEPNS_10TiExcStateEPNS_10TiFunctionEPNS_8TiObjectERKNS_7ArgListEPNS_14ScopeChainNodeEPNS_7TiValueE\n+ 783
\n12 KitchenSink 0x002508ef
\nZN2TI10TiFunction4callEPNS_10TiExcStateENS_7TiValueERKNS_7ArgListE\n+ 127
\n13 KitchenSink 0x00199479\n_ZN2TI4callEPNS_10TiExcStateENS_7TiValueENS_8CallTypeERKNS_8CallDataES2_RKNS_7ArgListE\n+ 57
\n14 KitchenSink 0x0026a2b3 TiObjectCallAsFunction + 611
\n15 KitchenSink 0x000431e9 -[KrollCallback call:thisObject:] +\n726
\n16 KitchenSink 0x00044355 -[KrollEvent invoke:] + 92
\n17 KitchenSink 0x000439e6 -[KrollContext invoke:] + 43
\n18 KitchenSink 0x00045187 -[KrollContext main] + 3092
\n19 Foundation 0x005bf76c -[NSThread main] + 81
\n20 Foundation 0x005bf6f8
NSThreadmain +\n1387
\n21 libSystem.B.dylib 0x97cb481d pthread_start + 345
\n22 libSystem.B.dylib 0x97cb46a2 thread_start + 34
\n2010-10-21 17:36:26.868 KitchenSink[29232:8113]\nTerminating app due to uncaught exception\n'org.kitchensink.TiMediaAudioRecorderProxy', reason: 'Improper\naudio session mode for recording. 1835361385 in\n-TiMediaAudioRecorderProxy start:'
Call\nstack at first throw: ( 0 CoreFoundation 0x0382cb99\nexceptionPreprocess + 185
\n1 libobjc.A.dylib 0x0397c40e objc_exception_throw + 47
\n2 KitchenSink 0x000aa3ee -[TiProxy\nthrowException:subreason:location:] + 478
\n3 KitchenSink 0x0011b671 -[TiMediaAudioRecorderProxy start:] +\n1253
\n4 CoreFoundation 0x0379d5cd
invoking
+ 29
\n5 CoreFoundation 0x0379d4a1 -[NSInvocation invoke] + 145
\n6 KitchenSink 0x00048fc5 -[KrollMethod call:] + 2092
\n7 KitchenSink 0x00048377 KrollCallAsFunction + 327
\n8 KitchenSink 0x0026c736\nZN2TI16TiCallbackObjectINS_8TiObjectEE4callEPNS_10TiExcStateEPS1_NS_7TiValueERKNS_7ArgListE\n+ 550
\n9 KitchenSink 0x0023759d cti_op_call_NotTiFunction + 637
\n10 ??? 0x10915590 0x0 + 277960080
\n11 KitchenSink 0x001e4f9f
\nZN2TI11Interpreter7executeEPNS_18FunctionExecutableEPNS_10TiExcStateEPNS_10TiFunctionEPNS_8TiObjectERKNS_7ArgListEPNS_14ScopeChainNodeEPNS_7TiValueE\n+ 783
\n12 KitchenSink 0x002508ef\nZN2TI10TiFunction4callEPNS_10TiExcStateENS_7TiValueERKNS_7ArgListE\n+ 127
\n13 KitchenSink 0x00199479
\nZN2TI4callEPNS_10TiExcStateENS_7TiValueENS_8CallTypeERKNS_8CallDataES2_RKNS_7ArgListE\n+ 57
\n14 KitchenSink 0x0026a2b3 TiObjectCallAsFunction + 611
\n15 KitchenSink 0x000431e9 -[KrollCallback call:thisObject:] +\n726
\n16 KitchenSink 0x00044355 -[KrollEvent invoke:] + 92
\n17 KitchenSink 0x000439e6 -[KrollContext invoke:] + 43
\n18 KitchenSink 0x00045187 -[KrollContext main] + 3092
\n19 Foundation 0x005bf76c -[NSThread main] + 81
\n20 Foundation 0x005bf6f8
NSThreadmain +\n1387
\n21 libSystem.B.dylib 0x97cb481d _pthread_start + 345
\n22 libSystem.B.dylib 0x97cb46a2 thread_start + 34
\n) terminate called after throwing an instance of 'NSException'
\n[INFO] Application has exited from\nSimulator

{html}", "updateAuthor": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:11:54.000+0000", "updated": "2011-04-15T03:11:54.000+0000" }, { "id": "127630", "author": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

steps to repro in KS are simple now:

\n

Simulator:

\n

Launch KS
\n[Phone] Tab [Sound] row [Record] (already you see the Playback\nRecording button which is and error) click [Start Recording]

\n

Crash!

{html}", "updateAuthor": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:11:54.000+0000", "updated": "2011-04-15T03:11:54.000+0000" }, { "id": "127631", "author": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

steps to repro on device with KS:

\n

Launch KS
\nPhone
\nSound
\nRecord
\nStart Playing
\ngo back to Sound from Record screen

\n

Crash!

{html}", "updateAuthor": { "name": "rpfeiffer", "key": "rpfeiffer", "displayName": "Ralf Pfeiffer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:11:54.000+0000", "updated": "2011-04-15T03:11:54.000+0000" }, { "id": "127632", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Claiming this, could be related to module fixes.

{html}", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:11:54.000+0000", "updated": "2011-04-15T03:11:54.000+0000" }, { "id": "127633", "author": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "body": "{html}

(from [76706c39f5d8184166081b74c0163ca1d5bf5472])\n[#2148] Fixes to getting audio session\nproperties. \nhttp://github.com/appcelerator/titanium_mobile/commit/76706c39f5d81...

{html}", "updateAuthor": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:11:55.000+0000", "updated": "2011-04-15T03:11:55.000+0000" }, { "id": "127634", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

I would need much more information about whatever \"other app\"\nthis was being used in to determine if audio recording really has a\nbug or not. Mixing audio playback and recording in iOS is very\ndelicate, especially in Titanium, where the user has no direct\ncontrol over audio sessions.

\n

I am not able to repo this in KS after the previous commit.\nGoing to mark fixed-in-qa.

{html}", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:11:55.000+0000", "updated": "2011-04-15T03:11:55.000+0000" }, { "id": "127635", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

4th gen ipod running 4.1, 3g iphone 3.1.2 .5.0.77ad8ac crash not\nrepro

{html}", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:11:56.000+0000", "updated": "2011-04-15T03:11:56.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }