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

Reply via email to