Good to hear that you found the cause! Our own testing has mostly focused on 64-bit systems, so that could be the reason why we haven't noticed this particular bug. If there isn't a ticket for the problem yet, please write one.

OpenSAF is moving towards a continuous delivery model which means that we can make new OpenSAF deliveries with less effort than before. The next planned delivery is early October, but if you feel that this bug-fix is urgent then we can deliver a new version of OpenSAF as soon as the bug-fix is in and all tests have passed.


Regarding Zoran's comment: yes you are right that revents is an output variable that shouldn't have to be initialized before the call to poll(). I think the actual problem here is that the nfds argument to poll() is variable and if we don't have a CLM fd then fds[FD_CLM].revents is uninitialized (not touched by poll()). I usually prefer to keep nfds fixed and set fds[FD_CLM].fd to -1 in case we don't yet have a CLM fd, in which case fds[FD_CLM].revents will always be written by poll(). With the current approach of having a variable nfds the following condition needs to change:

if (fds[FD_CLM].revents & POLLIN)

Instead if should be:

if (nfds == 5 && (fds[FD_CLM].revents & POLLIN))

regards,

Anders Widell


On 08/07/2017 12:41 PM, Zoran Milinkovic wrote:
Hi James,

Can you be more specific with "OpenSAF hasn't been started successfully" ?

When clmDispatch returns ERR_BAD_HANDLE, IMMND logs messages with warning and 
notice log level.
In general in all services, when *Dispatch functions fail with ERR_BAD_HANDLE 
error code, it's because the handle might be corrupted, finalized, or the 
operation cannot be done (for example, a callback with a long DN parameter to a 
client where long DN is not supported, etc...)

Setting revents parameter to 0 before the poll call does not make sense to me. 
Revents is the output parameter, and I don't see how your proposal can be a 
solution to your problem.

Thanks,
Zoran

-----Original Message-----
From: Carroll, James R [mailto:james.r.carr...@lmco.com]
Sent: den 5 augusti 2017 17:45
To: opensaf-users@lists.sourceforge.net
Subject: Re: [users] opensaf 5.2, not starting on 32-bit linux platform

Hi,

I never had any feedback on this, which is a little disheartening.  In any 
case, we continued to troubleshoot the issue, and it appears there is an 
uninitialized variable in the source code that is causing the error.
The file is immnd_main.c, and the line number is 355.
We added the line: fds[FD_CLM].revents = 0;

This resolved our issue, and we were able to bring up opensaf 5.2.   For the 
record, we were never able to bring up opensaf 5.2, without this fix, on our 
32-bit systems.  We did also test this out on our 64-bit systems, and found 
that we were about 50/50 when staring OpenSAF - sometimes is started, and 
sometimes it failed, without this fix.   Once this fix was applied, both our 
32-bit and 64-bit systems started consistently.

Is there an open ticket for this issue?  Also, with the just announced release 
of OpenSaf 5.2.1, will there be an update to capture this?
How are high-priority fixes applied to OpenSAF?

Thanks.

Jim





From: Carroll, James R (US)
Sent: Friday, July 21, 2017 5:07 PM
To: opensaf-users@lists.sourceforge.net
Subject: opensaf 5.2, not starting on 32-bit linux platform

Hi,

We have recently built and upgraded to opensaf 5.2.  We were previously running 
using opensaf 5.0.
We compiled opensaf as 32-bit applications.  We are running on a 32-bit Redhat 
OS (v6.5).

We have been unable to start opensaf successfully, it appears to be a timing 
issue between IMM and CLM.
The code that is failing appears to be a new feature added to 5.2, reference 
the ticket number below.
The file is immnd_main.c, line number 435, failing on saClmDispatch() call. We 
are getting SA_AIS_ERR_BAD_HANDLE_ERROR

Ticket Information:
1640 - imm agent changes for integrating IMM with CLMS

Has anyone built opensaf 5.2 as a 32-bit application, and been able to run it 
successfully?

Thanks.

Jim
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most engaging tech 
sites, Slashdot.org! http://sdm.link/slashdot 
_______________________________________________
Opensaf-users mailing list
Opensaf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-users

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-users mailing list
Opensaf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-users



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-users mailing list
Opensaf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-users

Reply via email to