Correcting ticket no #1682

> -----Original Message-----
> From: Nagendra Kumar
> Sent: 18 February 2016 20:39
> To: [email protected]; Praveen Malviya;
> [email protected]; [email protected]
> Cc: [email protected]
> Subject: [devel] [PATCH 1 of 1] amfnd: delay csi_remove_done for NPI comp
> [#1682]
> 
>  osaf/services/saf/amf/amfnd/clc.cc |  8 +++++++-
>  1 files changed, 7 insertions(+), 1 deletions(-)
> 
> 
> When an Su contains one PI and one NPI comp and if terminate script of NPI
> comp returns non-zero, but cleaup script of NPI returns zero, then during
> opensafd stop, Amfnd crashes.
> The reason is avnd_comp_csi_remove_done is called from
> avnd_comp_clc_terming_cleansucc and SU-SI is deleted inside. When
> subsequent function avnd_comp_clc_st_chng_prc is called Amfnd asserts
> because component doesnt have any csi as it got deleted in
> avnd_comp_csi_remove_done.
> So, since handling of 'SU Preinst and Comp Non-Preinst' and 'TERMINATING
> eq prv_st and UNINSTANTIATED eq final_st' are in
> avnd_comp_clc_st_chng_prc so, better postpone
> avnd_comp_csi_remove_done to a later stage as it happens in normal
> scenarion when terminate script of NPI comp return zero(success).
> 
> diff --git a/osaf/services/saf/amf/amfnd/clc.cc
> b/osaf/services/saf/amf/amfnd/clc.cc
> --- a/osaf/services/saf/amf/amfnd/clc.cc
> +++ b/osaf/services/saf/amf/amfnd/clc.cc
> @@ -2159,7 +2159,13 @@ uint32_t avnd_comp_clc_terming_cleansucc
>                                  done indication cannot be generated for
> assigned CSIs.
>                                */
>                               if
> (m_AVND_COMP_CSI_CURR_ASSIGN_STATE_IS_REMOVING(csi))
> -                                     rc =
> avnd_comp_csi_remove_done(cb, comp, csi);
> +                                     /* Csi remove done for PI comp only
> and not for NPI comp in PI SU.
> +                                        When avnd_comp_clc_st_chng_prc
> will be called and it will be a
> +                                        case of "SU Preinst and Comp Non-
> Preinst" and
> +                                        TERMINATING == prv_st and
> UNINSTANTIATED == final_st, then
> +                                        avnd_comp_csi_remove_done will
> be called. */
> +                                     if
> (m_AVND_COMP_TYPE_IS_PREINSTANTIABLE(comp))
> +                                             rc =
> avnd_comp_csi_remove_done(cb, comp, csi);
> 
>                               /* Removal of last CSI from this component
> may lead to SUSI assign/remove
>                                  done indication, which eventually deletes
> all COMP-CSI record.
> 
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance APM +
> Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor
> end-to-end web transactions and take corrective actions now Troubleshoot
> faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
> Opensaf-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/opensaf-devel

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to