memory corruption in conf bridge?

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

 



Hi,

I see a crash in pjsip which isn't easy to reproduce. I ran an instance with 
windbg attached and got this trace.


04abfee8 10080e0e sipPhone!sink_put_frame(struct pjmedia_port * this_port = 
<Memory access error>, struct pjmedia_frame * frame = <Memory access 
error>)+0x6b 
[d:\pjsip7_latest\src\pjsip\pjmedia\src\pjmedia\mediaprocessor_port.c @ 847]
04abff20 100810a4 sipPhone!write_port(struct pjmedia_conf * conf = 
0x034eb06c, struct conf_port * cport = 0x0491e00c, union pj_timestamp * 
timestamp = <Memory access error>, pjmedia_frame_type * frm_type = <Memory 
access error>)+0x31e 
[d:\pjsip7_latest\src\pjsip\pjmedia\src\pjmedia\conference.c @ 1433]
04abff54 10087989 sipPhone!get_frame(struct pjmedia_port * this_port = 
0x00000012, struct pjmedia_frame * frame = 0x047e85ec)+0x264 
[d:\pjsip7_latest\src\pjsip\pjmedia\src\pjmedia\conference.c @ 1807]
04abff88 1008b72e sipPhone!clock_callback(union pj_timestamp * ts = 
0x1001493b, void * user_data = 0x04818528)+0xb9 
[d:\pjsip7_latest\src\pjsip\pjmedia\src\pjmedia\master_port.c @ 173]
04abffa8 1001493b sipPhone!clock_thread(void * arg = 0x04818528)+0xde 
[d:\pjsip7_latest\src\pjsip\pjmedia\src\pjmedia\clock_thread.c @ 252]
04abffb4 7c80b6a3 sipPhone!thread_main(void * param = 0x00000000)+0x4b 
[d:\pjsip7_latest\src\pjsip\pjlib\src\pj\os_core_win32.c @ 373]
04abffec 00000000 kernel32!BaseThreadStart+0x37

sink_put_frame() is my custom function where I perform answering machine 
detection.

Watch for cport (argument in write_port) gave this-

dt cport
Local var @ 0 Type conf_port*
   +0x000 name             : pj_str_t
   +0x008 port             : ????
   +0x00c rx_setting       : ??
   +0x010 tx_setting       : ??
   +0x014 listener_cnt     : ??
   +0x018 listener_slots   : ????
   +0x01c transmitter_cnt  : ??
   +0x020 vad              : ????
   +0x024 clock_rate       : ??
   +0x028 samples_per_frame : ??
   +0x02c tx_level         : ??
   +0x030 rx_level         : ??
   +0x034 tx_adj_level     : ??
   +0x038 rx_adj_level     : ??
   +0x03c rx_resample      : ????
   +0x040 tx_resample      : ????
   +0x044 rx_buf           : ????
   +0x048 rx_buf_cap       : ??
   +0x04c rx_buf_count     : ??
   +0x050 mix_adj          : ??
   +0x054 last_mix_adj     : ??
   +0x058 mix_buf          : ????
   +0x05c tx_buf           : ????
   +0x060 tx_buf_cap       : ??
   +0x064 tx_buf_count     : ??
   +0x068 tx_heart_beat    : ??
   +0x06c delay_buf        : ????
Memory read error 0491e078

Dump for this memory location gave nothing.

Dump for variable this_port (argument for get_frame) returned:

dt this_port
Local var @ 0x4855040 Type pjmedia_port*
0x00000012
   +0x000 info             : pjmedia_port_info
   +0x038 port_data        : port_data
   +0x040 put_frame        : ????
   +0x044 get_frame        : ????
   +0x048 on_destroy       : ????
Memory read error 0000005a

It seems like memory corruption to me but can't figure out why and where. 
Any pointers on this? Please let me know if you need more information.

Btw, I am at rev 1846.

Thanks,
Anshuman




[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux