Exceptions when using ICE functionalities

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

 



Hi again

Now I am experiencing very frequently the exception #2, which happens 
when, in sess_init_update, one of ice_st's components is NULL.
This even happens in the beggining, in caller before the initial offer 
(when ICE procedures are starting). As you can see in the capture, only 
a STUN binding request and its answer were captured.
As can be seen in the log, I printed ice_st's components, and they don't 
seem to be changed in the call stack (you can see the complete call 
stack below).
We can see that ice_st's comp[0] is not NULL, but ice_st's comp[1] is 
NULL since on_request_complete

 18:52:56.245    stun_sock.c pandre-dbg comp=15C7BC0C i=0 on 
sess_on_request_complete
 18:52:56.266    stun_sock.c pandre-dbg comp=00000000 i=1 on 
sess_on_request_complete
 18:52:56.307   ice_strans.c pandre-dbg comp=15C7BC0C i=0 on 
stun_on_status(1)
 18:52:56.337   ice_strans.c pandre-dbg comp=00000000 i=1 on 
stun_on_status(1)
 18:52:56.418   ice_strans.c pandre-dbg comp=15C7BC0C i=0 on stun_on_status
 18:52:56.457   ice_strans.c pandre-dbg comp=00000000 i=1 on stun_on_status
 18:52:56.488   ice_strans.c pandre-dbg comp=15C7BC0C i=0 on 
sess_init_update
 18:52:56.514   ice_strans.c pandre-dbg comp=00000000 i=1 on 
sess_init_update

 From previous runs I know that some components can be NULL, but then 
they get some value.
In this case, they keep the NULL value until sess_init_update is called.
Is there something missing?
I don't know why this happens, nor do I know how to solve this issue, 
despite my efforts.

Best Regards
Pedro Gon?alves


Complete call stack:
 >    PCCommunicator.exe!sess_init_update(pj_ice_strans * 
ice_st=0x15b52c5c)  Line 547 + 0x18 bytes    C
     PCCommunicator.exe!stun_on_status(pj_stun_sock * 
stun_sock=0x15c7fe0c, 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=0x15c8783c, int status=0, void * token=0x00000001, pj_stun_tx_data 
* tdata=0x15ca1c5c, const pj_stun_msg * response=0x15c9fc5c, const void 
* src_addr=0x15c81e9c, unsigned int src_addr_len=16)  Line 706 + 0x14 
bytes    C
     PCCommunicator.exe!stun_tsx_on_complete(pj_stun_client_tsx * 
tsx=0x15ca3f44, int status=0, const pj_stun_msg * response=0x15c9fc5c, 
const void * src_addr=0x15c81e9c, unsigned int src_addr_len=16)  Line 
424 + 0x29 bytes    C
     PCCommunicator.exe!pj_stun_client_tsx_on_rx_msg(pj_stun_client_tsx 
* tsx=0x15ca3f44, const pj_stun_msg * msg=0x15c9fc5c, const void * 
src_addr=0x15c81e9c, unsigned int src_addr_len=16)  Line 395 + 0x1e 
bytes    C
     PCCommunicator.exe!on_incoming_response(pj_stun_session * 
sess=0x15c8783c, unsigned int options=5, const unsigned char * 
pkt=0x15c8380c, unsigned int pkt_len=88, pj_stun_msg * msg=0x15c9fc5c, 
const void * src_addr=0x15c81e9c, unsigned int src_addr_len=16)  Line 
1189 + 0x18 bytes    C
     PCCommunicator.exe!pj_stun_session_on_rx_pkt(pj_stun_session * 
sess=0x15c8783c, const void * packet=0x15c8380c, unsigned int 
pkt_size=88, unsigned int options=1, void * token=0x00000000, unsigned 
int * parsed_len=0x00000000, const void * src_addr=0x15c81e9c, unsigned 
int src_addr_len=16)  Line 1416 + 0x21 bytes    C
     PCCommunicator.exe!on_data_recvfrom(pj_activesock_t * 
asock=0x15c7ffb8, void * data=0x15c8380c, unsigned int size=88, const 
void * src_addr=0x15c81e9c, int addr_len=16, int status=0)  Line 817 + 
0x25 bytes    C
     PCCommunicator.exe!ioqueue_on_read_complete(pj_ioqueue_key_t * 
key=0x08b458d4, pj_ioqueue_op_key_t * op_key=0x15c81e0c, long 
bytes_read=88)  Line 341 + 0x38 bytes    C
     PCCommunicator.exe!ioqueue_dispatch_read_event(pj_ioqueue_t * 
ioqueue=0x0da80928, pj_ioqueue_key_t * h=0x08b458d4)  Line 549 + 0x16 
bytes    C
     PCCommunicator.exe!pj_ioqueue_poll(pj_ioqueue_t * 
ioqueue=0x0da80928, const pj_time_val * timeout=0x0dd3fcac)  Line 763 + 
0x17 bytes    C
     PCCommunicator.exe!pjsip_endpt_handle_events2(pjsip_endpoint * 
endpt=0x0b9c705c, const pj_time_val * max_timeout=0x0dd3fe7c, unsigned 
int * p_count=0x00000000)  Line 694 + 0x10 bytes    C
     PCCommunicator.exe!pjsip_endpt_handle_events(pjsip_endpoint * 
endpt=0x0b9c705c, const pj_time_val * max_timeout=0x0dd3fe7c)  Line 721 
+ 0xf bytes    C
     PCCommunicator.exe!EventHandler(void * __formal=0x00000000)  Line 
630 + 0x16 bytes    C++
     PCCommunicator.exe!thread_main(void * param=0x08af5e7c)  Line 413 + 
0x11 bytes    C









Benny Prijono wrote:
> On Wed, Aug 6, 2008 at 11:42 AM, Pedro Gon?alves 
> <pedro.pandre at gmail.com <mailto:pedro.pandre at gmail.com>> wrote:
>
>     Benny Prijono wrote:
>
>         On Tue, Aug 5, 2008 at 6:20 PM, Pedro Gon?alves
>         <pedro.pandre at gmail.com <mailto:pedro.pandre at gmail.com>
>         <mailto:pedro.pandre at gmail.com
>         <mailto: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
>
>
>     About the other issues (the ones you told in the other thread, I
>     moved the stream destruction to on_media_update(), but these
>     problems persist (these problems happen in the answerer).
>
>
> Is the problem still with stream not being closed? So what do you 
> exactly do in on_media_update()? And is on_media_update() called? And 
> do you close the stream when the call is disconnected? A snippet will 
> help.
>
> And lets discuss this on separate/the other thread please.
>
>  
>
>     About 1), the failing assert, it happens after initial offer /
>     answer, but before the subsequent offer, during ICE negotiation
>     (more specifically, during ICE connectivity checks).
>
>     I've included both the application log and the capture I made
>     during the exception.
>
>     I can reproduce this behaviour at any time, so if there is
>     something I can do to help us debug this issue, just ask.
>
>     I've added some debug information in some PJSIP files, in order to
>     help me understand the problem. As you can see in the end of the
>     log, the assert problem seems to come from somewhere before
>     pj_stun_session_on_rx_pkt, is it not?
>     11:19:15.375 stun_session.c pandre-dbg tdata=339762268
>     check->tdata=338037852 on pj_stun_session_on_rx_pkt ckid=0
>     11:19:15.687 stun_session.c pandre-dbg tdata=339762268
>     check->tdata=338037852 on on_incoming_response ckid=0
>     11:19:16.292 stun_session.c pandre-dbg tdata=339762268
>     check->tdata=338037852 on stun_tsx_on_complete(1)
>     11:19:16.335 stun_session.c pandre-dbg tdata=339762268
>     check->tdata=338037852 on stun_tsx_on_complete(2)
>
>
> Unfortunately I didn't see the messages (above) in the log, probably 
> because the file has not completely been written when the assertion 
> occurs. When the "pj_assert(tdata == check->tdata)" assertion occurs, 
> does "check->tdata" contain a value, or is it NULL?
>
> Cheers
>  Benny
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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 embedded and charset-unspecified text was scrubbed...
Name: compNULL.txt
Url: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080806/4425dfe5/attachment-0001.txt 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: compNULL.pcap
Type: application/octet-stream
Size: 472 bytes
Desc: not available
Url : http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080806/4425dfe5/attachment-0001.obj 


[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