freeMXF.org
http://freemxf.org/forum/

mxflib crash on DLL exit
http://freemxf.org/forum/viewtopic.php?f=2&t=90
Page 1 of 1

Author:  Thomi [ Thu Aug 09, 2007 12:54 pm ]
Post subject:  mxflib crash on DLL exit

Hi There,

I'm trying to integrate mxflib into my project. I'm accessing the library from multiple threads, but the access itself is serialised using a critical section. Is it safe to assume that mxflib is re-entrant?

Basically, my problem is that on application exit mxflib crashes.. the stack trace looks like this:

Code:
mxflib::SmartPtr<mxflib::MDOType>::__Assign(mxflib::IRefCount<mxflib::MDOType> * 0x00000000) line 417 + 16 bytes
mxflib::SmartPtr<mxflib::MDOType>::~SmartPtr<mxflib::MDOType>() line 445
mxflib::SmartPtr<mxflib::MDOType>::`scalar deleting destructor'(unsigned int 0) + 37 bytes
std::_Destroy(mxflib::SmartPtr<mxflib::MDOType> * 0x0360f0e8) line 38 + 19 bytes
std::allocator<mxflib::SmartPtr<mxflib::MDOType> >::destroy(mxflib::SmartPtr<mxflib::MDOType> * 0x0360f0e8) line 68 + 23 bytes
std::list<mxflib::SmartPtr<mxflib::MDOType>,std::allocator<mxflib::SmartPtr<mxflib::MDOType> > >::erase(std::list<mxflib::SmartPtr<mxflib::MDOType>,std::allocator<mxflib::SmartPtr<mxflib::MDOType> > >::iterator {...}) line 239
std::list<mxflib::SmartPtr<mxflib::MDOType>,std::allocator<mxflib::SmartPtr<mxflib::MDOType> > >::erase(std::list<mxflib::SmartPtr<mxflib::MDOType>,std::allocator<mxflib::SmartPtr<mxflib::MDOType> > >::iterator {...}, std::list<mxflib::SmartPtr<mxflib::MDOType>,std::allocator<mxflib::SmartPtr<mxflib::MDOType> > >::iterator {...}) line 244 + 29 bytes
std::list<mxflib::SmartPtr<mxflib::MDOType>,std::allocator<mxflib::SmartPtr<mxflib::MDOType> > >::~list<mxflib::SmartPtr<mxflib::MDOType>,std::allocator<mxflib::SmartPtr<mxflib::MDOType> > >() line 152
$E1753() + 42 bytes
_CRT_INIT(void * 0x02dd0000, unsigned long 0, void * 0x00000001) line 236
_DllMainCRTStartup(void * 0x02dd0000, unsigned long 0, void * 0x00000001) line 289 + 17 bytes
NTDLL! 7c9011a7()
NTDLL! 7c923f31()
KERNEL32! 7c81cd76()
KERNEL32! 7c81cdee()
doexit(int 0, int 0, int 0) line 392
exit(int 0) line 279 + 13 bytes
WinMainCRTStartup() line 345
KERNEL32! 7c816fd7()


The crash is in "mxflib\mxflib\smartptr.h", line 417.

I'm compiling under windows XP SP2, using VC++ ver 6.

I'm not sure if this is soemthing I'm doing - I've been prettuy careful about multi-threading issues.

Are there any gotchyas I should be aware about when attempting this kind of think with mxflib?

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/