[omniORB] Help. MSVC++ client crashes mysteriously
W T Meyer
meyer at iastate.edu
Wed Jun 8 11:35:09 BST 2005
I am trying to get a client program working on a Windows XP (SP2) machine
and the server is running on a Linux machine. The "echo" test program
works fine using this same set-up. I am compiling my test application
(named CoviOmni3_clt) using VC++6, following the directions in the README
file, with the following exceptions:
1. I changed the libraries to be included to be the versions distributed
with omniORB (the README refers to older versions).
2. Instead of including "omniDynamic406_rt.lib" I included "msvcstub.lib
-NODEFAULTLIB:libcmt.lib -NODEFAULTLIB:libcmtd.lib", as is done in the
dir.mak for echo. I saw an earlier posting recommending the use of
msvcstub, but I'm including the references to libcmt.lib just because they
were in the dir.mak file that built a program that works.
CoviOmni3_clt works fine in a linux-to-linux configuration.
I can compile and build both debug and production versions with MSVC++6
with no errors.
When I run the program, it get as far as my first call to one of my CORBA
method calls (InitVXIlibrary) and then it crashes. Stepping through the
program I find that it crashes in the "_invoke(_call_desc)"
line in the following routine:
CORBA::Short _objref_VXI::InitVXIlibrary()
{
_0RL_cd_8FC0AD4F74445B06_00000000
_call_desc(_0RL_lcfn_8FC0AD4F74445B06_10000000, "InitVXIlibrary", 15);
_invoke(_call_desc);
return _call_desc.result;
}
Here is the relevant output when it crashes:
The thread 0x8C8 has exited with code 0 (0x0).
First-chance exception in CoviOmni3_clt.exe (KERNEL32.DLL): 0xE06D7363:
Microsoft C++ Exception.
First-chance exception in CoviOmni3_clt.exe (KERNEL32.DLL): 0xE06D7363:
Microsoft C++ Exception.
The thread 0xB50 has exited with code 0 (0x0).
The thread 0xAFC has exited with code 0 (0x0).
The program 'C:\Program Files\Microsoft Visual
Studio\MyProjects\CoviOmni3_clt\Debug\CoviOmni3_clt.exe' has exited with
code 0 (0x0).
And here is a dump of _call_desc when _invoke is entered. The value on
exit is unavailable because it crashes inside _invoke.
- _call_desc {...}
- omniCallDescriptor {...}
- __vfptr 0x0041b40c const _0RL_cd_8FC0AD4F74445B06_00000000::`vftable'
[0x0] 0x00401325 _0RL_cd_8FC0AD4F74445B06_00000000::`vector deleting
destructor'(unsigned int)
[0x1] 0x004085d0 omniCallDescriptor::initialiseCall
[0x2] 0x004085ca omniCallDescriptor::marshalArguments
[0x3] 0x0040109b
_0RL_cd_8FC0AD4F74445B06_00000000::unmarshalReturnedValues(class cdrStream &)
[0x4] 0x004085c4 omniCallDescriptor::userException
[0x5] 0x004085be omniCallDescriptor::unmarshalArguments
[0x6] 0x0040119a
_0RL_cd_8FC0AD4F74445B06_00000000::marshalReturnedValues(class cdrStream &)
pd_localCall 0x00405700
_0RL_lcfn_8FC0AD4F74445B06_10000000(omniCallDescriptor *, omniServant *)
pd_is_oneway 0x00 ''
- pd_op 0x0041b3f8 "InitVXIlibrary"
0x49 'I'
pd_oplen 0x0000000f
- pd_user_excns 0x00000000
CXX0030: Error: expression cannot be evaluated
pd_n_user_excns 0x00000000
pd_is_upcall 0x00 ''
- pd_first_address_used 0x00000000
__vfptr CXX0030: Error: expression cannot be evaluated
- pd_current_address 0x00000000
__vfptr CXX0030: Error: expression cannot be evaluated
pd_current 0x00000000
- pd_current_next 0x00000000
__vfptr CXX0030: Error: expression cannot be evaluated
pd_localCall CXX0030: Error: expression cannot be evaluated
pd_is_oneway CXX0030: Error: expression cannot be evaluated
pd_op CXX0030: Error: expression cannot be evaluated
pd_oplen CXX0030: Error: expression cannot be evaluated
pd_user_excns CXX0030: Error: expression cannot be evaluated
pd_n_user_excns CXX0030: Error: expression cannot be evaluated
pd_is_upcall CXX0030: Error: expression cannot be evaluated
pd_first_address_used CXX0030: Error: expression cannot be evaluated
pd_current_address CXX0030: Error: expression cannot be evaluated
pd_current CXX0017: Error: symbol "omniCurrent" not found
pd_current_next CXX0030: Error: expression cannot be evaluated
pd_objref CXX0030: Error: expression cannot be evaluated
pd_poa CXX0017: Error: symbol "omni::omniOrbPOA" not found
pd_localId CXX0017: Error: symbol "omniLocalIdentity" not found
pd_deadline_secs CXX0030: Error: expression cannot be evaluated
pd_deadline_nanosecs CXX0030: Error: expression cannot be evaluated
- pd_objref 0x00000000
__vfptr CXX0030: Error: expression cannot be evaluated
pd_refCount CXX0030: Error: expression cannot be evaluated
pd_mostDerivedRepoId CXX0030: Error: expression cannot be evaluated
pd_intfRepoId CXX0030: Error: expression cannot be evaluated
pd_ior CXX0017: Error: symbol "" not found
pd_id CXX0017: Error: symbol "omniIdentity" not found
pd_next CXX0030: Error: expression cannot be evaluated
pd_prev CXX0030: Error: expression cannot be evaluated
- pd_flags {...}
forward_location CXX0030: Error: expression cannot be evaluated
type_verified CXX0030: Error: expression cannot be evaluated
object_exists CXX0030: Error: expression cannot be evaluated
transient_exception_handler CXX0030: Error: expression cannot be evaluated
commfail_exception_handler CXX0030: Error: expression cannot be evaluated
system_exception_handler CXX0030: Error: expression cannot be evaluated
static_repoId CXX0030: Error: expression cannot be evaluated
orb_shutdown CXX0030: Error: expression cannot be evaluated
pd_timeout_secs CXX0030: Error: expression cannot be evaluated
pd_timeout_nanosecs CXX0030: Error: expression cannot be evaluated
pd_poa 0x00000000
pd_localId 0x00000000
pd_deadline_secs 0x00000000
pd_deadline_nanosecs 0x00000000
result 0xcccc
+ this 0x00342800
Can anyone give me some insight into what is going on?
Thanks,
Tom
More information about the omniORB-list
mailing list