Re: Assertion fails on destroy()
Duncan Grisby via omniORB-list <[email protected]> Wed, 22 Sep 2021 16:15:21 +0100
| Newsgroups | gmane.comp.corba.omniorb.user |
|---|---|
| Message-ID | <[email protected]> |
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 -- -- [email protected] -- -- http://www.grisby.org -- _______________________________________________ omniORB-list mailing list [email protected] https://www.omniorb-support.com/mailman/listinfo/omniorb-list