- **status**: unassigned --> assigned
- **assigned_to**: Srinivas Siva Mangipudy
---
** [tickets:#2647] ntfd: ntfimcnd crashed on handling for Object creation
callback**
**Status:** assigned
**Milestone:** 5.17.10
**Created:** Thu Oct 19, 2017 12:45 PM UTC by Srinivas Siva Mangipudy
**Last Updated:** Thu Oct 19, 2017 12:45 PM UTC
**Owner:** Srinivas Siva Mangipudy
1. Problem
========================================================================= =
NTFimcnd crashed while 200k objects was created and the deleted in IMM, the
classes associated with these objects were also removed. 2. Analysis
========================================================================= = A
huge number of objects, about 200k objects, were created in IMM with PBE
disabled. Then these objects were deleted in one CCB (by deleting the root
object). After deleting the objects, the classes were also removed. Then the
crash happened. Oct 19 19:45:04 SC-2-1 osafimmnd[22799]: NO Number of objects
in IMM is:100000 Oct 19 19:47:00 SC-2-1 osafimmnd[22799]: NO Number of objects
in IMM is:200000 Oct 19 19:47:00 SC-2-1 osafimmnd[22799]: NO Ccb 217 COMMITTED
(immcfg_SC-2- 1_27933) Oct 19 19:47:01 SC-2-1 osafimmnd[22799]: WA Busy in HUGE
admin owner release 50000 Oct 19 19:47:01 SC-2-1 osafimmnd[22799]: WA Busy in
HUGE admin owner release 100000 Oct 19 19:47:01 SC-2-1 osafimmnd[22799]: WA
Busy in HUGE admin owner release 150000 Oct 19 19:47:01 SC-2-1
osafimmnd[22799]: WA Busy in HUGE admin owner release 200000 Oct 19 19:47:25
SC-2-1 osafimmnd[22799]: NO Ccb 218 COMMITTED (immcfg_SC-2- 1_28075) Oct 19
19:47:25 SC-2-1 osafntfimcnd[27468]: ER saImmOmClassDescriptionGet_2 failed
SA_AIS_ERR_NOT_EXIST (12) Oct 19 19:47:25 SC-2-1 osafntfimcnd[27468]:
../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:167:
get_rdn_attr_name: Assertion '0' failed. When NTFimcnd created notifications,
some information had to be looked up in IMM. NTFimcnd only asked for class
information in case of object creation: static SaAisErrorT
saImmOiCcbObjectCreateCallback(SaImmOiHandleT immOiHandle,
SaImmOiCcbIdT ccbId,
const SaImmClassNameT className,
const SaNameT *parentName, const SaImmAttrValuesT_2 **attr) { …
dn_ptr = get_created_dn(className, parentName, attr); … } static void
saImmOiCcbApplyCallback(SaImmOiHandleT immOiHandle, SaImmOiCcbIdT ccbId) {
… switch
(ccbUtilOperationData->operationType) { case CCBUTIL_CREATE:
rdn_attr_name = get_rdn_attr_name(
ccbUtilOperationData- >param.create.className);
internal_rc = ntfimcn_send_object_create_notification(
ccbUtilOperationData, rdn_attr_name,
ccbLast); … } In this case, NTF was still
handling notifications for a big number of created objects. Usually, NTFimcnd
cached the class information. But because these objects belong to many
classes, it had to ask IMM for class information. But the class was already
removed in IMM. IMM was much faster to create and delete the objects and class
(with PBE disabled), while NTF was still processing the objects, so the
information was not there in IMM anymore, and the crashed happened. Oct 19
19:47:25.344370 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_proc.c:2333]
TR Ccb-object- create callback Oct 19 19:47:25.344381 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_proc.c:2436]
TR ccb-object-create make the callback Oct 19 19:47:25.344385 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:0426]
>> saImmOiCcbObjectCreateCallback Oct 19 19:47:25.344389 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:0194]
>> get_created_dn Oct 19 19:47:25.344392 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:0105]
>> get_rdn_attr_name Oct 19 19:47:25.344398 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:4987]
>> saImmOmClassDescriptionGet_2 Oct 19 19:47:25.344402 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:4996]
>> saImmOmClassDescriptionGet_2 Oct 19 19:47:25.344407 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:5066]
TR ClassName: TestCCB1 Oct 19 19:47:25.344411 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:5083]
TR ClassDescrGet 3 Oct 19 19:47:25.344578 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:5121]
TR Alloc attrdefs array:0x1933650 Oct 19 19:47:25.344594 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:5327]
<< saImmOmClassDescriptionGet_2 Oct 19 19:47:25.344619 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:5335]
>> saImmOmClassDescriptionMemoryFree_2
Oct 19 19:47:25.344625 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:5379]
<< saImmOmClassDescriptionMemoryFree_2 Oct 19 19:47:25.344628 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:0164]
<< get_rdn_attr_name Oct 19 19:47:25.344633 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:0228]
<< get_created_dn Oct 19 19:47:25.344639 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:0473]
<< saImmOiCcbObjectCreateCallback Oct 19 19:47:25.344643 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_proc.c:2496]
TR ccb-object-create callback returned RC:1 Oct 19 19:47:25.344648
osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_proc.c:3171]
<< imma_process_callback_info Oct 19 19:47:25.344653 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_proc.c:1983]
>> imma_process_callback_info Oct 19 19:47:25.344657 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_proc.c:2333]
TR Ccb-object- create callback Oct 19 19:47:25.344662 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_proc.c:2436]
TR ccb-object-create make the callback Oct 19 19:47:25.344666 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:0426]
>> saImmOiCcbObjectCreateCallback Oct 19 19:47:25.344670 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:0194]
>> get_created_dn Oct 19 19:47:25.344673 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:0105]
>> get_rdn_attr_name Oct 19 19:47:25.344676 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:4987]
>> saImmOmClassDescriptionGet_2 Oct 19 19:47:25.344680 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:4996]
>> saImmOmClassDescriptionGet_2 Oct 19 19:47:25.344684 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:5066]
TR ClassName: TestCCB Oct 19 19:47:25.344687 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:5083]
TR ClassDescrGet 3 Oct 19 19:47:25.344793 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/libs/agents/saf/imma/imma_om_api.c:5327]
<< saImmOmClassDescriptionGet_2
Oct 19 19:47:25.345529 osafntfimcnd
[27468:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_imm.c:0136]
ER saImmOmClassDescriptionGet_2 failed SA_AIS_ERR_NOT_EXIST (12) Oct 19
19:48:41.474004 osafntfimcnd
[28149:../../../../../../../opensaf/osaf/services/saf/ntfsv/ntfimcnd/ntfimcn_notifier.c:0065]
>> ntfimcn_ntf_init 3. Reproduction
========================================================================= = Can
be reproduced like below: - Disable PBE 1. Create a huge amount of objects with
one parent object. 2. In my case, I created 2 root objects of two different
classes with about 100k child objects each Delete first root object, then
delete the class associated with this object. 3. Delete second root object,
delete the class associated with this object.
---
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.------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets