[omniORB] HPUX 11.31 on Itanium 64 bit mode Bus Error
Duncan Grisby
duncan at grisby.org
Thu Feb 5 11:08:16 GMT 2009
On Wednesday 4 February, pneuste wrote:
> The problem I am trying to describe appears to be a data alignment problem
> that could be caused by either by the compiler or by the allocation
> mechanism within omniORB for the cdrStream class. Itanium processors running
> in 64 bit mode require all data to aligned on 8 byte boundaries but it
> appears that the CdrMarshal macro inside of the cdrStream.h attempts to
> store data using a pointer that is set to store at a 4 byte boundary.
That sounds unlikely. If that was true, it would be impossible to access
every other item in an array of 32 bit integers, for example.
> To be
> specific it occurs at the code line 418 (within the >>= operator definition
> for a Ulong. I am using the revision 1.1.4.17 of cdrStream.h that is part of
> omniORB-4.1.1. This is part of an application hthat has been successfully
> run for about 5 years using the HP PA-Risc hardware platform and since HP
> has terminated that hardware platform it is imperative that this problem be
> resolved ASAP.
How did you configure omniORB? Did you use the configure script, or the
old-style platform files? It sounds like your ULong type has ended up
being 64 bits rather than the 32 bits it's meant to be.
Cheers,
Duncan.
--
-- Duncan Grisby --
-- duncan at grisby.org --
-- http://www.grisby.org --
More information about the omniORB-list
mailing list