[omniORB] CORBA::Double type corrouption issue in python omniORB

Johnny Willemsen jwillemsen at remedy.nl
Fri Apr 19 13:46:32 BST 2013


Hi,

 >    This is a good idea. I will define an internal object class that 
works with floats and see how that goes.

If you have a real mixed endian ARM target than I think there are much 
more problems than just the double, running all tests will probably show 
that.

Best regards,

Johnny

>
> Amit
>
> Sent from my iPad
>
> On Apr 19, 2013, at 7:21 AM, Michael Powell <mwpowellhtx at gmail.com> wrote:
>
>> Haven't dealt much with Omni yet. A little with CORBA, mostly with WCF
>> and custom network layers.
>>
>> I do work with ARM on a daily basis though. Floating point is an issue
>> on ARM, whether it is soft, hard, or softfp. We have soft I think.
>>
>> Without addressing the ORB itself, could you work around it and custom
>> marshal, say a byte array (unsigned char) from your doubles?
>>
>> That or possibly prefer floats to doubles. Or avoid floating point
>> altogether if you don't need them.
>>
>> HTH
>>
>> On Fri, Apr 19, 2013 at 6:11 AM, Johnny Willemsen <jwillemsen at remedy.nl> wrote:
>>> Hi,
>>>
>>> Found the needed ARM documentation on the web. Looks TAO doesn't support the
>>> mixed endian double on ARM. Amit, I would recommend you to run the ACE
>>> tests/CDR_Array_Test on your target and see whether it works or not.
>>>
>>> Best regards,
>>>
>>> Johnny Willemsen
>>> Remedy IT
>>> http://www.theaceorb.nl
>>>
>>>
>>> On 04/19/2013 10:57 AM, Duncan Grisby wrote:
>>>>
>>>> On Fri, 2013-04-19 at 08:57 +0200, Johnny Willemsen wrote:
>>>>
>>>>> I do have seen problems recently with TAO on ARM where endianess is
>>>>> causing problems. What is the value you get on the TAO side? Have you
>>>>> run the ACE/TAO test suite on the target?
>>>>
>>>>
>>>> Some ARMs have a bizarre mixed endian double, where the 64-bit double is
>>>> split into two 32-bit words in big-endian format but then the 32-bit
>>>> words are encoded in little-endian format.
>>>>
>>>> omniORB has specific support for handling thes mixed endian doubles on
>>>> ARM. I don't know if TAO does, but I expect this is the cause of your
>>>> problem -- either you need to configure TAO to use mixed-endian doubles,
>>>> or TAO needs to grow support for them.
>>>>
>>>> Cheers,
>>>>
>>>> Duncan.
>>>
>>>
>>> _______________________________________________
>>> omniORB-list mailing list
>>> omniORB-list at omniorb-support.com
>>> http://www.omniorb-support.com/mailman/listinfo/omniorb-list
>>
>> _______________________________________________
>> omniORB-list mailing list
>> omniORB-list at omniorb-support.com
>> http://www.omniorb-support.com/mailman/listinfo/omniorb-list
>
> _______________________________________________
> omniORB-list mailing list
> omniORB-list at omniorb-support.com
> http://www.omniorb-support.com/mailman/listinfo/omniorb-list
>
>




More information about the omniORB-list mailing list