linphone-developers
[Top][All Lists]
Advanced

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

Re: [Linphone-developers] /0 bug in ortp


From: Simon Morlat
Subject: Re: [Linphone-developers] /0 bug in ortp
Date: Wed, 25 May 2011 10:43:35 +0200

Hi Yuri,

This is very surprising. It sounds like the PayloadType contents is
corrupted, however I have no idea why. It is certainly related to
something bad that occured before this crash.
Would you please send me a full linphone log ?

Regards,

Simon

Le lundi 23 mai 2011 à 23:04 +0300, Yuri Arabadji a écrit :
> Hello.
> 
> Yep.
> 
> Program received signal SIGFPE, Arithmetic exception.
> [Switching to Thread 0x7fffe7fff700 (LWP 6423)]
> 0x00007ffff775e9e6 in jitter_control_set_payload (ctl=0x88b480, pt=0x9f36d0) 
> at jitterctl.c:62
> 62              ctl->corrective_step=(160 * 8000 )/pt->clock_rate; /* This 
> formula got to me after some beers */
> 
> (gdb) bt
> #0  0x00007ffff775e9e6 in jitter_control_set_payload (ctl=0x88b480, 
> pt=0x9f36d0) at jitterctl.c:62
> #1  0x00007ffff77595c8 in payload_type_changed (session=0x88af00, 
> pt=0x9f36d0) at rtpsession.c:49
> #2  0x00007ffff775a69c in rtp_session_update_payload_type (session=0x88af00, 
> paytype=112) at rtpsession.c:608
> #3  0x00007ffff77592ab in rtp_session_rtp_parse (session=0x88af00, 
> mp=0x7fffe8005500, local_str_ts=127680, addr=0x7fffe7ffec60, addrlen=16) at 
> rtpparse.c:200
> #4  0x00007ffff775e480 in rtp_session_rtp_recv (session=0x88af00, 
> user_ts=127680) at rtpsession_inet.c:992
> #5  0x00007ffff775af9e in rtp_session_recvm_with_ts (session=0x88af00, 
> user_ts=127680) at rtpsession.c:1006
> #6  0x00007ffff7987368 in ?? () from /usr/lib/libmediastreamer.so.1
> #7  0x00007ffff79847f6 in ms_filter_process () from 
> /usr/lib/libmediastreamer.so.1
> #8  0x00007ffff798553f in ?? () from /usr/lib/libmediastreamer.so.1
> #9  0x00007ffff79855c8 in ?? () from /usr/lib/libmediastreamer.so.1
> #10 0x00007ffff79859bf in ms_ticker_run () from /usr/lib/libmediastreamer.so.1
> #11 0x00007ffff5db4537 in start_thread () from /lib/libpthread.so.0
> #12 0x00007ffff5b247bd in clone () from /lib/libc.so.6
> 
> (gdb) p *ctl
> $1 = {count = 0, jitt_comp = 60, jitt_comp_ts = 0, adapt_jitt_comp_ts = 1920, 
> slide = 0, prev_slide = 0, jitter = 0, olddiff = 0, inter_jitter = 0, 
> corrective_step = 40, corrective_slide = 0, 
>   adaptive = 1 '\001', enabled = 1 '\001'}
> (gdb) p *pt
> $2 = {type = 8871712, clock_rate = 0, bits_per_sample = -16 '\360', 
> zero_pattern = 0x7ffff62de540 "\320", <incomplete sequence \317>, 
> pattern_length = 1, normal_bitrate = 0, mime_type = 0x65d7d0 "", 
>   channels = 0, recv_fmtp = 0xac <Address 0xac out of bounds>, send_fmtp = 
> 0x0, flags = 8131472, user_data = 0x0}
> (gdb) f 1
> #1  0x00007ffff77595c8 in payload_type_changed (session=0x88af00, 
> pt=0x9f36d0) at rtpsession.c:49
> 49              jitter_control_set_payload(&session->rtp.jittctl,pt);
> (gdb) p *session
> $3 = {next = 0x0, mask_pos = 0, snd = {profile = 0x9f3140, pt = 99, ssrc = 
> 1240024518, wp = {lock = {__data = {__lock = 0, __count = 0, __owner = 0, 
> __nusers = 0, __kind = 0, __spins = 0, __list = {
>             __prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, 
> __align = 0}, cond = {__data = {__lock = 0, __futex = 0, __total_seq = 0, 
> __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x0, 
>           __nwaiters = 0, __broadcast_seq = 0}, __size = '\000' <repeats 47 
> times>, __align = 0}, time = 0, wakeup = 0 '\000'}, telephone_events_pt = 
> -1}, rcv = {profile = 0x9f3140, pt = 99, 
>     ssrc = 3730246695, wp = {lock = {__data = {__lock = 0, __count = 0, 
> __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, 
> __next = 0x0}}, __size = '\000' <repeats 39 times>, 
>         __align = 0}, cond = {__data = {__lock = 0, __futex = 0, __total_seq 
> = 0, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x0, __nwaiters = 0, 
> __broadcast_seq = 0}, __size = '\000' <repeats 47 times>, 
>         __align = 0}, time = 0, wakeup = 0 '\000'}, telephone_events_pt = 
> -1}, inc_ssrc_candidate = 0, inc_same_ssrc_count = 0, hw_recv_pt = 112, 
> recv_buf_size = 1500, on_ssrc_changed = {callback = {
>       0x7ffff775bd09 <rtp_session_resync>, 0, 0, 0, 0}, user_data = {0, 0, 0, 
> 0, 0}, session = 0x88af00, signal_name = 0x7ffff776c1ac "ssrc_changed", count 
> = 1}, on_payload_type_changed = {callback = {
>       0x7ffff79914cd, 0, 0, 0, 0}, user_data = {8375392, 0, 0, 0, 0}, session 
> = 0x88af00, signal_name = 0x7ffff776c1b9 "payload_type_changed", count = 1}, 
> on_telephone_event_packet = {callback = {0, 0, 0, 
>       0, 0}, user_data = {0, 0, 0, 0, 0}, session = 0x88af00, signal_name = 
> 0x7ffff776c1de "telephone-event_packet", count = 0}, on_telephone_event = 
> {callback = {0x7ffff7990a24, 0, 0, 0, 0}, user_data = {
>       8375392, 0, 0, 0, 0}, session = 0x88af00, signal_name = 0x7ffff776c1ce 
> "telephone-event", count = 1}, on_timestamp_jump = {callback = 
> {0x7ffff775bd09 <rtp_session_resync>, 0, 0, 0, 0}, user_data = {
>       0, 0, 0, 0, 0}, session = 0x88af00, signal_name = 0x7ffff776c1f5 
> "timestamp_jump", count = 1}, on_network_error = {callback = {0, 0, 0, 0, 0}, 
> user_data = {0, 0, 0, 0, 0}, session = 0x88af00, 
>     signal_name = 0x7ffff776c204 "network_error", count = 0}, on_rtcp_bye = 
> {callback = {0, 0, 0, 0, 0}, user_data = {0, 0, 0, 0, 0}, session = 0x88af00, 
> signal_name = 0x7ffff776c212 "rtcp_bye", 
>     count = 0}, signal_tables = 0x88b900, eventqs = 0x86fe10, allocator = {q 
> = {_q_stopper = {b_prev = 0x7fffe8006e70, b_next = 0x7fffe8006e70, b_cont = 
> 0x0, b_datap = 0x0, b_rptr = 0x0, b_wptr = 0x0, 
>         reserved1 = 0, reserved2 = 0}, q_mcount = 1}}, rtp = {socket = 13, tr 
> = 0x0, sockfamily = 2, max_rq_size = 100, time_jump = 5000, ts_jump = 160000, 
> rq = {_q_stopper = {b_prev = 0x88b358, 
>         b_next = 0x88b358, b_cont = 0x0, b_datap = 0x0, b_rptr = 0x0, b_wptr 
> = 0x0, reserved1 = 0, reserved2 = 0}, q_mcount = 0}, tev_rq = {_q_stopper = 
> {b_prev = 0x88b398, b_next = 0x88b398, b_cont = 0x0, 
>         b_datap = 0x0, b_rptr = 0x0, b_wptr = 0x0, reserved1 = 0, reserved2 = 
> 0}, q_mcount = 0}, cached_mp = 0x7fffe8005500, loc_port = 7080, rem_addr = 
> {ss_family = 2, __ss_align = 0, 
>       __ss_padding = '\000' <repeats 111 times>}, rem_addrlen = 16, QoSHandle 
> = 0x0, QoSFlowID = 0, jittctl = {count = 0, jitt_comp = 60, jitt_comp_ts = 0, 
> adapt_jitt_comp_ts = 1920, slide = 0, 
>       prev_slide = 0, jitter = 0, olddiff = 0, inter_jitter = 0, 
> corrective_step = 40, corrective_slide = 0, adaptive = 1 '\001', enabled = 1 
> '\001'}, snd_time_offset = 0, snd_ts_offset = 1280, 
>     snd_rand_offset = 0, snd_last_ts = 128000, rcv_time_offset = 0, 
> rcv_ts_offset = 0, rcv_query_ts_offset = 0, rcv_last_ts = 0, rcv_last_app_ts 
> = 127680, rcv_last_ret_ts = 0, hwrcv_extseq = 1, 
>     hwrcv_seq_at_last_SR = 0, hwrcv_since_last_SR = 1, last_rcv_SR_ts = 0, 
> last_rcv_SR_time = {tv_sec = 0, tv_usec = 0}, snd_seq = 199, 
> last_rtcp_report_snt_r = 0, last_rtcp_report_snt_s = 0, 
>     rtcp_report_snt_interval = 160000, last_rtcp_packet_count = 0, 
> sent_payload_bytes = 12736, sent_bytes = 832, send_bw_start = {tv_sec = 
> 1306180584, tv_usec = 9856}, recv_bytes = 0, recv_bw_start = {
>       tv_sec = 0, tv_usec = 0}, stats = {packet_sent = 199, sent = 15124, 
> recv = 0, hw_recv = 122, packet_recv = 1, unavaillable = 399, outoftime = 0, 
> cum_packet_loss = 0, bad = 0, discarded = 0}, 
>     recv_errno = 0, send_errno = 0, snd_socket_size = 0, rcv_socket_size = 0, 
> ssrc_changed_thres = 0}, rtcp = {socket = 14, sockfamily = 2, tr = 0x0, 
> cached_mp = 0x7fffe8009320, rem_addr = {ss_family = 2, 
>       __ss_align = 0, __ss_padding = '\000' <repeats 111 times>}, rem_addrlen 
> = 16, enabled = 1 '\001'}, mode = RTP_SESSION_SENDRECV, sched = 0x0, flags = 
> 1, dscp = 0, multicast_ttl = 5, 
>   multicast_loopback = 0, user_data = 0x0, last_recv_time = {tv_sec = 
> 1306180584, tv_usec = 149949}, pending = 0x0, current_tev = 0x0, sd = 
> 0x9f7d60, contributing_sources = {_q_stopper = {
>       b_prev = 0x88b6a0, b_next = 0x88b6a0, b_cont = 0x0, b_datap = 0x0, 
> b_rptr = 0x0, b_wptr = 0x0, reserved1 = 0, reserved2 = 0}, q_mcount = 0}, 
> symmetric_rtp = 1 '\001', permissive = 0 '\000', 
>   use_connect = 0 '\000', ssrc_set = 1 '\001'}
> (gdb) f 2
> #2  0x00007ffff775a69c in rtp_session_update_payload_type (session=0x88af00, 
> paytype=112) at rtpsession.c:608
> 608                     payload_type_changed(session,pt);
> (gdb) f 3
> #3  0x00007ffff77592ab in rtp_session_rtp_parse (session=0x88af00, 
> mp=0x7fffe8005500, local_str_ts=127680, addr=0x7fffe7ffec60, addrlen=16) at 
> rtpparse.c:200
> 200                     rtp_session_update_payload_type(session,rtp->paytype);
> (gdb) p *mp
> $4 = {b_prev = 0x0, b_next = 0x0, b_cont = 0x0, b_datap = 0x7fffe80089b0, 
> b_rptr = 0x7fffe80089d0 "\200\360\001", 
>   b_wptr = 0x7fffe8008a4a 
> "099-192.168.40.72.dialog.cgatepro;lr>\r\nRecord-Route: 
> <sip:192.168.40.72:5060;lr>\r\nRecord-Route: 
> <sip:212.53.40.40:5060;lr>\r\nFrom: 
> <sip:address@hidden>;tag=1187115752\r\nTo: 
> <sip:address@hidden>;tag="..., reserved1 = 0, reserved2 = 0}
> (gdb) p *addr
> $5 = {sa_family = 2, sa_data = "H.\324\065(H\000\000\000\000\000\000\000"}
> 
> 
> Tell me if you need anything else. You can get a free acc from sipnet.ru or I 
> can provide you with one.
> 
> Thanks.
> 
> 
> On Wednesday 18 May 2011, Simon Morlat wrote:
> > HI,
> > 
> > Can you please show the full backtrace ?
> > 
> > 
> > Simon
> > 
> > Le lundi 16 mai 2011 à 16:02 +0300, Yuri Arabadji a écrit :
> > > Hi.
> > >
> > > Here you go:
> > >
> > > Program received signal SIGFPE, Arithmetic exception.
> > > [Switching to Thread 0x7fffe7fff700 (LWP 21846)]
> > > 0x00007ffff775ed7f in jitter_control_set_payload (ctl=0x8afe80,
> > > pt=0xa0f900) at jitterctl.c:62
> > >
> > >
> > > 59 void jitter_control_set_payload(JitterControl *ctl, PayloadType
> > > *pt){
> > >
> > > 60 ctl->jitt_comp_ts =
> > >
> > > 61 (int) (((double) ctl->jitt_comp / 1000.0) * (pt->clock_rate));
> > >
> > > 62 ctl->corrective_step=(160 * 8000 )/pt->clock_rate; /* This formula
> > > got to me after some beers */
> > >
> > > 63 ctl->adapt_jitt_comp_ts=ctl->jitt_comp_ts;
> > >
> > > 64 }
> > >
> > > (gdb) p pt->clock_rate
> > >
> > > $4 = 0
> > >
> > > Happening with speex/32000 and sipnet.ru.
> > >
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]