calejost / unimrcp

Automatically exported from code.google.com/p/unimrcp
Apache License 2.0
0 stars 0 forks source link

Crash at rtsp_client_message_receive #60

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. MRCP client connects to MRCP server with RTSP
2. SPEAK request sent
3. TEARDOWN sent after SPEAK-COMPLETE
4. repeat until app dies (took 68 tries with latest lib, 1200 with
FreeSWITCH trunk)

What version of the product are you using? On what operating system?
Latest / CentOS 5.3
Also reproduced with older lib currently in FreeSWITCH trunk

Please provide any additional information below.

(gdb) bt
#0  rtsp_stream_walk (parser=0x17e0cdb0, stream=0x17e0c7a8,
handler=0x2aaab17b95b0 <rtsp_client_message_handler>, obj=0x17e0c370) at
../../libs/apr-toolkit/include/apt_text_stream.h:175
#1  0x00002aaab17b8ec7 in rtsp_client_message_receive (task=<value
optimized out>, connection=0x17e0c020) at src/rtsp_client.c:807
#2  0x00002aaab17bddd7 in apt_net_client_task_run (base=<value optimized
out>) at src/apt_net_client_task.c:302
#3  0x00002aaab178239a in apt_task_run (thread_handle=0x2aaab4013088,
data=<value optimized out>) at src/apt_task.c:437
#4  0x0000003c89806367 in start_thread () from /lib64/libpthread.so.0
#5  0x0000003c88cd2f7d in clone () from /lib64/libc.so.6
(gdb) p stream
$1 = (apt_text_stream_t *) 0x17e0c7a8
(gdb) p *stream
Cannot access memory at address 0x17e0c7a8
(gdb) f 1
#1  0x00002aaab17b8ec7 in rtsp_client_message_receive (task=<value
optimized out>, connection=0x17e0c020) at src/rtsp_client.c:807
807             return
rtsp_stream_walk(rtsp_connection->parser,stream,rtsp_client_message_handler,rtsp
_connection);
(gdb) p rtsp_connection
$2 = (rtsp_client_connection_t *) 0x17e0c370
(gdb) p stream
$3 = (apt_text_stream_t *) 0x17e0c7a8
(gdb) p *stream
Cannot access memory at address 0x17e0c7a8
(gdb) p rtsp_client_message_handler
$4 = {apt_bool_t (void *, rtsp_message_t *, rtsp_stream_status_e)}
0x2aaab17b95b0 <rtsp_client_message_handler>
(gdb) p *rtsp_client_message_handler
$5 = {apt_bool_t (void *, rtsp_message_t *, rtsp_stream_status_e)}
0x2aaab17b95b0 <rtsp_client_message_handler>
(gdb) p rtsp_connection->parser
Cannot access memory at address 0x17e0c7d0

Original issue reported on code.google.com by cmrie...@gmail.com on 14 Jan 2010 at 9:01

GoogleCodeExporter commented 8 years ago
This issue links with the FreeSWITCH ticket:

http://jira.freeswitch.org/browse/MODAPP-386

Original comment by cmrie...@gmail.com on 14 Jan 2010 at 9:06

GoogleCodeExporter commented 8 years ago
Attaching trace log

Original comment by cmrie...@gmail.com on 14 Jan 2010 at 9:25

Attachments:

GoogleCodeExporter commented 8 years ago
Thanks for the detailed description.
I've got it and indeed bad things happen there.

It seems the issue has existed for a while, but showed up only recently. This 
is the
result of the change I proposed to terminate session without removing channel 
first.
Only this scenario is affected.

I'll try to fix it later today.

Original comment by achalo...@gmail.com on 15 Jan 2010 at 11:26

GoogleCodeExporter commented 8 years ago
Fixed in r1400.

Original comment by achalo...@gmail.com on 15 Jan 2010 at 4:51

GoogleCodeExporter commented 8 years ago
Thanks, Arsen.  I'll update and give it a try.

Original comment by cmrie...@gmail.com on 15 Jan 2010 at 6:50

GoogleCodeExporter commented 8 years ago
Ran a 3000 call test with no troubles.  Thanks for the quick fix!

Chris

Original comment by cmrie...@gmail.com on 15 Jan 2010 at 9:58