[omniORB] Problem connecting to sun's orbd

Duncan Grisby duncan at grisby.org
Mon Apr 24 17:03:42 BST 2006


On Friday 21 April, Markus Sabin wrote:

> 1) a LOCATION_FORWARD is raised. The documentation says that a new
> object reference is passed with the exception, but I cannot catch the
> exception because it is caught by the framework which retries to
> connect but seems to fail.

LOCATION_FORWARD (in this context) is not an exception but an internal
message type. It is always handled internally by the client-side ORB and
the invocation retried with the new address.

> 2) When I set the traceLevel to 40 (max), a debug assertion fails in
> _chvalidator_mt: _ASSERTE((unsigned)(c + 1) <= 256) because c has a
> value of 0xffffffaf. This occurs during the LOCATION_FORWARD is raised.

That seems to be because of brokenness in the Visual C++ debug code.
It's asserting that the argument in isalnum() is in the range 0 to 255,
but when char is signed, obvious code that iterates through a C-style
string checking the characters can end up with negative integer values.
I'll add explicit conversions to unsigned char in all the places in
omniORB that could have the problem.

This is a red herring with regards the current problem, though.

Can you run with traceLevel 40 in a non-debug build of everything?  That
will avoid the assertion failure in the C runtime and allow us to see
what's actually going on.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list