Re: [devel] [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

2019-03-26 Thread Lennart Lund
Hi Canh, You are right about that configuration streams except the "well known" ones can be deleted but if the stream configuration object exist and numOpeners = 0 there is an inconsistency that must be considered as "out of synch" that requires a restart. Regards Lennart From: Canh Van

Re: [devel] [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

2019-03-26 Thread Canh Van Truong
Thanks Lennart, Please my comments. Regards Canh From: Lennart Lund Sent: Tuesday, March 26, 2019 3:41 PM To: Canh Van Truong ; Vu Minh Nguyen Cc: opensaf-devel@lists.sourceforge.net; Lennart Lund Subject: RE: [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0

Re: [devel] [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

2019-03-26 Thread Lennart Lund
Hi Canh, I don't really understand what you suggest and how this will keep standby and active in sync. However, there are two things I would like to mention: 1. It is not only the "well known streams" if you by this means the alarm, notification and system streams that must never have 0

Re: [devel] [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

2019-03-24 Thread Canh Van Truong
Thanks all, With the case that causes the osaflogd crash (the "numOpeners" of "well know stream" is 0), I suggest solution is that when the standby process the checkpoint of open stream, it should always check if the ("numOpeners" ckpt from active) less than ("numOpeners" of standby + 1), The

Re: [devel] [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

2019-03-22 Thread Lennart Lund
Hi Canh, Just a small comment. For "Well known streams" it shall never be possible that numOpeners becomes 0 since the log service itself is one of the "openers" (the first opener) and that "opener" is never closed. This also applies for any configuration stream (well known streams are also

Re: [devel] [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

2019-03-22 Thread Vu Minh Nguyen
Hi Canh, Thanks for your good finding. There is other possibility that well-known streams can be deleted as well. Looking at below code, proc_stream_open_msg(). rc = lgs_mds_msg_send(cb, , >fr_dest, >mds_ctxt, MDS_SEND_PRIORITY_HIGH); // Checkpoint the

Re: [devel] [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

2019-03-21 Thread Canh Van Truong
Hi Lennart and aVu, Thanks for your review. I check the code again and guess the condition for the crash: 1/Current "numOpeners" of one well known stream = 2. This mean that just one client open this stream. LOGD get close that stream request from client. The closing stream is successful on

Re: [devel] [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

2019-03-18 Thread Vu Minh Nguyen
Hi Canh, Log stream is allocated with brackets, (), going with new operator; It means numOpeners field is already zero-initialized. log_stream_t *stream = new (std::nothrow) log_stream_t(); So, I don't think your change will address the issue. The bug may locate at another place.

Re: [devel] [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

2019-03-15 Thread Lennart Lund
Hi Canh, Ack Thanks Lennart -Original Message- From: Canh Van Truong Sent: den 14 mars 2019 12:49 To: Lennart Lund ; Vu Minh Nguyen Cc: opensaf-devel@lists.sourceforge.net; Canh Van Truong Subject: [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

[devel] [PATCH 1/1] log: logd crash due to well known stream has numOpeners = 0 [#3018]

2019-03-14 Thread Canh Van Truong
When the stream is created, the numOpeners is not initialized and may be started with unexpected value (e.g max value of unsigned int32). It is not correct. That may cause when client close the well known stream and numOpeners may be 0. The crash happens. The "numOpeners" should be initialized