Crash in coreaudio_dev on iphone

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tony,

In the case that you need to restart pjsua, you will need to create
your own interruptionListener handler. You can do this by calling
AudioSessionInitialize() before coreaudio calls this function.

Regards,
Ming

On Thu, Feb 3, 2011 at 4:22 PM, Tony Million <tony at bababoo.com> wrote:
> I've investigated more, and found the following:
> When our app detects a change in network (i.e. changing from wifi to 3G or
> wifi->different wifi, or even losing signal entirely) we shutdown pjsip
> using pjsua_destroy() then, if/when a network is available we reinitialize
> pjsua using the same startup code we used in the first instance.
> When restarting pjsua I see the following error:
> ?08:13:52.942 sip_endpoint.c? Module "mod-invite" registered
> ?08:13:52.942 coreaudio_dev. ? dev_id 0: iPhone IO device? (in=1, out=1)
> 8000Hz
> ?08:13:52.942 coreaudio_dev.? Error: cannot initialize audio session
> services (1768843636)
> ?08:13:52.943 coreaudio_dev.? core audio initialized
> ?08:13:52.943? ? ? ? ? pjlib? select() I/O Queue created (0x9dba14)
> ?08:13:52.979 sip_endpoint.c? Module "mod-evsub" registered
>
> At this point, when I go to make a cellular call, I'll see the same crash I
> pasted (pasted again for completeness
> ?08:14:57.383 coreaudio_dev.? Session interrupted! --- Begin Interruption
> ---
> Assertion failed: (mutex), function pj_mutex_lock, file
> ../src/pj/os_core_unix.c, line 1203.
> Program received signal:? ?SIGABRT?.
> At
> As far as I know the only way to get pjsua to work correctly with the new
> network interface (be it the 3G WWAN or WIFI Network) is to call
> pjsua_destroy and then start up pjsua again. If this is incorrect I'm happy
> to change my code. If I do not shutdown/restart pjsua eventually I just
> start getting 502 (Timeout) responses from pjsua.
>
> Hope this helps,
> Tony
> On 3 Feb 2011, at 05:06, Ming wrote:
>
> Hi Tony,
>
> Thanks for the report. Is the crash always reproducible (i.e. does it
> happen every time you make a call)?
> Do you set up your own audio session interruptions in your
> application? Is there any log message from PJSIP on audio session
> initialization error (Error: cannot initialize audio session
> services...)?
>
> Regards,
> Ming
>
> On Thu, Feb 3, 2011 at 2:24 AM, Tony Million <tony at bababoo.com> wrote:
>
> Hi,
>
> I've been seeing crashes related to audio session interruptions on the
>
> iphone for a while, and just got one while the app is connected to a
>
> debugger.
>
> I've attached the logs, I had made a call on cellular and just switched back
>
> to the PJSip based app.
>
> I have numerous crash logs showing the same thing but today is the first day
>
> I could catch it in the debugger. Don't know if this helps, I'm running
>
> current trunk.
>
> ?18:08:27.718 coreaudio_dev.? Session interrupted! --- Begin Interruption
>
> ---
>
> Assertion failed: (mutex), function pj_mutex_lock, file
>
> ../src/pj/os_core_unix.c, line 1203.
>
> Program received signal:? ?SIGABRT?.
>
> (gdb) bt
>
> #0? 0x33bd52d4 in __kill ()
>
> #1? 0x33bd52ca in kill ()
>
> #2? 0x33bd52bc in raise ()
>
> #3? 0x33be9d78 in abort ()
>
> #4? 0x33bd7986 in __assert_rtn ()
>
> #5? 0x00076258 in pj_mutex_lock ()
>
> #6? 0x000aa114 in interruptionListener ()
>
> #7? 0x31730772 in SSServer_AudioSessionDeferredListenerMessage ()
>
> #8? 0x316ddf2e in _XAudioSessionDeferredListenerMessage ()
>
> #9? 0x31677bea in mshMIGPerform ()
>
> #10 0x33a556fe in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__
>
> ()
>
> #11 0x33a556c2 in __CFRunLoopDoSource1 ()
>
> #12 0x33a47f7c in __CFRunLoopRun ()
>
> #13 0x33a47c86 in CFRunLoopRunSpecific ()
>
> #14 0x33a47b8e in CFRunLoopRunInMode ()
>
> #15 0x33b0e4aa in GSEventRunModal ()
>
> #16 0x33b0e556 in GSEventRun ()
>
> #17 0x32099328 in -[UIApplication _run] ()
>
> #18 0x32096e92 in UIApplicationMain ()
>
> #19 0x00002cbc in main (argc=1, argv=0x2fdff67c) at
>
> /Users/tony/Projects/IOS/main.m:14
>
>
> Regards,
>
> --
>
> Tony Million
>
> _______________________________________________
>
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
>
> pjsip at lists.pjsip.org
>
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux