- Description has changed:

Diff:

~~~~

--- old
+++ new
@@ -3,7 +3,7 @@
 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. 
+ 
../../../../../../../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: 
@@ -13,9 +13,6 @@
                         
 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. 

~~~~




---

** [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 01:08 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.

 
../../../../../../../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.


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

Reply via email to