< Previous by Date | Date Index | Next by Date > |
Thread Index |
Resip Team,
When I run the stack in its own thread (calling
dum->run() ) the stack blows up after a minute or two of
operation.
The stack breaks at the following location (call
stack from VC++ 7):
msvcr71d.dll!memcpy(unsigned char *
dst=0x00000000, unsigned char * src="" unsigned long
count=4277075694) Line 171 Asm
resip::Data::Data(const resip::Data & data="" Line 204 + 0x23 C++ resip::TimerQueue::process() Line 157 + 0x63 C++ resip::TransactionController::process(resip::FdSet & fdset={...}) Line 82 + 0x17 C++ resip::SipStack::process(resip::FdSet & fdset={...}) Line 415 C++ resip::DialogUsageManager::process(resip::FdSet & fdset={...}) Line 1041 C++ UAThreadRunner::thread() Line 35 C++ threadWrapper(void * threadParm=0x0a9df238) Line 33 + 0xd C++ (A thread in the
application)
---
calls ---
dum->process()
...
...
...
...
TimerQueue::process
--- calls ---
mFifo.add( new
TimerMessage(i-> ... )
);
// <----------------- breaks here.
Looks like Data constructor on new TimerMessage's
first argument (Data object pass by value) is being called with
invalid data and causing memcpy to a NULL pointer (data.mSize value on the
debugger is 4xxxxxxxxx!!!! thats 4GB!)
Any thoughts on what is happening
here?
My previously reported problem: where DUM fails to
send a cancel still persists. I'll try to build a small application to reproduce
this issue and send it to you soon.
--prasad.
|