[omniORB] Issue transfering double over the network on x86_64/arvm8
Thomas Braun
thomas.braun at byte-physics.de
Thu Feb 2 19:25:19 UTC 2023
Hi,
in cppTango we have a report of something going wrong on the armv8
(Apple M1) platform [1]. It looks like some endianess issue although
the platform is actually little-endian.
I suceeded in replicating the issue with an x86_64 server and an armv8
client using src/examples/anyExample. I've compiled omniORB 4.2.5 on
MacOSX Ventura and debian bullseye.
See the garbage output for double on the server.
Notes:
- The problem does not happen with both client and server on x86_64 or
armv8
- The issue can be replicated with x86_64 client and armv8 server as
well
I'm attaching the config.log/config.status from the mac.
I'm happy to supply more information or test a patch,
Thomas
Client:
################################################################
uname -a
Darwin Thomass-Mac-Studio.local 22.3.0 Darwin Kernel Version 22.3.0:
Thu Jan 5 20:48:54 PST 2023; root:xnu-8792.81.2~2/RELEASE_ARM64_T6000
arm64
./anyExample_clt
IOR:010000001300000049444c3a616e794578616d706c653a312e30000001000000000
0000068000000010102000f0000003139322e3136382e3130302e34330000f3af00000e
000000fedd08dc6300006c4500000000000000020000000000000008000000010000000
0545441010000001c000000010000000100010001000000010001050901010001000000
09010100
Sending Any containing Long: 100
Invoking operation.
Operation completed. Returned Any: ULong: 314
Sending Any containing Double: 1.2345
Invoking operation.
Operation completed. Returned Any: ULong: 314
Sending Any containing String: Hello
Invoking operation.
Operation completed. Returned Any: ULong: 314
Sending Any containing testStruct: l: 456
s: 8
Invoking operation.
Operation completed. Returned Any: ULong: 314
################################################################
Server:
################################################################
$uname -a
Linux thomas 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21)
x86_64 GNU/Linux
$./anyExample_impl
IOR:010000001300000049444c3a616e794578616d706c653a312e30000001000000000
0000068000000010102000f0000003139322e3136382e3130302e34330000f3af00000e
000000fedd08dc6300006c4500000000000000020000000000000008000000010000000
0545441010000001c000000010000000100010001000000010001050901010001000000
09010100
Any received, containing:
Long: 100
Returning Any containing: ULong: 314
Any received, containing:
Double: 6.7705e-220
Returning Any containing: ULong: 314
Any received, containing:
String: Hello
Returning Any containing: ULong: 314
Any received, containing:
testStruct: l: 456
s: 8
Returning Any containing: ULong: 314
################################################################
[1]: https://gitlab.com/tango-controls/cppTango/-/issues/1052
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.log
Type: text/x-log
Size: 73016 bytes
Desc: not available
URL: <https://www.omniorb-support.com/pipermail/omniorb-list/attachments/20230202/e8059591/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.status
Type: application/x-shellscript
Size: 44320 bytes
Desc: not available
URL: <https://www.omniorb-support.com/pipermail/omniorb-list/attachments/20230202/e8059591/attachment-0003.bin>
More information about the omniORB-list
mailing list