Public bug reported:

The ARMv7 packaged version of python-omniorb fails to properly pass
doubles from python client to C++ server.  For some reason, rebuilding
the package from source solves the issue so I'm unsure of how / where
the problem originates.

Steps to reproduce on an Ubuntu14.04 machine:
1. Grab and sudo extract the arm root file system 
linaro-trusty-developer-20140522-661.tar.gz from here 
http://releases.linaro.org/14.05/ubuntu/trusty-images/developer/

2. Make sure you have the following installed on the host machine: qemu-
user-static debootstrap binfmt-support

3. Copy the qemu-arm-static and resolv.conf into the rootfs
eg.
sudo cp /usr/bin/qemu-arm-static /my/rootfs/usr/bin/
sudo cp /etc/resolv.conf /my/rootfs/etc/

4. chroot into the arm rootfs: 
eg.
sudo chroot /my/rootfs

5. install python-omniorb

6. Use Example 2 from here to create a simple C++ server except change
the IDL to take in and echo a double:
http://omniorb.sourceforge.net/omni40/omniORB/omniORB002.html

7. Use Example 2 from here to create a simple python based client using the 
same IDL generated in step 6 above.
http://omniorb.sourceforge.net/omnipy3/omniORBpy/omniORBpy002.html

I used the value 60000.12346, going from python -> python it works fine,
going from c++ -> c++ fine, however going from python -> C++ I get
Upcall -6.42765e+247  Floats also work fine and the problem only seems
to exist with doubles.  Upping the logging to 40 in omniORB.cfg, it
looks as though the word order is swapped.

Even odder, if I sudo apt-get source python-omniorb and then rebuild the
package using dpkg-buildpackage -rfakeroot -uc -b (Which I thought
should produce an identical output) those packages work just fine.

Version info within change root:
lsb_release -rd
Description:    Linaro 14.04
Release:        14.04

Version info of host system:
lsb_release -rd
Description:    Ubuntu 14.04.3 LTS
Release:        14.04

Version of python-omniorb from arm rootfs:
apt-cache policy python-omniorb
python-omniorb:
  Installed: 3.6-1
  Candidate: 3.6-1
  Version table:
 *** 3.6-1 0
        500 http://ports.ubuntu.com/ubuntu-ports/ trusty/universe armhf Packages
        100 /var/lib/dpkg/status

** Affects: python-omniorb (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1507753

Title:
  arm package fails to pass doubles from python to C++

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-omniorb/+bug/1507753/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to