[Asterisk-video] Asterisk crashes when hanging up a call to app_rtsp r250

Juan Manuel Coronado Zúñiga juan.m.coronado at gmail.com
Thu Feb 11 13:57:15 CST 2010


Hi Sergio and list,

Sorry for the late response. Regarding the last question: I was using
app_rtsp rev250 from the svn when I experienced the issue.

Already tested the latest rev255 and it works fine (no  more seg-faults) but
only with Asterisk 1.6.2.0. When using 1.6.2.1, it hangs up without showing
any errors on the CLI.

I have another question regarding user and password authentication (since I
still use VLC to do the auth part and then re-stream without auth to
Asterisk). This is how the relevant part in extensions.conf is configured:

exten => 554,2,rtsp(rtsp://user:password@192.168.2.40:554)

Where user and password are both plain text. Is this correct or should it
have another format? The CLI keeps showing:

[100211-093247] DEBUG[29060]: app_rtsp.c:1402 rtsp_play: -Receiving describe
[100211-093247] DEBUG[29060]: app_rtsp.c:1410 rtsp_play: -Describe response
code [401]
[100211-093247] ERROR[29060]: app_rtsp.c:1426 rtsp_play: -No Authenticate
header found

Thank you and best regards,


--
Juan Manuel Coronado Z.


On Thu, Feb 11, 2010 at 7:44 AM, Sergio Garcia Murillo <
sergio.garcia at fontventa.com> wrote:

>  Hi all,
>
> I have just commited a new version to the repository in which the problem
> is solved. Aslo I have fixed the RTCP RR that were the cause of the problem.
>
> Best regards
> Sergio
>
> Sergio Garcia Murillo escribió:
>
> Hi Juan Manuel,
>
> Which version are u using of app_rtsp? In latest one the 2088 line is:
>
>         ast_module_user_remove(u);
>
> I have checked it and in module.h
>
> #define ast_module_user_remove(user)
> __ast_module_user_remove(ast_module_info->self, user)
>
> So the only way I can think of seg faulting is by ast_module_info beeing
> null. Could you check the value of it in the core?
>
> Best regards
> Sergio
>
>
> Best regards
> Sergio
>
>
> Juan Manuel Coronado Zúñiga escribió:
>
> Hi Sergio,
>
> After some tests, I can confirm that this issue doesn't affect rev240 of
> app_rtsp not on Asterisk 1.6.2.0 nor 1.6.2.0, where it behaves fine and
> calls are finished properly.
>
> Hope this feedback will be of some help.
>
> Regards,
>
>
> --
> Juan Manuel Coronado Z.
>
>
> 2010/2/8 Juan Manuel Coronado Zúñiga <juan.m.coronado at gmail.com>
>
>> Sure, that's a better idea :-)
>>
>> Here's the full backtrace for the Asterisk 1.6.2.0 core dump:
>>
>> (gdb) bt full
>> #0  0xb7397004 in app_rtsp (chan=0x9375590, data=0xb7177f14) at
>> app_rtsp.c:2088
>>         u = (struct ast_module_user *)
>> 0x935ae70
>>         ip = 0x9378268
>> "172.30.0.25"
>>         url = 0xb7177f2b
>> "/test"
>>         username =
>> 0x0
>>         password =
>> 0x0
>>         port =
>> 5553
>>         __PRETTY_FUNCTION__ =
>> "app_rtsp"
>> #1  0x08104967 in pbx_exec (c=0x9375590, app=0x9112328, data=0xb7177f14)
>> at pbx.c:1348
>>         res = <value optimized
>> out>
>>         u = (struct ast_module_user *)
>> 0x9148858
>>         saved_c_appl =
>> 0x0
>>         saved_c_data =
>> 0x0
>>         __PRETTY_FUNCTION__ =
>> "pbx_exec"
>> #2  0x0810f680 in pbx_extension_helper (c=0x9375590, con=0x0,
>> context=0x9375800 "pbx1", exten=0x9375850 "553", priority=2,
>>     label=0x0, callerid=0x9374440 "227", action=E_SPAWN, found=0xb717a348,
>> combined_find_spawn=1) at pbx.c:3708
>>         e = <value optimized out>
>>         app = (struct ast_app *) 0x9112328
>>         res = <value optimized out>
>>         q = {incstack = {0x0 <repeats 128 times>}, stacklen = 0, status =
>> 5, swo = 0x0, data = 0x0,
>>   foundcontext = 0x9375800 "pbx1"}
>>         passdata = "rtsp://172.30.0.25:5553/test", '\0' <repeats 8163
>> times>
>>         matching_action = 0
>>         __PRETTY_FUNCTION__ = "pbx_extension_helper"
>> #3  0x0811192d in __ast_pbx_run (c=0x9375590, args=0x0) at pbx.c:4167
>>         dst_exten = '\0' <repeats 12 times>, "1�ѷ", '\0' <repeats 60
>> times>, "\020", '\0' <repeats 19 times>, "\230�7\t", '\0' <repeats 44
>> times>, "T�ѷ", '\0' <repeats 20 times>,
>> "��ѷ\f\000\000\000\230�7\000�\237��`���\000\000\000\0008�\027��\031ҷ`���\f\000\000\000\000\000\000\000`���\200\024:\t\f\000\000\000\200\033\000\000\210�7\t\235�ٷ\230�7\t\210�7\tpv\a\b\210\021\033\b\f\000\000"
>>         pos = 4001536
>>         digit = 0
>>         invalid = <value optimized out>
>>         found = 1
>> ---Type <return> to continue, or q <return> to quit---
>>         res = 0
>>         error = 0
>>         __PRETTY_FUNCTION__ = "__ast_pbx_run"
>> #4  0x08113190 in pbx_thread (data=0x9375590) at pbx.c:4544
>> No locals.
>> #5  0x0815327b in dummy_start (data=0x937e898) at utils.c:968
>>         __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf =
>> {154659208, 0, 4001536, -1223187512, -699156598,
>>         -747528460}, __mask_was_saved = 0}}, __pad = {0xb717a480, 0x0,
>> 0x0, 0x0}}
>>         not_first_call = <value optimized out>
>>         ret = <value optimized out>
>> #6  0xb7c984b5 in start_thread () from /lib/i686/cmov/libpthread.so.0
>> No symbol table info available.
>> #7  0xb7d90a5e in clone () from /lib/i686/cmov/libc.so.6
>> No symbol table info available.
>> (gdb)
>>
>>
>>
>> And for 1.6.2.1:
>>
>> (gdb) bt
>> full
>>
>> #0  0xb72f1004 in app_rtsp (chan=0x86f6608, data=0xb70d1f14) at
>> app_rtsp.c:2088
>>         u = (struct ast_module_user *)
>> 0x86f8fb0
>>
>>         ip = 0x86fab40
>> "172.30.0.25"
>>
>>         url = 0xb70d1f2b
>> "/test"
>>
>>         username =
>> 0x0
>>
>>         password =
>> 0x0
>>
>>         port =
>> 5553
>>
>>         __PRETTY_FUNCTION__ =
>> "app_rtsp"
>>
>> #1  0x08104cb7 in pbx_exec (c=0x86f6608, app=0x86f94a0, data=0xb70d1f14)
>> at pbx.c:1348
>>         res = <value optimized
>> out>
>>
>>         u = (struct ast_module_user *)
>> 0x86cefe0
>>
>>         saved_c_appl =
>> 0x0
>>
>>         saved_c_data =
>> 0x0
>>
>>         __PRETTY_FUNCTION__ =
>> "pbx_exec"
>>
>> #2  0x0810f850 in pbx_extension_helper (c=0x86f6608, con=0x0,
>> context=0x86f6878 "pbx1", exten=0x86f68c8 "553", priority=2,
>>     label=0x0, callerid=0x86f91f8 "227", action=E_SPAWN, found=0xb70d4348,
>> combined_find_spawn=1) at pbx.c:3706
>>         e = <value optimized
>> out>
>>
>>         app = (struct ast_app *)
>> 0x86f94a0
>>
>>         res = <value optimized
>> out>
>>
>>         q = {incstack = {0x0 <repeats 128 times>}, stacklen = 0, status =
>> 5, swo = 0x0, data = 0x0,
>>   foundcontext = 0x86f6878 "pbx1"}
>>         passdata = "rtsp://172.30.0.25:5553/test", '\0' <repeats 5808
>> times>, "c^Ƿ", '\0' <repeats 12 times>,
>> "x=\r�\000\000\000\000\000=\r�\000\000\000\000\000\000\000\000\a\000\000\000\006",
>> '\0' <repeats 11 times>,
>> "�?\000\000\000\000\2268\213�H<\r��\211ķl<\r�\2268\213�", '\0' <repeats 20
>> times>, "����5\003\000\000\000\000\000\000\000\000\000\000,�ķ", '\0'
>> <repeats 24 times>, "�;\r�\000\000\000\000\000\000\000\000\000=\r�", '\0'
>> <repeats 16 times>, "����", '\0' <repeats 40 times>, "����\225"...
>>         matching_action = 0
>>         __PRETTY_FUNCTION__ = "pbx_extension_helper"
>> #3  0x08111b9d in __ast_pbx_run (c=0x86f6608, args=0x0) at pbx.c:4165
>>         dst_exten =
>> "\022\000\000\000`ظ�����1\235Ƿ\224���t��\001\000\000\000����.�ˠ�\201\\C\r��\201��LC\r�t��@C\r�����\000\000\000\000`ظ�\005\000\000\000\020\000\000\000\001\000\000\000pC\r��;�dC\r��Uo\b\000\000\000\000@ڸ�LC\r�@C\r�\001\000\000\000<C\r�\000\000\000\000\214C\r�\000\200\a\237�\000\000\000\000T\217Ƿ",
>> '\0' <repeats 12 times>,
>> "@C\r��C\r��{Ƿ\f\000\000\000�Uo\000�?`Q\000\000\000\0008C\r���Ƿ`Q"...
>> ---Type <return> to continue, or q <return> to quit---
>>         pos = 4001536
>>         digit = 0
>>         invalid = <value optimized out>
>>         found = 1
>>         res = 0
>>         error = 0
>>         __PRETTY_FUNCTION__ = "__ast_pbx_run"
>> #4  0x08113400 in pbx_thread (data=0x86f6608) at pbx.c:4542
>> No locals.
>> #5  0x0815305b in dummy_start (data=0x86f55a0) at utils.c:968
>>         __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf =
>> {141435248, 0, 4001536, -1223867448, 161732390, 960872024},
>>       __mask_was_saved = 0}}, __pad = {0xb70d4480, 0x0, 0xb70d43c4,
>> 0xb7d63ff4}}
>>         not_first_call = <value optimized out>
>>         ret = <value optimized out>
>> #6  0xb7bf24b5 in start_thread () from /lib/i686/cmov/libpthread.so.0
>> No symbol table info available.
>> #7  0xb7ceaa5e in clone () from /lib/i686/cmov/libc.so.6
>> No symbol table info available.
>> (gdb)
>>
>>
>> Best regards,
>>
>> --
>> Juan Manuel Coronado Z.
>>
>>
>>
>> On Mon, Feb 8, 2010 at 11:39 AM, Sergio Garcia Murillo <
>> sergio.garcia at fontventa.com> wrote:
>>
>>> Hi Juan Manuel,
>>>
>>> Could you send a backtrace of the core dumps instead?
>>>
>>> Best regards
>>> Sergio
>>>
>>> Juan Manuel Coronado Zúñiga escribió:
>>>  >
>>> > Hi Sergio and list,
>>> >
>>> > Hanging up a succesfull call from a Eyebeam Softphone (H.264) to
>>> > app_rtsp causes Asterisk to crash. I've tried versions 1.6.0.10,
>>> > 1.6.2.0 and 1.6.2.1.
>>> >
>>> > I have the following setup:
>>> >
>>> > - Asterisk with app_rtsp rev 250 in Debian Lenny (5.0.3) i386.
>>> > - Grandstream GXV3601 registered in Asterisk.
>>> > - VLC in other PC which connects to the Camera, performs the
>>> > authentication (I've experienced issues with app_rtsp auth) and
>>> > re-streams to Asterisk.
>>> > - Windows machine with Eyebeam softphone and a webcam attached.
>>> >
>>> > The call to app_rtsp succesfully shows the video streamed by the
>>> > camera, but when hanging up it causes a segfault. I can provide 2 core
>>> > dumps with the latest versions of Asterisk if needed (1.3 MB).
>>> >
>>> > Any help would be appreciated.
>>> >
>>> > Regards,
>>> >
>>> >
>>> > --
>>> > Juan Manuel Coronado Z.
>>> >
>>>
>>>
>>>
>>>  --
>>> _____________________________________________________________________
>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>>>
>>> asterisk-video mailing list
>>> To UNSUBSCRIBE or update options visit:
>>>   http://lists.digium.com/mailman/listinfo/asterisk-video
>>
>>
>>
>
>
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-video mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-video
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-video/attachments/20100211/d203d0a1/attachment-0001.htm 


More information about the asterisk-video mailing list