AW: [omniORB] Assertion failure for structure in Any of omniORB 4.1.1

Duncan Grisby duncan at grisby.org
Mon Oct 15 16:12:27 BST 2007


On Monday 15 October, "Fischer, Clemens" wrote:

> the problem seems to occur whenever the server-side receives an any
> that contains a struct which in turn contains an enum.

Thanks. That made it obvious what the problem was. As TypeCodes are
constructed, they are marked as either complete or not. Enum TypeCodes
were incorrectly not being marked as complete. The earlier bugfix to
struct TypeCodes means that structs care if their contents are complete
or not.

The fix is really trivial. I've checked it in to CVS, and attached it
here as a patch.

Cheers,

Duncan.

-------------- next part --------------
Index: src/lib/omniORB/dynamic/typecode.cc
===================================================================
RCS file: /cvsroot/omniorb/omni/src/lib/omniORB/dynamic/Attic/typecode.cc,v
retrieving revision 1.40.2.17
diff -u -r1.40.2.17 typecode.cc
--- src/lib/omniORB/dynamic/typecode.cc	10 Jun 2007 18:43:08 -0000	1.40.2.17
+++ src/lib/omniORB/dynamic/typecode.cc	15 Oct 2007 14:06:49 -0000
@@ -3562,6 +3562,7 @@
 			     const CORBA::EnumMemberSeq &members)
   : TypeCode_base(CORBA::tk_enum)
 {
+  pd_complete = 1;
   pd_repoId = repositoryId;
   pd_name = name;
   pd_members = members;
@@ -3573,6 +3574,7 @@
 TypeCode_enum::TypeCode_enum()
   : TypeCode_base(CORBA::tk_enum)
 {
+  pd_complete = 1;
   pd_alignmentTable.setNumEntries(1);
   pd_alignmentTable.addSimple(omni::ALIGN_4, 4);
 }
-------------- next part --------------

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


More information about the omniORB-list mailing list