[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