Well I dont have a s390x machine to do any development on.

So I can't say it works and can't make any progress on this issue.

Do you have one available somewhere I can access?

Regards
-steve

On Wed, 2009-01-21 at 15:42 +0100, Dejan Muhamedagic wrote:
> Hi,
> 
> Long time, but still no solution in sight. Just to remind you:
> 
> When I set secauth, openais can't start. It just keeps logging:
> 
> Nov 13 18:01:02 s390vm13 openais[31178]: [MAIN ] Invalid packet data
> Nov 13 18:01:02 s390vm13 openais[31178]: [MAIN ] Received message has invalid 
> digest... ignoring.
> 
> With secauth off, everything works fine. This is with the
> whitetank and exclusively on the s390x platform (x86, x86_64,
> and ppc64 are ok).
> 
> On Tue, Nov 18, 2008 at 10:39:58PM -0700, Steven Dake wrote:
> > Ya I dont like that code.  Can you check your headers
> > under /usr/lib/include for __WORDSIZE (also /lib/include)
> 
> Seems to be defined in /usr/include/bits/wordsize.h:
> 
> #if defined __s390x__
> # define __WORDSIZE     64
> #else
> # define __WORDSIZE     32
> #endif
> 
> > there is another bit of code for the endian big or little too.
> 
> secauth on the ppc64 platform works fine (with the same SLE11
> code). ppc64 is both big endian and 64 bit, just like s390x.
> 
> Looked for a long time at the code, but, apart from what you'll
> find in the attached patch, couldn't find any problems. A whole
> set of macros was duplicated. Unfortunately, the patch makes no
> difference.
> 
> BTW, to test this, it's enough to start openais on one node with
> secauth turned on, i.e. it can't communicate with itself either.
> 
> Any ideas? Do you have an s390x VM to confirm this? Do you
> support s390x?
> 
> Cheers,
> 
> Dejan
> 
> > Regards
> > -steve
> > 
> > On Tue, 2008-11-18 at 18:20 +0100, Dejan Muhamedagic wrote:
> > > On Tue, Nov 18, 2008 at 06:05:08AM -0700, Steven Dake wrote:
> > > > 
> > > > On Tue, 2008-11-18 at 00:43 +0100, Dejan Muhamedagic wrote:
> > > > > Hi,
> > > > > 
> > > > > On Fri, Nov 14, 2008 at 08:17:34AM +0000, Christine Caulfield wrote:
> > > > > > Dejan Muhamedagic wrote:
> > > > > > > Hi,
> > > > > > > 
> > > > > > > When I set secauth, nodes can't communicate with each other at
> > > > > > > all. They just keep logging:
> > > > > > > 
> > > > > > > Nov 13 18:01:02 s390vm13 openais[31178]: [MAIN ] Invalid packet 
> > > > > > > data
> > > > > > > Nov 13 18:01:02 s390vm13 openais[31178]: [MAIN ] Received message 
> > > > > > > has invalid digest... ignoring.
> > > > > > > 
> > > > > > > With secauth off, everything works fine. This is with the
> > > > > > > whitetank on an s390x platform. Didn't get around to test it yet
> > > > > > > on other platforms.
> > > > > > > 
> > > > > > 
> > > > > > I (and many others I'm sure) have been using secauth on openais for 
> > > > > > a
> > > > > > very long time and it works fine. It's enabled by default on all 
> > > > > > Red Hat
> > > > > > system for instance.
> > > > > > 
> > > > > > Are you sure you have the same key on all your systems ?
> > > > > 
> > > > > Yes.
> > > > > 
> > > > > > On the other hand I have never tried it on s390x so I suppose it's
> > > > > > possible that there is a problem on that architecture.
> > > > > 
> > > > > Looks like it. The i386 platform is ok. s390x is a big endian
> > > > > arch. Ever run openais on such machine?
> > > > > 
> > > > > Thanks,
> > > > > 
> > > > > Dejan
> > > > > 
> > > > 
> > > > Yes openais has been tested big endian little endian but the crypto
> > > > routines specifically check for the machine type using some special
> > > > definitions.  It is possible your s390x machine doesn't have the proper
> > > > definitions in the header files and is using the wrong endian or byte
> > > > size algorithms for your platform.
> > > 
> > > The following part (exec/crypto.c:31) looks funny:
> > > 
> > > #if defined(OPENAIS_LINUX)
> > > #if __WORDIZE == 64
> > > #define ENDIAN_64BITWORD
> > > #endif
> > > #if __WORDIZE == 32
> > > #define ENDIAN_32BITWORD
> > > #endif
> > > #else
> > > /* XXX need to find a better default
> > >  */
> > > #define ENDIAN_32BITWORD
> > > #endif
> > > 
> > > There's no default if __WORDSIZE is neither 64 nor 32. There
> > > should be a warning at least. There's also a typo ("S" missing).
> > > 
> > > Unfortunately, fixing this didn't really help.
> > > 
> > > Dejan
> > > 
> > > > Regards
> > > > -steve
> > > > 
> > > > > 
> > > > > > Chrissie
> > > > > _______________________________________________
> > > > > Openais mailing list
> > > > > [email protected]
> > > > > https://lists.linux-foundation.org/mailman/listinfo/openais
> > > > 
> > > _______________________________________________
> > > Openais mailing list
> > > [email protected]
> > > https://lists.linux-foundation.org/mailman/listinfo/openais
> > 

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to