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