[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