Hi,
At DESY we perform tests before switching from Tango 8 to 9.
Running some automatize tests of python servers on (Py)Tango9 I get a strange error:
omniORB: Assertion failed. This indicates a bug in the application
using omniORB, or maybe in omniORB itself.
file: ../../../../../src/lib/omniORB/orbcore/SocketCollection.cc
line: 1663
info: pd_refcount > 0
omniORB: AsyncInvoker: Warning: unexpected exception caught while executing a task.
It looks harmless, i.e. it did not crashed any of my tests, but this miscount of reference counter in the removeSocket() method
void
SocketCollection::removeSocket(SocketHolder* s)
{
OMNIORB_ASSERT(s->pd_belong_to == this);
int refcount = 0; // Initialise to stop over-enthusiastic compiler warnings
{
omni_tracedmutex_lock sync(pd_collection_lock);
OMNIORB_ASSERT(pd_refcount > 0);
refcount = --pd_refcount;
*(s->pd_prev) = s->pd_next;
if (s->pd_next)
s->pd_next->pd_prev = s->pd_prev;
s->pd_belong_to = 0;
}
if (refcount == 0) delete this;
}
looks really suspicious. This error comes randomly after all my tests.
I’m testing purely python servers on debian jessie with python-tango (9.2.0), tango (9.2.5a), libomniorb4-1 (4.1.6-2).
I’ve never seen this error even with the same tests for tango 8.
Therefore, I would like to ask if anyone has idea what is going on or what could be a problem?
Bests,
Jan