[reSIProcate] DUM: Access violation when running Resip Stack on its own thread.
Prasad Mahendra
prasad.mahendra at sipphone.com
Thu Apr 14 15:11:56 CDT 2005
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=0xfeeefeee, 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20050414/d1046f72/attachment.htm>
More information about the resiprocate-devel
mailing list