---
** [tickets:#1202] IMM: Local immnd crashes on assert in executing
saImmOiObjectImplementerSet**
**Status:** assigned
**Milestone:** 4.4.2
**Created:** Wed Nov 05, 2014 09:47 AM UTC by Anders Bjornerstedt
**Last Updated:** Wed Nov 05, 2014 09:47 AM UTC
**Owner:** Anders Bjornerstedt
>From syslog:
2014-10-28 15:16:27 SystemEvent osafimmnd SC-2-1 err osafimmnd[8813]:
immnd_evt.c:3178: immnd_fevs_local_checks: Assertion 'error != SA_AIS_OK'
failed.
This assertion is in immnd_evt.c in function immnd_fevs_local_checks at:
-----------------------------------
case IMMND_EVT_A2ND_OI_OBJ_IMPL_SET:
if(fevsReq->sender_count != 0x1) {
LOG_WA("ERR_LIBRARY: IMMND_EVT_A2ND_OI_OBJ_IMPL_SET
fevsReq->sender_count != 0x1");
error = SA_AIS_ERR_LIBRARY;
} else if(immModel_immNotWritable(cb)) {// sync is on-going
SaUint32T ccbId=0;
error = immModel_objectImplementerSet(cb,
&(frwrd_evt.info.immnd.info.implSet), conn,
nodeId, &ccbId);
osafassert(error != SA_AIS_OK); <======
/* OK is impossible since we are not writable */
-----------------------------------------------------------
Analyzing the code executed below immModel_objectImplementerSet() it appears
that this case can happen if the objectImplementerSet is done incrementally
over several objects in a tree, bottom up.
The more efficent way to set object implementer over a tree of objects would
be to set it for the root object, with scope SA_IMM_SUBTREE. This would result
in the same object implementer being set for the tree (cascading).
If *different* objects in the tree are to have different object imeplementers
then care would be needed to set implementer on each object using the scope
argument to saImmOiObjectimplementerSet to SA_IMM_ONE to avoid cascading.
This incident appears however to be triggered by a cascading variant, where
for some reason a sub-object has alrady had object-implementer-set to the
same implementer.
So it is a case of an inefficient, but not an incorrect, implementation by the
application. Combined with a sync ocurring in the midle of such an operation.
---
Sent from sourceforge.net because [email protected] is
subscribed to https://sourceforge.net/p/opensaf/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/opensaf/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list.------------------------------------------------------------------------------
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets