Hi Guys, Its a bit of long shot but I just had a look at the DeleteHandeler code in src/osg/Referenced.cpp and src/osg/DeleteHandler.cpp and noticed a duplicate definition of the DeleteHandlerPointer struct, one in Referenced.cpp, and one in DeleteHandler.cpp. I have removed the duplicate in DeleteHandler.cpp and checked this in.
Could you do an svn update and see if this makes any difference. Robert. On Jan 24, 2008 8:43 AM, amalric alexandre <[EMAIL PROTECTED]> wrote: > Hi Jean-Sébastien > > I got the same problem using VS8, my app crash at exit in > osgdb_freetped.dll. > > It crashes at line : if (getDeleteHandler()) deleteUsingDeleteHandler(); > in osg28-osgd.dll > > I'm using latest freetype lib 2.3.5 > > > > > > > 2008/1/7, Jean-Sébastien Guay <[EMAIL PROTECTED]>: > > > Hello all, > > > > Is anyone else seeing a crash on exit with OSG applications (even > > osgviewer and the examples) under MS VS8.0 when running in the debugger? > > > > To be specific: > > > > * Running in Visual Studio 8.0SP1 > > * Debug configuration > > * Mike's 3rd Party binaries for VS 8.0SP1 > > > > Repro steps: run osgviewer with cow.osg as argument (in debug properties). > > > > A) If you just do some things and exit, no crash on exit. > > B) If you press 's' (or I guess any other text - anything that will > > load osgdb_freetyped.dll to be loaded), and then exit, crash. > > > > Running from the command line does not show any problem. I need to be > > in the debugger for it to show up. > > > > > > The actual message I get is: > > _______________________________________________ > > > > HEAP[osgviewerd.exe]: HEAP: Free Heap block 1d01268 modified at > > 1d11d18 after it was freed > > Windows has triggered a breakpoint in osgviewerd.exe. > > > > This may be due to a corruption of the heap, and indicates a bug in > > osgviewerd.exe or any of the DLLs it has loaded. > > _______________________________________________ > > > > > > The stack trace is: > > _______________________________________________ > > > > ntdll.dll!77212ea8() > > [Frames below may be incorrect and/or missing, no symbols loaded > > for ntdll.dll] > > ntdll.dll!77280c9a() > > ntdll.dll!7724d4c8() > > ntdll.dll!77231d37() > > ntdll.dll!77280f2b() > > ntdll.dll!77281ee4() > > ntdll.dll!77281ec8() > > ntdll.dll!77281ec8() > > ntdll.dll!7724d9fa () > > ntdll.dll!77281ec8() > > ntdll.dll!77231c21() > > ntdll.dll!77281e58() > > ntdll.dll!7724d9fa() > > ntdll.dll!77232033() > > ntdll.dll!77231c21() > > kernel32.dll!76ef7a5e() > > msvcr80d.dll!_free_base(void * pBlock=0x01d01208) Line 109 + 0x13 > bytes C > > msvcr80d.dll!_free_dbg_nolock(void * pUserData=0x01d01228, int > > nBlockUse=1) Line 1388 + 0x9 bytes C++ > > msvcr80d.dll!_free_dbg(void * pUserData=0x01d01228, int > > nBlockUse=1) Line 1220 + 0xd bytes C++ > > msvcr80d.dll!free(void * pUserData=0x01d01228) Line 1178 + 0xb > bytes C++ > > osgdb_freetyped.dll!_FT_New_Memory() + 0xf6 bytes > > osgdb_freetyped.dll!_ft_mem_free() + 0x1c bytes > > osgdb_freetyped.dll!_FT_Remove_Module() + 0x1a6 bytes > > osgdb_freetyped.dll!_FT_Remove_Module() + 0xab bytes > > osgdb_freetyped.dll!_FT_Done_Library() + 0xcf bytes > > osgdb_freetyped.dll!_FT_Done_FreeType() + 0x22 bytes > > osgdb_freetyped.dll!FreeTypeLibrary::~FreeTypeLibrary() Line 61 + > > 0xc bytes C++ > > osgdb_freetyped.dll!FreeTypeLibrary::`scalar deleting destructor'() > > + 0x16 bytes C++ > > > osg27-osgd.dll!osg::Referenced::unref() Line 155 + 0x23 bytes > C++ > > > > > osgdb_freetyped.dll!osg::ref_ptr<FreeTypeLibrary>::~ref_ptr<FreeTypeLibrary>() > Line 30 + 0x24 > > bytes C++ > > osgdb_freetyped.dll!`FreeTypeLibrary::instance'::`2'::`dynamic > > atexit destructor for 's_library''() + 0xd bytes C++ > > osgdb_freetyped.dll!_CRT_INIT(void * hDllHandle=0x08c70000, > > unsigned long dwReason=0, void * lpreserved=0x00000001) Line 420 C > > osgdb_freetyped.dll!__DllMainCRTStartup(void * > > hDllHandle=0x08c70000, unsigned long dwReason=0, void * > > lpreserved=0x00000001) Line 512 + 0x11 bytes C > > osgdb_freetyped.dll!_DllMainCRTStartup(void * > > hDllHandle=0x08c70000, unsigned long dwReason=0, void * > > lpreserved=0x00000001) Line 462 + 0x11 bytes C > > ntdll.dll!7723a604() > > ntdll.dll!7720a303 () > > ntdll.dll!7723602a() > > ntdll.dll!7720a2e2() > > ntdll.dll!7720a38e() > > kernel32.dll!76eed85b() > > msvcr80d.dll!__crtExitProcess(int status=0) Line 684 C > > msvcr80d.dll!doexit (int code=0, int quick=0, int retcaller=0) > Line > > 596 + 0x9 bytes C > > msvcr80d.dll!exit(int code=0) Line 398 + 0xd bytes C > > osgviewerd.exe!__tmainCRTStartup() Line 610 C > > osgviewerd.exe!mainCRTStartup () Line 414 C > > kernel32.dll!76ef381b() > > ntdll.dll!7720a9bd() > > > > ________________________________________________ > > > > > > The last code I can inspect is in msvcr80d.dll!_free_base(void * > > pBlock). The last relevant OSG call is > > osgdb_freetyped.dll!_FT_New_Memory() called by > > osgdb_freetyped.dll!_ft_mem_free(). But I can't inspect that code. > > > > I think I'll try to compile a local version of FreeType and see if > > it's a problem with the version that's in Mike's binaries. > > > > In the mean time, can anyone please try to reproduce this? (see above) > > > > Thanks, > > > > J-S > > -- > > ______________________________________________________ > > Jean-Sebastien Guay [EMAIL PROTECTED] > > http://whitestar02.webhop.org/ > > > > ---------------------------------------------------------------- > > This message was sent using IMP, the Internet Messaging Program. > > > > > > _______________________________________________ > > osg-users mailing list > > [email protected] > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

