[asterisk-bugs] [JIRA] (ASTERISK-26700) pjsip: Crash on startup on WSS client SIP OPTIONS message

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Fri Jan 6 18:33:09 CST 2017


     [ https://issues.asterisk.org/jira/browse/ASTERISK-26700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Mudgett updated ASTERISK-26700:
---------------------------------------

    Description: 
On startup, with 14.2.1, a WSS endpoint trying to register with an unsupported transport causes this error:
{noformat}
[2017-01-06 15:17:22] ERROR[12892]: res_pjsip.c:3587 endpt_send_request: Error 171060 'Unsupported transport (PJSIP_EUNSUPTRANSPORT)' sending OPTIONS request to endpoint 252
[2017-01-06 15:17:22] ERROR[12892]: res_pjsip.c:3595 endpt_send_request: FRACK!, Failed assertion bad magic number 0x0 for object 0x7f8e78001658 (0)
{noformat}

On 14.1.2, Asterisk displays the error above but does not crash. On 14.2.1, it displays the error and then crashes. Both were built on identical machine with ./configure --with-pjproject-bundled option.

The backtrace is this:
{noformat}
Using host libthread_db library "/lib64/libthread_db.so.1".

Core was generated by `/usr/sbin/asterisk -f -vvvg -c'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f8ea76f1b8c in cancel () from /lib/libasteriskpj.so
#0  0x00007f8ea76f1b8c in cancel () from /lib/libasteriskpj.so
No symbol table info available.
#1  0x00007f8ea76f20fc in cancel_timer () from /lib/libasteriskpj.so
No symbol table info available.
#2  0x00007f8ea76f21ae in pj_timer_heap_cancel_if_active () from /lib/libasteriskpj.so
No symbol table info available.

#3  0x00007f8e55834993 in endpt_send_request (endpoint=endpoint at entry=0x7f8e70012700, tdata=tdata at entry=0x7f8e7800fa28, timeout=timeout at entry=10000, token=token at entry=0x7f8e78012450, cb=0x7f8e55835860 <send_request_cb>) at res_pjsip.c:3596
        timers_cancelled = <optimized out>
        errmsg = "Unsupported transport (PJSIP_EUNSUPTRANSPORT)\000\000\000\000\000\000\000\377\377\377\377(\372\000x\216\177\000\000\240\232\256T\216\177\000\000\225\364E\000\000\000\000"
        req_wrapper = 0x7f8e78001658
        ret_val = 171060
        endpt = 0x25ba838
        selector = {type = PJSIP_TPSELECTOR_NONE, u = {transport = 0x0, listener = 0x0, ptr = 0x0}}
#4  0x00007f8e55836bd2 in ast_sip_send_out_of_dialog_request (tdata=0x7f8e7800fa28, endpoint=endpoint at entry=0x7f8e70012700, timeout=10000, token=token at entry=0x2ecea60, callback=callback at entry=0x7f8e5583af00 <qualify_contact_cb>) at res_pjsip.c:3776
        supplement = 0x0
        contact = 0x2ecea60
        __PRETTY_FUNCTION__ = "ast_sip_send_out_of_dialog_request"
#5  0x00007f8e5583ab92 in qualify_contact (endpoint=endpoint at entry=0x0, contact=contact at entry=0x2ecea60) at res_pjsip/pjsip_options.c:434
        tdata = 0x7f8e7800fa28
        endpoint_local = 0x7f8e70012700
        __PRETTY_FUNCTION__ = "qualify_contact"
#6  0x00007f8e5583ae83 in qualify_contact_task (obj=0x2ecea60) at res_pjsip/pjsip_options.c:509
        contact = 0x2ecea60
        res = <optimized out>
        __PRETTY_FUNCTION__ = "qualify_contact_task"
#7  0x00000000005fd818 in ast_taskprocessor_execute (tps=0x25b8e18) at taskprocessor.c:967
        local = {local_data = 0x7f8e54aea9c0, data = 0x61139a <ast_threadstorage_set_ptr+60>}
        t = 0x7f8e9c02e480
        size = 39554584
        __PRETTY_FUNCTION__ = "ast_taskprocessor_execute"
{noformat}


  was:
On startup, with 14.2.1, a WSS endpoint trying to register with an unsupported transport causes this error:

[2017-01-06 15:17:22] ERROR[12892]: res_pjsip.c:3587 endpt_send_request: Error 171060 'Unsupported transport (PJSIP_EUNSUPTRANSPORT)' sending OPTIONS request to endpoint 252
[2017-01-06 15:17:22] ERROR[12892]: res_pjsip.c:3595 endpt_send_request: FRACK!, Failed assertion bad magic number 0x0 for object 0x7f8e78001658 (0)

On 14.1.2, Asterisk displays the error above bot does not crash. On 14.2.1, it displays the error and then crashes. Both were built on identical machine with ./configure --with-pjproject-bundled option.

The backtrace is this:

Using host libthread_db library "/lib64/libthread_db.so.1".

Core was generated by `/usr/sbin/asterisk -f -vvvg -c'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f8ea76f1b8c in cancel () from /lib/libasteriskpj.so
#0  0x00007f8ea76f1b8c in cancel () from /lib/libasteriskpj.so
No symbol table info available.
#1  0x00007f8ea76f20fc in cancel_timer () from /lib/libasteriskpj.so
No symbol table info available.
#2  0x00007f8ea76f21ae in pj_timer_heap_cancel_if_active () from /lib/libasteriskpj.so
No symbol table info available.

#3  0x00007f8e55834993 in endpt_send_request (endpoint=endpoint at entry=0x7f8e70012700, tdata=tdata at entry=0x7f8e7800fa28, timeout=timeout at entry=10000, token=token at entry=0x7f8e78012450, cb=0x7f8e55835860 <send_request_cb>) at res_pjsip.c:3596
        timers_cancelled = <optimized out>
        errmsg = "Unsupported transport (PJSIP_EUNSUPTRANSPORT)\000\000\000\000\000\000\000\377\377\377\377(\372\000x\216\177\000\000\240\232\256T\216\177\000\000\225\364E\000\000\000\000"
        req_wrapper = 0x7f8e78001658
        ret_val = 171060
        endpt = 0x25ba838
        selector = {type = PJSIP_TPSELECTOR_NONE, u = {transport = 0x0, listener = 0x0, ptr = 0x0}}
#4  0x00007f8e55836bd2 in ast_sip_send_out_of_dialog_request (tdata=0x7f8e7800fa28, endpoint=endpoint at entry=0x7f8e70012700, timeout=10000, token=token at entry=0x2ecea60, callback=callback at entry=0x7f8e5583af00 <qualify_contact_cb>) at res_pjsip.c:3776
        supplement = 0x0
        contact = 0x2ecea60
        __PRETTY_FUNCTION__ = "ast_sip_send_out_of_dialog_request"
#5  0x00007f8e5583ab92 in qualify_contact (endpoint=endpoint at entry=0x0, contact=contact at entry=0x2ecea60) at res_pjsip/pjsip_options.c:434
        tdata = 0x7f8e7800fa28
        endpoint_local = 0x7f8e70012700
        __PRETTY_FUNCTION__ = "qualify_contact"
#6  0x00007f8e5583ae83 in qualify_contact_task (obj=0x2ecea60) at res_pjsip/pjsip_options.c:509
        contact = 0x2ecea60
        res = <optimized out>
        __PRETTY_FUNCTION__ = "qualify_contact_task"
#7  0x00000000005fd818 in ast_taskprocessor_execute (tps=0x25b8e18) at taskprocessor.c:967
        local = {local_data = 0x7f8e54aea9c0, data = 0x61139a <ast_threadstorage_set_ptr+60>}
        t = 0x7f8e9c02e480
        size = 39554584
        __PRETTY_FUNCTION__ = "ast_taskprocessor_execute"



> pjsip: Crash on startup on WSS client SIP OPTIONS message
> ---------------------------------------------------------
>
>                 Key: ASTERISK-26700
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26700
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: pjproject/pjsip
>    Affects Versions: 14.2.1
>            Reporter: Joshua Elson
>
> On startup, with 14.2.1, a WSS endpoint trying to register with an unsupported transport causes this error:
> {noformat}
> [2017-01-06 15:17:22] ERROR[12892]: res_pjsip.c:3587 endpt_send_request: Error 171060 'Unsupported transport (PJSIP_EUNSUPTRANSPORT)' sending OPTIONS request to endpoint 252
> [2017-01-06 15:17:22] ERROR[12892]: res_pjsip.c:3595 endpt_send_request: FRACK!, Failed assertion bad magic number 0x0 for object 0x7f8e78001658 (0)
> {noformat}
> On 14.1.2, Asterisk displays the error above but does not crash. On 14.2.1, it displays the error and then crashes. Both were built on identical machine with ./configure --with-pjproject-bundled option.
> The backtrace is this:
> {noformat}
> Using host libthread_db library "/lib64/libthread_db.so.1".
> Core was generated by `/usr/sbin/asterisk -f -vvvg -c'.
> Program terminated with signal 11, Segmentation fault.
> #0  0x00007f8ea76f1b8c in cancel () from /lib/libasteriskpj.so
> #0  0x00007f8ea76f1b8c in cancel () from /lib/libasteriskpj.so
> No symbol table info available.
> #1  0x00007f8ea76f20fc in cancel_timer () from /lib/libasteriskpj.so
> No symbol table info available.
> #2  0x00007f8ea76f21ae in pj_timer_heap_cancel_if_active () from /lib/libasteriskpj.so
> No symbol table info available.
> #3  0x00007f8e55834993 in endpt_send_request (endpoint=endpoint at entry=0x7f8e70012700, tdata=tdata at entry=0x7f8e7800fa28, timeout=timeout at entry=10000, token=token at entry=0x7f8e78012450, cb=0x7f8e55835860 <send_request_cb>) at res_pjsip.c:3596
>         timers_cancelled = <optimized out>
>         errmsg = "Unsupported transport (PJSIP_EUNSUPTRANSPORT)\000\000\000\000\000\000\000\377\377\377\377(\372\000x\216\177\000\000\240\232\256T\216\177\000\000\225\364E\000\000\000\000"
>         req_wrapper = 0x7f8e78001658
>         ret_val = 171060
>         endpt = 0x25ba838
>         selector = {type = PJSIP_TPSELECTOR_NONE, u = {transport = 0x0, listener = 0x0, ptr = 0x0}}
> #4  0x00007f8e55836bd2 in ast_sip_send_out_of_dialog_request (tdata=0x7f8e7800fa28, endpoint=endpoint at entry=0x7f8e70012700, timeout=10000, token=token at entry=0x2ecea60, callback=callback at entry=0x7f8e5583af00 <qualify_contact_cb>) at res_pjsip.c:3776
>         supplement = 0x0
>         contact = 0x2ecea60
>         __PRETTY_FUNCTION__ = "ast_sip_send_out_of_dialog_request"
> #5  0x00007f8e5583ab92 in qualify_contact (endpoint=endpoint at entry=0x0, contact=contact at entry=0x2ecea60) at res_pjsip/pjsip_options.c:434
>         tdata = 0x7f8e7800fa28
>         endpoint_local = 0x7f8e70012700
>         __PRETTY_FUNCTION__ = "qualify_contact"
> #6  0x00007f8e5583ae83 in qualify_contact_task (obj=0x2ecea60) at res_pjsip/pjsip_options.c:509
>         contact = 0x2ecea60
>         res = <optimized out>
>         __PRETTY_FUNCTION__ = "qualify_contact_task"
> #7  0x00000000005fd818 in ast_taskprocessor_execute (tps=0x25b8e18) at taskprocessor.c:967
>         local = {local_data = 0x7f8e54aea9c0, data = 0x61139a <ast_threadstorage_set_ptr+60>}
>         t = 0x7f8e9c02e480
>         size = 39554584
>         __PRETTY_FUNCTION__ = "ast_taskprocessor_execute"
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list