Vishal Phirke | 16 Jun 2005 15:58
Picon

Re: problem in the ooh323c stak

Hi Aonzo,
Thanks for the inputs. Here are my comments:
Case 1: Remote endpoint crashes. I will try to test this scenario. Can
you provide me detailed log for this case, if you could reproduce it
very easily.
Case 2: It won't cause a memory leak. The memAlloc function uses
context to allocate memory. And even if you loose the reference to
memory, the context always owns that memory. Hence, when call is
cleared, that memory will be cleared too with the context.
I have ran valgrind on 0.7 release and there are no memory leaks reported. 
Case 3. Should be an || condition and not &&. Will fix that.

Regards,
Vishal

On 6/16/05, Aonzo Emanuele <Emanuele.Aonzo <at> elsag.it> wrote:
>  
>  
> 
> Hi, I'm testing ooh323c v0.7 and I've found this problem: 
> 
>   
> 
> If you call with "simple" a remote h.323ep and this process crash the
> "simple" makes an infinite loop, it can't make other calls and write a lot
> of error logs like this: 
> 
>   
> 
> . 
> 
> 14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H245 message (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44
> (outgoing 
> 
> , ooh323c_6) 
> 
> 14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H245 message (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44
> (outgoing 
> 
> , ooh323c_6) 
> 
> 14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H245 message (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44
> (outgoing 
> 
> , ooh323c_6) 
> 
> 14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H245 message (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44
> (outgoing 
> 
> , ooh323c_6) 
> 
> 14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H245 message (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44
> (outgoing 
> 
> .. 
> 
>   
> 
> The log file grows very fast and fills the entire hard disk, my "simple.log"
> for example became 870 Mb in a little time. 
> 
>   
> 
> Another question: I see in oocapability.c various instructions like this: 
> 
>   
> 
>          epCap = (ooH323EpCapability*)memAlloc(call->pctxt,
> 
>                                                 
> sizeof(ooH323EpCapability)); 
> 
>          params
> =(OOGSMCapParams*)memAlloc(call->pctxt,sizeof(OOGSMCapParams));
> 
>          if(!epCap || !params) 
> 
>          { 
> 
>             OOTRACEERR3("Error:Memory - ooIsAudioDataTypeGSMSupported - " 
> 
>                         "epCap/params (%s, %s)\n", call->callType, 
> 
>                         call->callToken); 
> 
>             return NULL; 
> 
>          } 
> 
>   
> 
> If a memalloc() fails and the other is good the pointer is lost with memory
> leak. 
> 
>   
> 
>       epCap = (ooH323EpCapability*)memAlloc(call->pctxt, 
> 
>                                                  
> sizeof(ooH323EpCapability)); 
> 
>       params = (OOH263CapParams*) memAlloc(call->pctxt, 
> 
>                                                      
> sizeof(OOH263CapParams)); 
> 
>       if(!epCap && !params) 
> 
>       { 
> 
>          OOTRACEERR3("Error:Memory - ooIsVideoDataTypeH263Supported - " 
> 
>                      "epCap/params. (%s, %s)\n", call->callType, 
> 
>                      call->callToken); 
> 
>          return NULL; 
> 
>       } 
> 
>       epCap->params = params; 
> 
>   
> 
> but if epCap is NULL epCap->params can crash. 
> 
>   
> 
> Regards, 
> 
> Emanuele 
> 
>   
> 
>   
> 
>   
> 
>   
>

>
HS^隊X'u(j̋{2(+jب+kjנb"^Z0Flڊm~jZ؜"+bmƬƧvj+xgzbwv z۩)y_jalgri؝;eȝ^j)b

Gmane