- **status**: unassigned --> assigned
- **assigned_to**: A V Mahesh (AVM)
- **Comment**:
> Hung Nguyen wrote:
>
> But sometimes we receive in order like this:
> Receive IMMND_EVT_A2ND_IMM_FINALIZE
> MDS_REGISTER_REQ messages
> MDS_UNREGISTER_REQ messages
> Receive IMMND_EVT_A2ND_IMM_INIT
> NCSMDS_DOWN event (TIPC_WITHDRAWN)
> NCSMDS_UP event (TIPC_PUBLISHED)
>
> When receiving MDS_UNREGISTER_REQ messages, the process info is removed from
> >process_info_db. Then MDS_REGISTER_REQ comes right after that and the
> process info >is added to process_info_db. Then when the TIPC_WITHDRAWN event
> comes, >mds_mcm_svc_down() will check and see that process info is still
> there, timer is started. >After 10 seconds, the process info is cleared.
So In your case auth-server thread MDS_UNREGISTER_REQ messages got delayed , so
process info is NOT cleared at the time of mds_mcm_svc_down() , so
MDS_DOWN_TMR is started.
and your IMMA client re-registers immediately after unregistered , because of
that MDS_REGISTER_REQ messages of new auth-server thread landed earlier than
MDS_UNREGISTER_REQ of previous auth-server thread,
is causing the problem.
But even mds_mcm_svc_down() comes late and timer is started and expires After
10 seconds, based on the `case MDS_DOWN_TMR` code , process info is NOT
cleared because of `if ((info != NULL) && (kill(info->pid, 0) == -1))`
condition, which delete process_info , if process not exist to avoid race with
a client that re-registers immediately after unregistered.
osaf/libs/core/mds/mds_dt_common.c
===================================
case MDS_DOWN_TMR: {
MDS_PROCESS_INFO *info = mds_process_info_get(
tmr_req_info->info.down_event_tmr_info.adest,
tmr_req_info->info.down_event_tmr_info.svc_id);
/* only delete if process not exist to avoid
race with a client
* that re-registers immediately after
unregister */
if ((info != NULL) && (kill(info->pid, 0) ==
-1)) {
TRACE("TIMEOUT, deleting entry for
%"PRIx64", pid:%d",
info->mds_dest, info->pid);
(void)mds_process_info_del(info);
free(info);
}
if
(tmr_req_info->info.down_event_tmr_info.tmr_id != NULL) {
ncs_tmr_free(tmr_req_info->info.down_event_tmr_info.tmr_id);
}
break;
}
=======================================================================
> Hung Nguyen wrote:
> I think the process info should not be cleared in this case (by clearing the
> timer when >receving TIPC_PUBLISHED event).
This could be a solution , but fist we need to check why ` (kill(info->pid, 0)
== -1)` is failing in your environment ,
alternatively we can also see the auth-server thread join and priarity , ect ...
---
** [tickets:#1825] MDS: When saImmOmInitialize was invoked, MDS sent ‘pid = 0’
in MDS_CALLBACK_RECEIVE_INFO.**
**Status:** assigned
**Milestone:** 4.7.2
**Created:** Fri May 13, 2016 12:34 PM UTC by Rafael
**Last Updated:** Mon May 23, 2016 03:58 AM UTC
**Owner:** A V Mahesh (AVM)
**Attachments:**
-
[sc2_mds.log](https://sourceforge.net/p/opensaf/tickets/1825/attachment/sc2_mds.log)
(2.6 MB; text/x-log)
This happens only some of the time.
First this is called from an application:
saImmOmInitialize(immHandle, NULL, &version)
Then the system log shows this error:
May 13 02:31:53 sc2 osafimmnd[6042]: WA immnd_evt_proc_imm_init: PID 0
(7150) for 2020fb1d13cb8, MDS problem?
May 13 02:31:53 sc2 osafimmnd[6042]: WA immnd_evt_proc_imm_init: PID 0
(7150) for 2020fb1d13cb8, MDS problem?
May 13 02:31:55 sc2 osafimmnd[6042]: NO Ccb 176 COMMITTED (LDE)
May 13 02:31:55 sc2 osafimmnd[6042]: WA immnd_evt_proc_imm_init: PID 0
(7150) for 2020fb1d13cb8, MDS problem?
May 13 02:31:55 sc2 osafimmnd[6042]: WA immnd_evt_proc_imm_init: PID 0
(7150) for 2020fb1d13cb8, MDS problem?
---
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.------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets