[omniORB] Assertion fails on destroy()

Duncan Grisby duncan at grisby.org
Wed Sep 22 15:15:21 UTC 2021


On Tue, 2021-09-21 at 16:09 +0000, Marius Cosma via omniORB-list wrote:
[...] 
> Everything was working just fine before applying Solaris patch
> Generic_150400-65.
[...]
        
> omniORB: (0) 2021-09-21 17:34:42.558777: ObjRef(IDL:ppb:1.1) --
> deleted.                                                 
> omniORB: (0) 2021-09-21 17:34:42.560190: Assertion failed.  This
> indicates a bug in the application                      
> using omniORB, or maybe in omniORB
> itself.                                                              
>                  
>  file:
> ../../../../../src/lib/omniORB/orbcore/corbaObject.cc                
>                                              
>  line:
> 172                                                                  
>                                              
>  info: !_NP_is_pseudo()                

Almost certainly that is because an object reference has had its
reference count decremented too many times, meaning its state and
vtable has been removed. omniORB is trying to reduce the reference
count of something it expects to be a non-pseudo object reference, but
actually it appears to be a pseudo object reference. Either it was a
normal object reference that has been deleted and now its state makes
it look like a pseudo one, or it really is a pseudo object (like the
ORB or POA), but its vtable has gone and so the wrong reference
counting function is being invoked.

I don't know what the Solaris patch did, but perhaps it changed
something about memory layout or C++ destructor behaviour, leading to
an error where previously it was lucky enough not to fail.

I suggest you check your reference counting, or run in some sort of
memory checking tool like valgrind. (Valgrind appears to only work on
x86 Solaris version 11, so probably not that.)

Duncan. 

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





More information about the omniORB-list mailing list