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

Re: [ns] TcpApp, problem killing agents



ok I have more. in TcpApp::recv :
               
		process_data(curdata_->size(), curdata_->data());
                // Then cleanup this data transmission
                delete curdata_;
                curdata_ = NULL;
                curbytes_ = 0;
                
when *returning* from process_data; curdata_ has a NULL value wich causes the 
"delete curdata_" to fail and sigsev. 


>Date: Mon, 31 Jul 2000 13:58:18 -0400 (EDT)
>From: Tarik Alj <[email protected]>
>Subject: Re: [ns] TcpApp, problem killing agents
>To: [email protected]
>Cc: [email protected]
>MIME-Version: 1.0
>Content-MD5: LA5syzzknP8gZAriLTP2iw==
>
>
>>Date: Mon, 31 Jul 2000 10:34:46 -0700 (PDT)
>>From: Haobo Yu <[email protected]>
>>To: Tarik Alj <[email protected]>
>>cc: [email protected]
>>Subject: Re: [ns] TcpApp, problem killing agents
>>MIME-Version: 1.0
>>
>>Can you describe it in more detail, perhaps give a stack trace?
>>TcpApp::process_data() simply returns if given a NULL data pointer so I
>>don't see why it should core dump there. Thanks.
>
>there goes the (partial) stack trace :
>
>#0  0x8119f48 in CBuf::~CBuf ()
>(gdb) bt
>#0  0x8119f48 in CBuf::~CBuf ()
>#1  0x809ed1c in TcpApp::recv ()
>#2  0x805f84b in Agent::recvBytes ()
>#3  0x806daa1 in FullTcpAgent::recv ()
>#4  0x8054e5f in Classifier::recv ()
>#5  0x8054e5f in Classifier::recv ()
>#6  0x80532d3 in Connector::send ()
>#7  0x80540a6 in Trace::recv ()
>#8  0x80532d3 in Connector::send ()
>#9  0x8107251 in TTLChecker::recv ()
>#10 0x804f419 in NsObject::handle ()
>#11 0x804d274 in Scheduler::dispatch ()
>#12 0x804d29d in Scheduler::dispatch ()
>#13 0x804d1de in Scheduler::run ()
>#14 0x804d389 in Scheduler::command ()
>...
>
>apparently the cbuf is null.
>
> 
>What happens is: when the Terminal completes it sends a callback to the Gateway 
>via a tcp connection, in turn the Gateway kills it connection; basically just 
>like Http/Client disconnect { server }, in tcl/webcache/http-agent.tcl. 
>Apparently it panics when "... proc done ..." is called. But if I take away the 
>call to "close()" it works fine (or so it seems).
>
>Thanks for taking the time,
>
>Tarik.
>
>>
>>On Mon, 31 Jul 2000, Tarik Alj wrote:
>>
>>> Date: Mon, 31 Jul 2000 11:53:59 -0400 (EDT)
>>> From: Tarik Alj <[email protected]>
>>> To: [email protected]
>>> Subject: [ns] TcpApp, problem killing agents
>>> 
>>> Hi,
>>> 
>>> 	I am working on a h323 model for NS that is loosely based on the 
>>> webcache model. I have a problem killing TCP connections : I have one agent 
>send 
>>> the other via a TcpApp a "stop-session" request; the instproc stop-session 
>kills 
>>> the tcp connections and a sigsev happens. It seems that process_data is 
>called 
>>> with a null pointer (the data...) wich makes the program core dump. 
>>> 	Has anybody experienced the same sort of problem? Or is interested by 
>>> such a problem...
>>> 	Thanks,
>>> 	
>>> Tarik 

Tarik