在Android上使用PJSUA / Swig删除电话和帐户时崩溃

时间:2016-03-16 18:50:30

标签: android swig pjsip

在快速连续删除来电和帐号时,我在Android上遇到PJSUA(Swig)崩溃。

以下是Android应用程序视角的场景:

  1. 设置帐户并向注册商注册
  2. 接收来电(不回答)
  3. 接收断开连接事件(呼叫者挂机)
  4. 删除电话和帐户:

    call.delete();
    call = null;
    account.delete();
    account = null;
    
  5. 应用程序崩溃:

  6. Fatal signal 11 (SIGSEGV) at 0x3a302063 (code=1), thread 28956 (com.sampleapp)
    *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    Build fingerprint: 'google/nakasi/grouper:4.2.2/JDQ39/573038:user/release-keys'
    Revision: '0'
    pid: 28926, tid: 28956, name: com.sampleapp  >>> com.sampleapp <<<
    signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 3a302063
        r0 3a302063  r1 00000007  r2 61f1c9a0  r3 3a302063
        r4 00000001  r5 61ee805c  r6 61eea08c  r7 58cdf7c4
        r8 68b5e360  r9 00100000  sl 58cdf7c4  fp 68e3ce84
        ip 00000001  sp 68e3ce78  lr 689520b8  pc 68951bc8  cpsr 60000010
        d0  000000000062e080  d1  3ff000004280cccd
        d2  0000001c0000001b  d3  0001000100010001
        d4  ff00550055005500  d5  00000131000f000f
        d6  4034346dc5d63900  d7  0062e0808f5c28f6
        d8  0000000000000000  d9  0000000000000000
        d10 0000000000000000  d11 0000000000000000
        d12 0000000000000000  d13 0000000000000000
        d14 0000000000000000  d15 0000000000000000
        d16 4158b82020000000  d17 3fe0000000000000
        d18 0000000000000000  d19 002bf000002ad000
        d20 0070c01d006c401c  d21 0079c01f0075401e
        d22 0000000000000004  d23 0000002300000022
        d24 0082c021007e4020  d25 008bc02300874022
        d26 000000200000001f  d27 0000002200000021
        d28 0070c000006c4000  d29 0079c00000754000
        d30 0000000100000001  d31 0000000100000001
        scr 80000090
    
    backtrace:
        #00  pc 0008dbc8  /data/app-lib/com.sampleapp-2/libpjsua2.so (_JavaVM::DetachCurrentThread()+20)
        #01  pc 0008e0b4  /data/app-lib/com.sampleapp-2/libpjsua2.so (Swig::Director::JNIEnvWrapper::~JNIEnvWrapper()+48)
        #02  pc 00093fdc  /data/app-lib/com.sampleapp-2/libpjsua2.so (SwigDirector_Call::onCallState(pj::OnCallStateParam&)+384)
    

    这是重现问题的最简单方法,但在其他情况下,删除通话和帐户会导致同样的崩溃。

    我已经调试了很多,我认为问题是在通话结束时删除帐户会导致崩溃。

    如果我只关闭通话并且稍后(2秒就足够了)关闭帐户,则不会发生崩溃。

    我做错了吗?有没有办法防止这次崩溃?

0 个答案:

没有答案