Discussion:
[omniORB] Echo example 2 with visual studio express 2008
Bart Vanherck
2008-10-16 13:35:18 UTC
Permalink
Hello,

I have a problem with the examples. I took example eg2_ctl.cc and
eg2_impl.cc and compiled it successfully. When I run them without debug
information there was no problem, but with debug info,
there is a crash of the eg2_impl when the eg2_ctl executes the
orb->destroy() command. It crashes with following message:

Debug Assertion Failed!
File: f:\dd\vctools\crt_bld\self_x86\crt\src\dbgdel.cpp Line 52
Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

Below are the flags and libs that I compile and link with to create the
executables.

My Compile options are:
/Od /I "C:\omniorb\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D
"__WIN32__" /D "__x86__" /D "_WIN32_WINNT=0x400" /D "__NT__" /D
"__OSVERSION__=4" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd
/Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /nologo /c /ZI /TP /errorReport:prompt

My link options are:
/OUT:"C:\development\omniorbtest\Debug\omniorbtest.exe" /INCREMENTAL
/NOLOGO /LIBPATH:"C:\omniorb\lib\x86_win32" /MANIFEST
/MANIFESTFILE:"Debug\omniorbtest.exe.intermediate.manifest"
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG
/PDB:"c:\development\omniorbtest\Debug\omniorbtest.pdb"
/SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT /MACHINE:X86
/ERRORREPORT:PROMPT ws2_32.lib mswsock.lib advapi32.lib
omniORB413_rtd.lib omniDynamic413_rtd.lib omnithread34_rtd.lib
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib


I use Visual C++ from visual studio express 2008.

Has anyone seen this problem before?

kind regards,

Bart
Martin Trappel
2008-10-16 16:24:30 UTC
Permalink
Post by Bart Vanherck
Hello,
I have a problem with the examples. I took example eg2_ctl.cc and
eg2_impl.cc and compiled it successfully. When I run them without debug
information there was no problem, but with debug info,
there is a crash of the eg2_impl when the eg2_ctl executes the
Debug Assertion Failed!
File: f:\dd\vctools\crt_bld\self_x86\crt\src\dbgdel.cpp Line 52
Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
Actually your program does _not_ crash, the memory-alloc/dealloc
validation that is in place when you compile debug just tells you that
there's something wrong. Probably you have overwritten some memory, but
on the other, since you're using the examples, it may be that there is
some mismatch btw. some runtime libraries omniORB links to and the ones
you're compiling against.
Post by Bart Vanherck
Below are the flags and libs that I compile and link with to create the
executables.
/Od /I "C:\omniorb\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D
"__WIN32__" /D "__x86__" /D "_WIN32_WINNT=0x400" /D "__NT__" /D
"__OSVERSION__=4" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd
/Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /nologo /c /ZI /TP /errorReport:prompt
/OUT:"C:\development\omniorbtest\Debug\omniorbtest.exe" /INCREMENTAL
/NOLOGO /LIBPATH:"C:\omniorb\lib\x86_win32" /MANIFEST
/MANIFESTFILE:"Debug\omniorbtest.exe.intermediate.manifest"
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG
/PDB:"c:\development\omniorbtest\Debug\omniorbtest.pdb"
/SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT /MACHINE:X86
/ERRORREPORT:PROMPT ws2_32.lib mswsock.lib advapi32.lib
omniORB413_rtd.lib omniDynamic413_rtd.lib omnithread34_rtd.lib
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
I use Visual C++ from visual studio express 2008.
Are you using the omniORB-4.1.3-x86_win32-vs9.zip package ?


br,
Martin
Bart Vanherck
2008-10-16 18:05:33 UTC
Permalink
Post by Martin Trappel
Post by Bart Vanherck
Hello,
I have a problem with the examples. I took example eg2_ctl.cc and
eg2_impl.cc and compiled it successfully. When I run them without
debug information there was no problem, but with debug info,
there is a crash of the eg2_impl when the eg2_ctl executes the
Debug Assertion Failed!
File: f:\dd\vctools\crt_bld\self_x86\crt\src\dbgdel.cpp Line 52
Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
Actually your program does _not_ crash, the memory-alloc/dealloc
validation that is in place when you compile debug just tells you that
there's something wrong. Probably you have overwritten some memory,
but on the other, since you're using the examples, it may be that
there is some mismatch btw. some runtime libraries omniORB links to
and the ones you're compiling against.
I was also thinking about that, but did not find any clue.
Post by Martin Trappel
Post by Bart Vanherck
Below are the flags and libs that I compile and link with to create
the executables.
/Od /I "C:\omniorb\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D
"__WIN32__" /D "__x86__" /D "_WIN32_WINNT=0x400" /D "__NT__" /D
"__OSVERSION__=4" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd
/Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /nologo /c /ZI /TP
/errorReport:prompt
/OUT:"C:\development\omniorbtest\Debug\omniorbtest.exe" /INCREMENTAL
/NOLOGO /LIBPATH:"C:\omniorb\lib\x86_win32" /MANIFEST
/MANIFESTFILE:"Debug\omniorbtest.exe.intermediate.manifest"
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG
/PDB:"c:\development\omniorbtest\Debug\omniorbtest.pdb"
/SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT /MACHINE:X86
/ERRORREPORT:PROMPT ws2_32.lib mswsock.lib advapi32.lib
omniORB413_rtd.lib omniDynamic413_rtd.lib omnithread34_rtd.lib
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib
I use Visual C++ from visual studio express 2008.
Are you using the omniORB-4.1.3-x86_win32-vs9.zip package ?
br,
Martin
I use the package omniORB-4.1.3-x86_win32-vs9.zip and my OS is WINXP.
If I run the application I see that the correct libs are loaded.

'omniorbtest.exe': Loaded
'C:\development\omniorbtest\Debug\omniorbtest.exe', Symbols loaded.
'omniorbtest.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll'
'omniorbtest.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll'
'omniorbtest.exe': Loaded
'C:\omniorb\bin\x86_win32\omniORB413_vc9_rtd.dll', Symbols loaded.
'omniorbtest.exe': Loaded
'C:\omniorb\bin\x86_win32\omnithread34_vc9_rtd.dll', Symbols loaded.
'omniorbtest.exe': Loaded
'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f\msvcr90d.dll'
'omniorbtest.exe': Loaded 'C:\WINDOWS\system32\ws2_32.dll'
'omniorbtest.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll'
'omniorbtest.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll'
'omniorbtest.exe': Loaded 'C:\WINDOWS\system32\secur32.dll'
'omniorbtest.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll'
'omniorbtest.exe': Loaded 'C:\WINDOWS\system32\ws2help.dll'
'omniorbtest.exe': Loaded
'C:\omniorb\bin\x86_win32\omniDynamic413_vc9_rtd.dll', Symbols loaded.
'omniorbtest.exe': Loaded
'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f\msvcp90d.dll'
Loading...