Exceptions when using ICE functionalities

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

 



On Tue, Aug 5, 2008 at 6:20 PM, Pedro Gon?alves <pedro.pandre at gmail.com>wrote:

> Hi!
>
> With the help from PJSIP list useres, I think I am close to having my
> program to use PJSIP's ICE functionalities 100% correctly.


Not that I'm discouraging you, but I think you've still got some issues to
fix there (as discussed on the other thread). :)

Regarding the crashes below, do you know in what stage did these happen?
E.g. during ICE creation, in the middle of conversation, or during ICE
destroy sequence? We had this bug that looks similar:
http://trac.pjsip.org/repos/ticket/567

Cheers
 Benny




> However, I still have some exceptions, which I enumerate in this mail:
>
> *1)-------------------------------------------------*
> //FILE = ice_session.c
> //METHOD = on_stun_request_complete
> //EXCEPTION = pj_assert(tdata == check->tdata) fails
> stack trace:
>    PCCommunicator.exe!on_stun_request_complete(pj_stun_session *
> stun_sess=0x057a2c9c, int status=0, void * token=0x057a76d8,
> pj_stun_tx_data * tdata=0x057a75fc, const pj_stun_msg *
> response=0x057a34fc, const void * src_addr=0x0579b9d8, unsigned int
> src_addr_len=16)  Line 1766 + 0x24 bytes    C
>     PCCommunicator.exe!stun_tsx_on_complete(pj_stun_client_tsx *
> tsx=0x057a7704, int status=0, const pj_stun_msg * response=0x057a34fc,
> const void * src_addr=0x0579b9d8, unsigned int src_addr_len=16)  Line
> 413 + 0x29 bytes    C
>     PCCommunicator.exe!pj_stun_client_tsx_on_rx_msg(pj_stun_client_tsx
> * tsx=0x057a7704, const pj_stun_msg * msg=0x057a34fc, const void *
> src_addr=0x0579b9d8, unsigned int src_addr_len=16)  Line 395 + 0x1e
> bytes    C
>     PCCommunicator.exe!on_incoming_response(pj_stun_session *
> sess=0x057a2c9c, unsigned int options=1, const unsigned char *
> pkt=0x0579bf6c, unsigned int pkt_len=88, pj_stun_msg * msg=0x057a34fc,
> const void * src_addr=0x0579b9d8, unsigned int src_addr_len=16)  Line
> 1165 + 0x18 bytes    C
>     PCCommunicator.exe!pj_stun_session_on_rx_pkt(pj_stun_session *
> sess=0x057a2c9c, const void * packet=0x0579bf6c, unsigned int
> pkt_size=88, unsigned int options=1, void * token=0x057a1cec, unsigned
> int * parsed_len=0x00000000, const void * src_addr=0x0579b9d8, unsigned
> int src_addr_len=16)  Line 1366 + 0x21 bytes    C
>     PCCommunicator.exe!pj_ice_sess_on_rx_pkt(pj_ice_sess *
> ice=0x057a0e1c, unsigned int comp_id=1, unsigned int transport_id=1,
> void * pkt=0x0579bf6c, unsigned int pkt_size=88, const void *
> src_addr=0x0579b9d8, int src_addr_len=16)  Line 2470 + 0x24 bytes    C
>     PCCommunicator.exe!stun_on_rx_data(pj_stun_sock *
> stun_sock=0x0579b704, void * pkt=0x0579bf6c, unsigned int pkt_len=88,
> const void * src_addr=0x0579b9d8, unsigned int addr_len=16)  Line 1195 +
> 0x2a bytes    C
>     PCCommunicator.exe!on_data_recvfrom(pj_activesock_t *
> asock=0x0579b614, void * data=0x0579bf6c, unsigned int size=88, const
> void * src_addr=0x0579b9d8, int addr_len=16, int status=0)  Line 790 +
> 0x1e bytes    C
>     PCCommunicator.exe!ioqueue_on_read_complete(pj_ioqueue_key_t *
> key=0x0562b494, pj_ioqueue_op_key_t * op_key=0x0579b944, long
> bytes_read=88)  Line 360 + 0x38 bytes    C
>     PCCommunicator.exe!ioqueue_dispatch_read_event(pj_ioqueue_t *
> ioqueue=0x0562ade8, pj_ioqueue_key_t * h=0x0562b494)  Line 550 + 0x16
> bytes    C
>     PCCommunicator.exe!pj_ioqueue_poll(pj_ioqueue_t *
> ioqueue=0x0562ade8, const pj_time_val * timeout=0x05c4fcac)  Line 763 +
> 0x17 bytes    C
>     PCCommunicator.exe!pjsip_endpt_handle_events2(pjsip_endpoint *
> endpt=0x05622eec, const pj_time_val * max_timeout=0x05c4fe7c, unsigned
> int * p_count=0x00000000)  Line 718 + 0x10 bytes    C
>     PCCommunicator.exe!pjsip_endpt_handle_events(pjsip_endpoint *
> endpt=0x05622eec, const pj_time_val * max_timeout=0x05c4fe7c)  Line 745
> + 0xf bytes    C
>     PCCommunicator.exe!EventHandler(void * __formal=0x00000000)  Line
> 547 + 0x16 bytes    C++
>     PCCommunicator.exe!thread_main(void * param=0x05621bbc)  Line 413 +
> 0x11 bytes    C
>
> I can trace back as far as pj_stun_session_on_rx_pkt, and still see that
> the things involved in failing assert already have different values at
> that time.
>
> *2)-------------------------------------------------*
> //FILE = ice_strans.c
> //METHOD = sess_init_update
> //EXCEPTION = comp is NULL (0x00000000)
>    PCCommunicator.exe!sess_init_update(pj_ice_strans *
> ice_st=0x18a21c5c)  Line 547 + 0x18 bytes    C
>     PCCommunicator.exe!stun_on_status(pj_stun_sock *
> stun_sock=0x1c3fbe0c, pj_stun_sock_op op=PJ_STUN_SOCK_BINDING_OP, int
> status=0)  Line 1276 + 0x9 bytes    C
>     PCCommunicator.exe!sess_on_request_complete(pj_stun_session *
> sess=0x1c41583c, int status=0, void * token=0x00000001, pj_stun_tx_data
> * tdata=0x1c419c5c, const pj_stun_msg * response=0x1c417c5c, const void
> * src_addr=0x1c40de9c, unsigned int src_addr_len=16)  Line 706 + 0x14
> bytes    C
>     PCCommunicator.exe!stun_tsx_on_complete(pj_stun_client_tsx *
> tsx=0x18bc8f44, int status=0, const pj_stun_msg * response=0x1c417c5c,
> const void * src_addr=0x1c40de9c, unsigned int src_addr_len=16)  Line
> 420 + 0x29 bytes    C
>     PCCommunicator.exe!pj_stun_client_tsx_on_rx_msg(pj_stun_client_tsx
> * tsx=0x18bc8f44, const pj_stun_msg * msg=0x1c417c5c, const void *
> src_addr=0x1c40de9c, unsigned int src_addr_len=16)  Line 395 + 0x1e
> bytes    C
>     PCCommunicator.exe!on_incoming_response(pj_stun_session *
> sess=0x1c41583c, unsigned int options=5, const unsigned char *
> pkt=0x1c41180c, unsigned int pkt_len=88, pj_stun_msg * msg=0x1c417c5c,
> const void * src_addr=0x1c40de9c, unsigned int src_addr_len=16)  Line
> 1185 + 0x18 bytes    C
>     PCCommunicator.exe!pj_stun_session_on_rx_pkt(pj_stun_session *
> sess=0x1c41583c, const void * packet=0x1c41180c, unsigned int
> pkt_size=88, unsigned int options=1, void * token=0x00000000, unsigned
> int * parsed_len=0x00000000, const void * src_addr=0x1c40de9c, unsigned
> int src_addr_len=16)  Line 1398 + 0x21 bytes    C
>     PCCommunicator.exe!on_data_recvfrom(pj_activesock_t *
> asock=0x1c3fbfb8, void * data=0x1c41180c, unsigned int size=88, const
> void * src_addr=0x1c40de9c, int addr_len=16, int status=0)  Line 817 +
> 0x25 bytes    C
>     PCCommunicator.exe!ioqueue_on_read_complete(pj_ioqueue_key_t *
> key=0x0f26b8d4, pj_ioqueue_op_key_t * op_key=0x1c40de0c, long
> bytes_read=88)  Line 341 + 0x38 bytes    C
>     PCCommunicator.exe!ioqueue_dispatch_read_event(pj_ioqueue_t *
> ioqueue=0x0e880928, pj_ioqueue_key_t * h=0x0f26b8d4)  Line 549 + 0x16
> bytes    C
>     PCCommunicator.exe!pj_ioqueue_poll(pj_ioqueue_t *
> ioqueue=0x0e880928, const pj_time_val * timeout=0x0ddefcac)  Line 763 +
> 0x17 bytes    C
>     PCCommunicator.exe!pjsip_endpt_handle_events2(pjsip_endpoint *
> endpt=0x0e3c705c, const pj_time_val * max_timeout=0x0ddefe7c, unsigned
> int * p_count=0x00000000)  Line 694 + 0x10 bytes    C
>     PCCommunicator.exe!pjsip_endpt_handle_events(pjsip_endpoint *
> endpt=0x0e3c705c, const pj_time_val * max_timeout=0x0ddefe7c)  Line 721
> + 0xf bytes    C
>     PCCommunicator.exe!EventHandler(void * __formal=0x00000000)  Line
> 630 + 0x16 bytes    C++
>     PCCommunicator.exe!thread_main(void * param=0x0c12bf08)  Line 413 +
> 0x11 bytes    C
>
> I can trace the call back to *stun_on_status()* and see that there, if I
> enumerate ice_st's comp, I can see that some of them are already NULL
> (0x00000000).
> If required, I can try trace back in the stack even more and provide any
> required details
>
> Any help on understanding theses issues will be greatly appreciated.
>
> Cheers
> Pedro Gon?alves
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080806/310e6807/attachment-0001.html 


[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