Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault when importing tf2_py on MacOS #86

Closed
sonelu opened this issue Mar 17, 2021 · 19 comments · Fixed by #87
Closed

Segmentation fault when importing tf2_py on MacOS #86

sonelu opened this issue Mar 17, 2021 · 19 comments · Fixed by #87

Comments

@sonelu
Copy link
Contributor

sonelu commented Mar 17, 2021

Not sure if this is an issue with the build on RoboStack or an upstream issue, but importing tf2_py issues a "Segmentation fault: 11" message.

MacOS Catalina 10.15.7
Conda: 4.9.2
Python: 3.8.8

steps to reproduce:

(rs-test) Alex3-2:~ Alex$ python
Python 3.8.8 | packaged by conda-forge | (default, Feb 20 2021, 16:12:38) 
[Clang 11.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tf2_py
Segmentation fault: 11

packages installed:

(rs-test) Alex3-2:~ Alex$ conda list tf
# packages in environment at /Users/Alex/anaconda3/envs/rs-test:
#
# Name                    Version                   Build  Channel
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      2.001                hab24e00_0    conda-forge
font-ttf-source-code-pro  2.030                hab24e00_0    conda-forge
font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
ros-noetic-roswtf         1.15.9           py38h7e910e5_5    robostack
ros-noetic-rqt-tf-tree    0.6.2            py38h7e910e5_5    robostack
ros-noetic-tf             1.13.2           py38heb8910a_5    robostack
ros-noetic-tf-conversions 1.13.2           py38h7e910e5_5    robostack
ros-noetic-tf2            0.7.5            py38h7b88c24_5    robostack
ros-noetic-tf2-eigen      0.7.5            py38h7e910e5_5    robostack
ros-noetic-tf2-geometry-msgs 0.7.5            py38h7e910e5_5    robostack
ros-noetic-tf2-kdl        0.7.5            py38h7e910e5_5    robostack
ros-noetic-tf2-msgs       0.7.5            py38h7e910e5_5    robostack
ros-noetic-tf2-py         0.7.5            py38h7e910e5_5    robostack
ros-noetic-tf2-ros        0.7.5            py38h7e910e5_5    robostack
ros-noetic-turtle-tf      0.2.3            py38h7e910e5_5    robostack
ros-noetic-turtle-tf2     0.2.3            py38h7e910e5_5    robostack
@traversaro
Copy link
Member

Can you also post all the packages installed in the environment?

@sonelu
Copy link
Contributor Author

sonelu commented Mar 17, 2021

I've setup a new environment with python 3.8 and installed ros-noetic-desktop-full (after setting up the channels and priorities).

(rs-test) Alex3-2:~ Alex$ conda list

# packages in environment at /Users/Alex/anaconda3/envs/rs-test:
#
# Name                    Version                   Build  Channel
adwaita-icon-theme        3.38.0               hd0a4bf8_1    conda-forge
apr                       1.7.0                hbcf498f_4    conda-forge
assimp                    5.0.1                h3b8ecc4_5    conda-forge
atk-1.0                   2.36.0               he69c4ee_4    conda-forge
bcrypt                    3.2.0            py38h5406a74_1    conda-forge
boost                     1.74.0           py38h692b87f_3    conda-forge
boost-cpp                 1.74.0               h43a636a_2    conda-forge
bzip2                     1.0.8                hc929b4f_4    conda-forge
c-ares                    1.17.1               h0d85af4_1    conda-forge
ca-certificates           2020.12.5            h033912b_0    conda-forge
cairo                     1.16.0            h4ec454a_1007    conda-forge
catkin_pkg                0.4.23             pyh9f0ad1d_0    conda-forge
certifi                   2020.12.5        py38h50d1736_1    conda-forge
cffi                      1.14.5           py38ha97d567_0    conda-forge
cmake                     3.19.6               h641592c_0    conda-forge
console_bridge            1.0.1                h65a07b1_0    conda-forge
cppzmq                    4.7.1                hf09c4ce_2    conda-forge
cryptography              3.4.6            py38h1fa4640_0    conda-forge
curl                      7.75.0               h06286d4_0    conda-forge
cycler                    0.10.0                     py_2    conda-forge
dbus                      1.13.6               h0c50699_1    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
distro                    1.5.0              pyh9f0ad1d_0    conda-forge
docutils                  0.16             py38h50d1736_3    conda-forge
eigen                     3.3.9                h926bf3e_1    conda-forge
empy                      3.3.4              pyh9f0ad1d_1    conda-forge
epoxy                     1.5.5                h35c211d_0    conda-forge
expat                     2.2.10               h1c7c35f_0    conda-forge
ffmpeg                    4.3.1                hb787a4c_2    conda-forge
flann                     1.9.1             hed988e5_1008    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      2.001                hab24e00_0    conda-forge
font-ttf-source-code-pro  2.030                hab24e00_0    conda-forge
font-ttf-ubuntu           0.83                 hab24e00_0    conda-forge
fontconfig                2.13.1            hd23ceaa_1004    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                             0    conda-forge
freeimage                 3.18.0               hcc97f4c_6    conda-forge
freetype                  2.10.4               h4cff582_1    conda-forge
fribidi                   1.0.10               hbcb3906_0    conda-forge
gazebo                    11.3.0              hc02bdab_11    conda-forge
gdbm                      1.18                 h8a0c380_2    conda-forge
gdk-pixbuf                2.42.2               h976c81d_2    conda-forge
gettext                   0.19.8.1          h7937167_1005    conda-forge
giflib                    5.2.1                hbcb3906_2    conda-forge
glib                      2.66.7               he49afe7_1    conda-forge
glib-tools                2.66.7               he49afe7_1    conda-forge
gmock                     1.10.0               h926bf3e_7    conda-forge
gmp                       6.2.1                h2e338ed_0    conda-forge
gnutls                    3.6.13               h756fd2b_1    conda-forge
gpgme                     1.15.1               h046ec9c_0    conda-forge
graphite2                 1.3.13            h2e338ed_1001    conda-forge
graphviz                  2.47.0               ha2e93d9_0    conda-forge
gtest                     1.10.0               h926bf3e_7    conda-forge
gtk2                      2.24.33              h55c0dba_0    conda-forge
gtk3                      3.24.27              h0de7d9a_0    conda-forge
gts                       0.7.6                hccb3bdf_2    conda-forge
harfbuzz                  2.8.0                h159f659_0    conda-forge
hdf5                      1.10.6          nompi_hc5d9132_1114    conda-forge
hicolor-icon-theme        0.17                 h694c41f_2    conda-forge
icu                       68.1                 h74dc148_0    conda-forge
ilmbase                   2.5.5                hfab91a5_0    conda-forge
jasper                    1.900.1           h636a363_1006    conda-forge
jpeg                      9d                   hbcb3906_0    conda-forge
jsoncpp                   1.9.4                h926bf3e_1    conda-forge
jxrlib                    1.1                  h35c211d_2    conda-forge
kiwisolver                1.3.1            py38hd9c93a9_1    conda-forge
krb5                      1.17.2               h60d9502_0    conda-forge
lame                      3.100             h35c211d_1001    conda-forge
lcms2                     2.12                 h577c468_0    conda-forge
libapr                    1.7.0                hbcf498f_4    conda-forge
libapriconv               1.2.2                hbcf498f_4    conda-forge
libaprutil                1.6.1                ha206e0f_4    conda-forge
libassuan                 2.5.4                h61578c0_0    conda-forge
libblas                   3.9.0                8_openblas    conda-forge
libcblas                  3.9.0                8_openblas    conda-forge
libccd                    2.1                  hb1e8313_1    conda-forge
libclang                  11.1.0          default_he082bbe_0    conda-forge
libcurl                   7.75.0               h8ef9fac_0    conda-forge
libcxx                    11.1.0               habf9029_0    conda-forge
libedit                   3.1.20191231         h0678c8f_2    conda-forge
libev                     4.33                 haf1e3a3_1    conda-forge
libffi                    3.3                  h046ec9c_2    conda-forge
libgd                     2.3.0                h55673e3_1    conda-forge
libgfortran               5.0.0           9_3_0_h6c81a4c_20    conda-forge
libgfortran5              9.3.0               h6c81a4c_20    conda-forge
libglib                   2.66.7               hd556434_1    conda-forge
libgpg-error              1.41                 h046ec9c_0    conda-forge
libiconv                  1.16                 haf1e3a3_0    conda-forge
libignition-cmake2        2.6.2                h046ec9c_1    conda-forge
libignition-common3       3.11.1               hca1d88e_0    conda-forge
libignition-fuel-tools4   4.3.0                h65c21be_2    conda-forge
libignition-math6         6.7.0                h046ec9c_1    conda-forge
libignition-msgs5         5.3.0                hf2f16fe_6    conda-forge
libignition-tools1        1.0.0                h0ed246b_3    conda-forge
libignition-transport8    8.1.0                h99b938e_6    conda-forge
liblapack                 3.9.0                8_openblas    conda-forge
liblapacke                3.9.0                8_openblas    conda-forge
libllvm11                 11.1.0               hd011deb_0    conda-forge
libnghttp2                1.43.0               h07e645a_0    conda-forge
libogg                    1.3.4                h35c211d_1    conda-forge
libopenblas               0.3.12          openmp_h54245bb_1    conda-forge
libopencv                 4.5.1            py38h3a1a88b_0    conda-forge
libpng                    1.6.37               h7cec526_2    conda-forge
libpq                     13.1                 h052a64a_2    conda-forge
libprotobuf               3.15.6               hcf210ce_0    conda-forge
libraw                    0.20.2               hefd3b78_1    conda-forge
librsvg                   2.50.3               hd4300c0_1    conda-forge
libsdformat               9.3.0                h087a4fc_3    conda-forge
libsodium                 1.0.18               hbcb3906_1    conda-forge
libssh2                   1.9.0                h52ee1ee_6    conda-forge
libtar                    1.2.20            hbcf498f_1002    conda-forge
libtheora                 1.1.1             haf1e3a3_1004    conda-forge
libtiff                   4.2.0                h355d032_0    conda-forge
libtool                   2.4.6             h2e338ed_1007    conda-forge
libuv                     1.41.0               hbcf498f_0    conda-forge
libvorbis                 1.3.7                h046ec9c_0    conda-forge
libwebp                   1.2.0                h1648767_0    conda-forge
libwebp-base              1.2.0                h0d85af4_1    conda-forge
libxcb                    1.13              h35c211d_1003    conda-forge
libxml2                   2.9.10               h802ca4f_3    conda-forge
libzip                    1.7.3                hbc046b2_0    conda-forge
llvm-openmp               11.0.1               h7c73e74_0    conda-forge
log4cxx                   0.11.0               h1598841_2    conda-forge
lz4                       3.1.3            py38hdb231c4_0    conda-forge
lz4-c                     1.9.3                h046ec9c_0    conda-forge
matplotlib-base           3.3.4            py38hb24f337_0    conda-forge
mysql-common              8.0.23               h694c41f_1    conda-forge
mysql-libs                8.0.23               hbeb7981_1    conda-forge
ncurses                   6.2                  h2e338ed_4    conda-forge
netifaces                 0.10.9          py38h5406a74_1003    conda-forge
nettle                    3.6                  hedd7734_0    conda-forge
nose                      1.3.7                   py_1006    conda-forge
nspr                      4.30                 hcd9eead_0    conda-forge
nss                       3.47                 hc0980d9_0    conda-forge
numpy                     1.20.1           py38h64deac9_0    conda-forge
ogre                      1.10.12              ha2b6a94_7    conda-forge
olefile                   0.46               pyh9f0ad1d_1    conda-forge
openexr                   2.5.5                h7fa7ffa_0    conda-forge
openh264                  2.1.1                hfd3ada9_0    conda-forge
openjpeg                  2.4.0                h6cbf5cd_0    conda-forge
openssl                   1.1.1j               hbcf498f_0    conda-forge
orocos-kdl                1.4.0                hb1e8313_0    conda-forge
pango                     1.42.4               ha86e081_5    conda-forge
paramiko                  2.7.2              pyh9f0ad1d_0    conda-forge
pcl                       1.11.1               h6d0ec6a_3    conda-forge
pcre                      8.44                 hb1e8313_0    conda-forge
pillow                    8.1.2            py38h83525de_0    conda-forge
pip                       21.0.1             pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               hbcb3906_0    conda-forge
pkg-config                0.29.2            h31203cd_1008    conda-forge
poco                      1.10.1               hffb511f_1    conda-forge
protobuf                  3.15.6           py38ha048514_0    conda-forge
psutil                    5.8.0            py38h5406a74_1    conda-forge
pthread-stubs             0.4               hc929b4f_1001    conda-forge
pugixml                   1.11.4               h046ec9c_0    conda-forge
py-opencv                 4.5.1            py38h9bb44b7_0    conda-forge
pycairo                   1.20.0           py38h26abc9d_1    conda-forge
pycparser                 2.20               pyh9f0ad1d_2    conda-forge
pycryptodome              3.10.1           py38h0d179df_0    conda-forge
pycryptodomex             3.10.1           py38hca655e8_0    conda-forge
pydot                     1.4.2            py38h50d1736_0    conda-forge
pynacl                    1.4.0            py38h5406a74_2    conda-forge
pyopengl                  3.1.5                      py_0    conda-forge
pyparsing                 2.4.7              pyh9f0ad1d_0    conda-forge
pyqt                      5.12.3           py38h50d1736_7    conda-forge
pyqt-impl                 5.12.3           py38h721a93c_7    conda-forge
pyqt5-sip                 4.19.18          py38h5745d40_7    conda-forge
pyqtchart                 5.12             py38h721a93c_7    conda-forge
pyqtwebengine             5.12.1           py38h721a93c_7    conda-forge
python                    3.8.8           h4e93d89_0_cpython    conda-forge
python-dateutil           2.8.1                      py_0    conda-forge
python-gnupg              0.4.6              pyh9f0ad1d_0    conda-forge
python-orocos-kdl         1.4.0            py38h11c0d25_0    conda-forge
python_abi                3.8                      1_cp38    conda-forge
pyyaml                    5.4.1            py38h5406a74_0    conda-forge
qhull                     2020.2               h940c156_0    conda-forge
qt                        5.12.9               h126340a_4    conda-forge
qwt                       6.1.6                h3050948_0    conda-forge
readline                  8.0                  h0678c8f_2    conda-forge
rhash                     1.4.1                h35c211d_0    conda-forge
ros-distro-mutex          0.1.0                    noetic    robostack
ros-noetic-actionlib      1.13.2           py38h22c0035_5    robostack
ros-noetic-actionlib-msgs 1.13.1           py38h7e910e5_5    robostack
ros-noetic-actionlib-tutorials 0.2.0            py38h7e910e5_5    robostack
ros-noetic-angles         1.9.13           py38h7e910e5_5    robostack
ros-noetic-bond           1.8.6            py38h7e910e5_5    robostack
ros-noetic-bond-core      1.8.6            py38h7e910e5_5    robostack
ros-noetic-bondcpp        1.8.6            py38h22c0035_5    robostack
ros-noetic-bondpy         1.8.6            py38h7e910e5_5    robostack
ros-noetic-camera-calibration 1.15.3           py38h7e910e5_5    robostack
ros-noetic-camera-calibration-parsers 1.12.0           py38h555b5da_5    robostack
ros-noetic-camera-info-manager 1.12.0           py38h555b5da_5    robostack
ros-noetic-catkin         0.8.9            py38h7e910e5_5    robostack
ros-noetic-class-loader   0.5.0            py38h69fe0a9_5    robostack
ros-noetic-cmake-modules  0.5.0            py38h7e910e5_5    robostack
ros-noetic-common-msgs    1.13.1           py38h7e910e5_5    robostack
ros-noetic-common-tutorials 0.2.0            py38h7e910e5_5    robostack
ros-noetic-compressed-depth-image-transport 1.14.0           py38h7e910e5_5    robostack
ros-noetic-compressed-image-transport 1.14.0           py38h7e910e5_5    robostack
ros-noetic-control-msgs   1.5.2            py38h7e910e5_5    robostack
ros-noetic-control-toolbox 1.18.2           py38h7e910e5_5    robostack
ros-noetic-controller-interface 0.19.4           py38h7e910e5_5    robostack
ros-noetic-controller-manager 0.19.4           py38h7e910e5_5    robostack
ros-noetic-controller-manager-msgs 0.19.4           py38h7e910e5_5    robostack
ros-noetic-cpp-common     0.7.2            py38hcd6ec0c_5    robostack
ros-noetic-cv-bridge      1.15.0           py38h83ae5d1_5    robostack
ros-noetic-depth-image-proc 1.15.3           py38h555b5da_5    robostack
ros-noetic-desktop        1.5.0            py38h7e910e5_5    robostack
ros-noetic-desktop-full   1.5.0            py38h7e910e5_5    robostack
ros-noetic-diagnostic-aggregator 1.10.3           py38h7e910e5_5    robostack
ros-noetic-diagnostic-analysis 1.10.3           py38h7e910e5_5    robostack
ros-noetic-diagnostic-common-diagnostics 1.10.3           py38h7e910e5_5    robostack
ros-noetic-diagnostic-msgs 1.13.1           py38h7e910e5_5    robostack
ros-noetic-diagnostic-updater 1.10.3           py38h7e910e5_5    robostack
ros-noetic-diagnostics    1.10.3           py38h7e910e5_5    robostack
ros-noetic-diff-drive-controller 0.18.1           py38h555b5da_5    robostack
ros-noetic-dynamic-reconfigure 1.7.1            py38h22c0035_5    robostack
ros-noetic-eigen-conversions 1.13.2           py38h7e910e5_5    robostack
ros-noetic-executive-smach 2.5.0            py38h7e910e5_5    robostack
ros-noetic-filters        1.9.1            py38h22c0035_5    robostack
ros-noetic-forward-command-controller 0.18.1           py38h7e910e5_5    robostack
ros-noetic-gazebo-dev     2.9.1            py38h14753d4_5    robostack
ros-noetic-gazebo-msgs    2.9.1            py38h7e910e5_5    robostack
ros-noetic-gazebo-plugins 2.9.1            py38h7e910e5_5    robostack
ros-noetic-gazebo-ros     2.9.1            py38h7e910e5_5    robostack
ros-noetic-gazebo-ros-control 2.9.1            py38h7e910e5_5    robostack
ros-noetic-gazebo-ros-pkgs 2.9.1            py38h7e910e5_5    robostack
ros-noetic-gencpp         0.6.5            py38h7e910e5_5    robostack
ros-noetic-geneus         3.0.0            py38h7e910e5_5    robostack
ros-noetic-genlisp        0.4.18           py38h7e910e5_5    robostack
ros-noetic-genmsg         0.5.16           py38h7e910e5_5    robostack
ros-noetic-gennodejs      2.0.2            py38h7e910e5_5    robostack
ros-noetic-genpy          0.6.14           py38h7e910e5_5    robostack
ros-noetic-geometry       1.13.2           py38h7e910e5_5    robostack
ros-noetic-geometry-msgs  1.13.1           py38h7e910e5_5    robostack
ros-noetic-geometry-tutorials 0.2.3            py38h7e910e5_5    robostack
ros-noetic-gl-dependency  1.1.2            py38h7e910e5_5    robostack
ros-noetic-hardware-interface 0.19.4           py38h7e910e5_5    robostack
ros-noetic-image-common   1.12.0           py38h7e910e5_5    robostack
ros-noetic-image-geometry 1.15.0           py38h7e910e5_5    robostack
ros-noetic-image-pipeline 1.15.3           py38h7e910e5_5    robostack
ros-noetic-image-proc     1.15.3           py38h555b5da_5    robostack
ros-noetic-image-publisher 1.15.3           py38h7e910e5_5    robostack
ros-noetic-image-rotate   1.15.3           py38h7e910e5_5    robostack
ros-noetic-image-transport 1.12.0           py38h7e910e5_5    robostack
ros-noetic-image-transport-plugins 1.14.0           py38h7e910e5_5    robostack
ros-noetic-image-view     1.15.3           py38h99db3b8_5    robostack
ros-noetic-interactive-marker-tutorials 0.11.0           py38h7e910e5_5    robostack
ros-noetic-interactive-markers 1.12.0           py38h7e910e5_5    robostack
ros-noetic-joint-limits-interface 0.19.4           py38h7e910e5_5    robostack
ros-noetic-joint-state-controller 0.18.1           py38h7e910e5_5    robostack
ros-noetic-joint-state-publisher 1.15.0           py38h7e910e5_5    robostack
ros-noetic-joint-state-publisher-gui 1.15.0           py38h7e910e5_5    robostack
ros-noetic-kdl-conversions 1.13.2           py38h7e910e5_5    robostack
ros-noetic-kdl-parser     1.14.1           py38h7e910e5_5    robostack
ros-noetic-laser-assembler 1.7.8            py38h7e910e5_5    robostack
ros-noetic-laser-filters  1.8.11           py38h7e910e5_5    robostack
ros-noetic-laser-geometry 1.6.7            py38h555b5da_5    robostack
ros-noetic-laser-pipeline 1.6.4            py38h7e910e5_5    robostack
ros-noetic-librviz-tutorial 0.11.0           py38he3dbe5f_5    robostack
ros-noetic-map-msgs       1.14.1           py38h7e910e5_5    robostack
ros-noetic-media-export   0.3.0            py38h7e910e5_5    robostack
ros-noetic-message-filters 1.15.9           py38h22c0035_5    robostack
ros-noetic-message-generation 0.4.1            py38h7e910e5_5    robostack
ros-noetic-message-runtime 0.4.13           py38h7e910e5_5    robostack
ros-noetic-mk             1.15.7           py38h7e910e5_5    robostack
ros-noetic-nav-msgs       1.13.1           py38h7e910e5_5    robostack
ros-noetic-nodelet        1.10.1           py38h555b5da_5    robostack
ros-noetic-nodelet-core   1.10.1           py38h7e910e5_5    robostack
ros-noetic-nodelet-topic-tools 1.10.1           py38h555b5da_5    robostack
ros-noetic-nodelet-tutorial-math 0.2.0            py38h7e910e5_5    robostack
ros-noetic-pcl-conversions 1.7.2            py38h7e910e5_5    robostack
ros-noetic-pcl-msgs       0.3.0            py38h7e910e5_5    robostack
ros-noetic-pcl-ros        1.7.2            py38h7e910e5_5    robostack
ros-noetic-perception     1.5.0            py38h7e910e5_5    robostack
ros-noetic-perception-pcl 1.7.2            py38h7e910e5_5    robostack
ros-noetic-pluginlib      1.13.0           py38h22c0035_5    robostack
ros-noetic-pluginlib-tutorials 0.2.0            py38h7e910e5_5    robostack
ros-noetic-polled-camera  1.12.0           py38h7e910e5_5    robostack
ros-noetic-position-controllers 0.18.1           py38h7e910e5_5    robostack
ros-noetic-python-qt-binding 0.4.3            py38he3dbe5f_5    robostack
ros-noetic-qt-dotgraph    0.4.2            py38h7e910e5_5    robostack
ros-noetic-qt-gui         0.4.2            py38he3dbe5f_5    robostack
ros-noetic-qt-gui-cpp     0.4.2            py38he3dbe5f_5    robostack
ros-noetic-qt-gui-py-common 0.4.2            py38h7e910e5_5    robostack
ros-noetic-qwt-dependency 1.1.1            py38h7e910e5_5    robostack
ros-noetic-realtime-tools 1.16.1           py38h7e910e5_5    robostack
ros-noetic-resource-retriever 1.12.6           py38h314c39b_5    robostack
ros-noetic-robot          1.5.0            py38h7e910e5_5    robostack
ros-noetic-robot-state-publisher 1.15.0           py38h7e910e5_5    robostack
ros-noetic-ros            1.15.7           py38h7e910e5_5    robostack
ros-noetic-ros-base       1.5.0            py38h7e910e5_5    robostack
ros-noetic-ros-comm       1.15.9           py38h7e910e5_5    robostack
ros-noetic-ros-core       1.5.0            py38h7e910e5_5    robostack
ros-noetic-ros-environment 1.3.2            py38h7e910e5_5    robostack
ros-noetic-ros-tutorials  0.10.2           py38h7e910e5_5    robostack
ros-noetic-rosbag         1.15.9           py38h22c0035_5    robostack
ros-noetic-rosbag-migration-rule 1.0.1            py38h7e910e5_5    robostack
ros-noetic-rosbag-storage 1.15.9           py38hb645d9c_5    robostack
ros-noetic-rosbash        1.15.7           py38h7e910e5_5    robostack
ros-noetic-rosboost-cfg   1.15.7           py38h7e910e5_5    robostack
ros-noetic-rosbuild       1.15.7           py38h7e910e5_5    robostack
ros-noetic-rosclean       1.15.7           py38h7e910e5_5    robostack
ros-noetic-rosconsole     1.14.3           py38hf17848c_5    robostack
ros-noetic-rosconsole-bridge 0.5.4            py38h7b88c24_5    robostack
ros-noetic-roscpp         1.15.9           py38h22c0035_5    robostack
ros-noetic-roscpp-core    0.7.2            py38h7e910e5_5    robostack
ros-noetic-roscpp-serialization 0.7.2            py38h7e910e5_5    robostack
ros-noetic-roscpp-traits  0.7.2            py38h7e910e5_5    robostack
ros-noetic-roscpp-tutorials 0.10.2           py38h22c0035_5    robostack
ros-noetic-roscreate      1.15.7           py38h7e910e5_5    robostack
ros-noetic-rosgraph       1.15.9           py38h7e910e5_5    robostack
ros-noetic-rosgraph-msgs  1.11.3           py38h7e910e5_5    robostack
ros-noetic-roslang        1.15.7           py38h7e910e5_5    robostack
ros-noetic-roslaunch      1.15.9           py38h7e910e5_5    robostack
ros-noetic-roslib         1.15.7           py38h22c0035_5    robostack
ros-noetic-roslint        0.12.0           py38h7e910e5_5    robostack
ros-noetic-roslisp        1.9.24           py38h7e910e5_5    robostack
ros-noetic-roslz4         1.15.9           py38h7e910e5_5    robostack
ros-noetic-rosmake        1.15.7           py38h7e910e5_5    robostack
ros-noetic-rosmaster      1.15.9           py38h7e910e5_5    robostack
ros-noetic-rosmsg         1.15.9           py38h7e910e5_5    robostack
ros-noetic-rosnode        1.15.9           py38h7e910e5_5    robostack
ros-noetic-rosout         1.15.9           py38h7e910e5_5    robostack
ros-noetic-rospack        2.6.2            py38h22c0035_5    robostack
ros-noetic-rosparam       1.15.9           py38h7e910e5_5    robostack
ros-noetic-rospy          1.15.9           py38h7e910e5_5    robostack
ros-noetic-rospy-tutorials 0.10.2           py38h7e910e5_5    robostack
ros-noetic-rosservice     1.15.9           py38h7e910e5_5    robostack
ros-noetic-rostest        1.15.9           py38h22c0035_5    robostack
ros-noetic-rostime        0.7.2            py38h22c0035_5    robostack
ros-noetic-rostopic       1.15.9           py38h7e910e5_5    robostack
ros-noetic-rosunit        1.15.7           py38h7e910e5_5    robostack
ros-noetic-roswtf         1.15.9           py38h7e910e5_5    robostack
ros-noetic-rqt-action     0.4.9            py38h7e910e5_5    robostack
ros-noetic-rqt-bag        0.5.1            py38h7e910e5_5    robostack
ros-noetic-rqt-bag-plugins 0.5.1            py38h7e910e5_5    robostack
ros-noetic-rqt-common-plugins 0.4.9            py38h7e910e5_5    robostack
ros-noetic-rqt-console    0.4.11           py38h7e910e5_5    robostack
ros-noetic-rqt-dep        0.4.10           py38h7e910e5_5    robostack
ros-noetic-rqt-graph      0.4.14           py38h7e910e5_5    robostack
ros-noetic-rqt-gui        0.5.2            py38h7e910e5_5    robostack
ros-noetic-rqt-gui-cpp    0.5.2            py38he3dbe5f_5    robostack
ros-noetic-rqt-gui-py     0.5.2            py38h7e910e5_5    robostack
ros-noetic-rqt-image-view 0.4.16           py38he3dbe5f_5    robostack
ros-noetic-rqt-launch     0.4.9            py38h7e910e5_5    robostack
ros-noetic-rqt-logger-level 0.4.11           py38h7e910e5_5    robostack
ros-noetic-rqt-moveit     0.5.9            py38h7e910e5_5    robostack
ros-noetic-rqt-msg        0.4.9            py38h7e910e5_5    robostack
ros-noetic-rqt-nav-view   0.5.7            py38h7e910e5_5    robostack
ros-noetic-rqt-plot       0.4.13           py38h7e910e5_5    robostack
ros-noetic-rqt-pose-view  0.5.10           py38h7e910e5_5    robostack
ros-noetic-rqt-publisher  0.4.9            py38h7e910e5_5    robostack
ros-noetic-rqt-py-common  0.5.2            py38h7e910e5_5    robostack
ros-noetic-rqt-py-console 0.4.9            py38h7e910e5_5    robostack
ros-noetic-rqt-reconfigure 0.5.3            py38h7e910e5_5    robostack
ros-noetic-rqt-robot-dashboard 0.5.8            py38h7e910e5_5    robostack
ros-noetic-rqt-robot-monitor 0.5.13           py38h7e910e5_5    robostack
ros-noetic-rqt-robot-plugins 0.5.8            py38h7e910e5_5    robostack
ros-noetic-rqt-robot-steering 0.5.12           py38h7e910e5_5    robostack
ros-noetic-rqt-runtime-monitor 0.5.8            py38h7e910e5_5    robostack
ros-noetic-rqt-rviz       0.6.1            py38h3b5c783_5    robostack
ros-noetic-rqt-service-caller 0.4.9            py38h7e910e5_5    robostack
ros-noetic-rqt-shell      0.4.10           py38h7e910e5_5    robostack
ros-noetic-rqt-srv        0.4.8            py38h7e910e5_5    robostack
ros-noetic-rqt-tf-tree    0.6.2            py38h7e910e5_5    robostack
ros-noetic-rqt-top        0.4.9            py38h7e910e5_5    robostack
ros-noetic-rqt-topic      0.4.12           py38h7e910e5_5    robostack
ros-noetic-rqt-web        0.4.9            py38h7e910e5_5    robostack
ros-noetic-rviz           1.14.5           py38hb993ecd_6    robostack
ros-noetic-rviz-plugin-tutorials 0.11.0           py38he3dbe5f_5    robostack
ros-noetic-rviz-python-tutorial 0.11.0           py38h7e910e5_5    robostack
ros-noetic-self-test      1.10.3           py38h7e910e5_5    robostack
ros-noetic-sensor-msgs    1.13.1           py38h7e910e5_5    robostack
ros-noetic-shape-msgs     1.13.1           py38h7e910e5_5    robostack
ros-noetic-simulators     1.5.0            py38h7e910e5_5    robostack
ros-noetic-smach          2.5.0            py38h7e910e5_5    robostack
ros-noetic-smach-msgs     2.5.0            py38h7e910e5_5    robostack
ros-noetic-smach-ros      2.5.0            py38h7e910e5_5    robostack
ros-noetic-smclib         1.8.6            py38h7e910e5_5    robostack
ros-noetic-std-msgs       0.5.13           py38h7e910e5_5    robostack
ros-noetic-std-srvs       1.11.3           py38h7e910e5_5    robostack
ros-noetic-stereo-image-proc 1.15.3           py38h7e910e5_5    robostack
ros-noetic-stereo-msgs    1.13.1           py38h7e910e5_5    robostack
ros-noetic-tf             1.13.2           py38heb8910a_5    robostack
ros-noetic-tf-conversions 1.13.2           py38h7e910e5_5    robostack
ros-noetic-tf2            0.7.5            py38h7b88c24_5    robostack
ros-noetic-tf2-eigen      0.7.5            py38h7e910e5_5    robostack
ros-noetic-tf2-geometry-msgs 0.7.5            py38h7e910e5_5    robostack
ros-noetic-tf2-kdl        0.7.5            py38h7e910e5_5    robostack
ros-noetic-tf2-msgs       0.7.5            py38h7e910e5_5    robostack
ros-noetic-tf2-py         0.7.5            py38h7e910e5_5    robostack
ros-noetic-tf2-ros        0.7.5            py38h7e910e5_5    robostack
ros-noetic-theora-image-transport 1.14.0           py38h7e910e5_5    robostack
ros-noetic-topic-tools    1.15.9           py38h7e910e5_5    robostack
ros-noetic-trajectory-msgs 1.13.1           py38h7e910e5_5    robostack
ros-noetic-transmission-interface 0.19.4           py38h7e910e5_5    robostack
ros-noetic-turtle-actionlib 0.2.0            py38h7e910e5_5    robostack
ros-noetic-turtle-tf      0.2.3            py38h7e910e5_5    robostack
ros-noetic-turtle-tf2     0.2.3            py38h7e910e5_5    robostack
ros-noetic-turtlesim      0.10.2           py38h1cb76f6_5    robostack
ros-noetic-urdf           1.13.2           py38h7e910e5_5    robostack
ros-noetic-urdf-parser-plugin 1.13.2           py38h7e910e5_5    robostack
ros-noetic-urdf-sim-tutorial 0.5.1            py38h7e910e5_5    robostack
ros-noetic-urdf-tutorial  0.5.0            py38h7e910e5_5    robostack
ros-noetic-vision-opencv  1.15.0           py38h7e910e5_5    robostack
ros-noetic-visualization-marker-tutorials 0.11.0           py38h7e910e5_5    robostack
ros-noetic-visualization-msgs 1.13.1           py38h7e910e5_5    robostack
ros-noetic-visualization-tutorials 0.11.0           py38h7e910e5_5    robostack
ros-noetic-viz            1.5.0            py38h7e910e5_5    robostack
ros-noetic-webkit-dependency 1.1.2            py38h7e910e5_5    robostack
ros-noetic-xacro          1.14.6           py38h7e910e5_5    robostack
ros-noetic-xmlrpcpp       1.15.9           py38h22c0035_5    robostack
rosdep                    0.20.0           py38h50d1736_0    conda-forge
rosdistro                 0.8.3            py38h50d1736_2    conda-forge
rospkg                    1.2.10             pyh44b312d_0    conda-forge
ruby                      2.7.2                hf0cbd5d_3    conda-forge
sbcl                      1.2.11                        0    conda-forge
sdl2                      2.0.12               h2e338ed_1    conda-forge
setuptools                49.6.0           py38h50d1736_3    conda-forge
sip                       4.19.25          py38ha048514_0    conda-forge
six                       1.15.0             pyh9f0ad1d_0    conda-forge
sqlite                    3.34.0               h17101e1_0    conda-forge
swig                      4.0.2                hce5123c_2    conda-forge
tbb                       2020.2               h940c156_4    conda-forge
tbb-devel                 2020.2               h940c156_4    conda-forge
tinyxml                   2.6.2                h65a07b1_2    conda-forge
tinyxml2                  8.0.0                h1c7c35f_1    conda-forge
tk                        8.6.10               h0419947_1    conda-forge
tornado                   6.1              py38h5406a74_1    conda-forge
unixodbc                  2.3.9                hd863c23_0    conda-forge
urdfdom                   2.3.3                h879752b_0    conda-forge
urdfdom_headers           1.0.5                h879752b_2    conda-forge
wheel                     0.36.2             pyhd3deb0d_0    conda-forge
x264                      1!161.3030           h35c211d_0    conda-forge
xorg-compositeproto       0.4.2             hbcf498f_1001    conda-forge
xorg-damageproto          1.2.1             h0b31af3_1002    conda-forge
xorg-fixesproto           5.0               h1de35cc_1002    conda-forge
xorg-inputproto           2.3.2             h35c211d_1002    conda-forge
xorg-kbproto              1.0.7             h35c211d_1002    conda-forge
xorg-libice               1.0.10               h0d85af4_0    conda-forge
xorg-libsm                1.2.3             h0d85af4_1000    conda-forge
xorg-libx11               1.6.12               haf1e3a3_0    conda-forge
xorg-libxau               1.0.9                h35c211d_0    conda-forge
xorg-libxaw               1.0.13            haf1e3a3_1002    conda-forge
xorg-libxcomposite        0.4.5                hbcf498f_0    conda-forge
xorg-libxcursor           1.2.0                h01d97ff_0    conda-forge
xorg-libxdamage           1.1.5                hbcf498f_0    conda-forge
xorg-libxdmcp             1.1.3                h35c211d_0    conda-forge
xorg-libxext              1.3.4                h01d97ff_0    conda-forge
xorg-libxfixes            5.0.3             h01d97ff_1004    conda-forge
xorg-libxi                1.7.10               h01d97ff_0    conda-forge
xorg-libxinerama          1.1.4             h1c7c35f_1001    conda-forge
xorg-libxmu               1.1.3                h0b31af3_0    conda-forge
xorg-libxpm               3.5.13               h0b31af3_0    conda-forge
xorg-libxrandr            1.5.2                h0b31af3_1    conda-forge
xorg-libxrender           0.9.10            h01d97ff_1002    conda-forge
xorg-libxt                1.1.5             h01d97ff_1003    conda-forge
xorg-libxtst              1.2.3             h0b31af3_1002    conda-forge
xorg-randrproto           1.5.0             h0b31af3_1001    conda-forge
xorg-recordproto          1.14.2            h0b31af3_1002    conda-forge
xorg-renderproto          0.11.1            h0d85af4_1002    conda-forge
xorg-util-macros          1.19.3               h35c211d_0    conda-forge
xorg-xextproto            7.3.0             h35c211d_1002    conda-forge
xorg-xineramaproto        1.2.1             hbcf498f_1001    conda-forge
xorg-xproto               7.0.31            h35c211d_1007    conda-forge
xz                        5.2.5                haf1e3a3_1    conda-forge
yaml                      0.2.5                haf1e3a3_0    conda-forge
yaml-cpp                  0.6.3                hb1e8313_4    conda-forge
zeromq                    4.3.4                h1c7c35f_0    conda-forge
zlib                      1.2.11            h7795811_1010    conda-forge
zstd                      1.4.9                h582d3a0_0    conda-forge
zziplib                   0.13.69              hb0a8c7a_1    conda-forge

@traversaro
Copy link
Member

I suspect what could be happening is somekind of ABI incompatibility or ABI conflict, can you please run this command and report the result?

otool -L ${CONDA_PREFIX}/lib/python3.8/site-packages/tf2_py/_tf2.so

@sonelu
Copy link
Contributor Author

sonelu commented Mar 17, 2021

Please see below:

(robostack) Alex3-2:catkin_ws Alex$ otool -L ${CONDA_PREFIX}/lib/python3.8/site-packages/tf2_py/_tf2.so
/Users/Alex/anaconda3/envs/robostack/lib/python3.8/site-packages/tf2_py/_tf2.so:
	@rpath/_tf2.so (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libpython3.8.dylib (compatibility version 3.8.0, current version 3.8.0)
	@rpath/libtf2.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/librostime.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libc++.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)

@traversaro
Copy link
Member

The Python bindings do not link anything strange, can you do the same with libtf2.dylib (that I guess is in ${CONDA_PREFIX}/lib)?

@sonelu
Copy link
Contributor Author

sonelu commented Mar 17, 2021

(robostack) Alex3-2:catkin_ws Alex$ otool -L ${CONDA_PREFIX}/lib/libtf2.dylib 
/Users/Alex/anaconda3/envs/robostack/lib/libtf2.dylib:
	@rpath/libtf2.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/librostime.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libconsole_bridge.1.0.dylib (compatibility version 1.0.0, current version 0.0.0)
	@rpath/libc++.1.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)

@traversaro
Copy link
Member

Ok, then probably I was wrong, nothing strange appears from that.

@sonelu
Copy link
Contributor Author

sonelu commented Mar 17, 2021

I'm trying to make a fresh install on a linux VM to check if it happens there too. Will post shortly when I'm done.

@sonelu
Copy link
Contributor Author

sonelu commented Mar 17, 2021

Seems to be working fine on Linux.
Installed on a brand new Ubuntu 20.4 with conda 4.9.2.
Installed ros-noetic-desktop-full.

(base) ros@ros-test:~$ conda activate rs
(rs) ros@ros-test:~$ python
Python 3.8.8 | packaged by conda-forge | (default, Feb 20 2021, 16:22:27) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tf2_py
>>> 

@Tobias-Fischer
Copy link
Collaborator

See ros/geometry2#502 for the likely source of the segfault, and #87 for a potential patch. I'll merge this PR once it builds successfully, it would be great if once that's done you could upgrade ros-noetic-tf2-py and try again @sonelu.

@Tobias-Fischer
Copy link
Collaborator

Hi @sonelu - please try whether it works, and feel free to reopen if it doesn't.

@sonelu
Copy link
Contributor Author

sonelu commented Mar 18, 2021

Just as a hint, might need to apply the patch also to the ROS2 stack too. I haven't been running that yet, but I assume the same would happen there.

@Tobias-Fischer
Copy link
Collaborator

Great - would you be happy to create the patch?

@sonelu
Copy link
Contributor Author

sonelu commented Mar 18, 2021

I could try. Two questions:

  1. sorry for probably a basic question but I haven't been doing patches before: do you create the patch content manually or do you have another method (ex. branch the repo, change the file, git diff between the versions and dump to .patch, then commit only the .patch without the changes to the original file)?

  2. in this case, because the changes are OS conditioned (if (NOT APPLE) ... etc.) couldn't we save it into a ros-foxy-tf2_py.patch instead of ros-foxy-tf2_py.osx.patch? I know that it will create new builds for Linux and Windows too, but I guess it would make it easier to propagate upstream changes when necessary.

@Tobias-Fischer
Copy link
Collaborator

Hi @sonelu

  1. Yes, the git diff way that you describe would work exactly like that. Alternatively, you can create a PR upstream (for tf2_py in ROS1, it would be Fix Python Linking on OSX ros/geometry2#502) and append .diff at the end of the URL (i.e. https://github.com/ros/geometry2/pull/502.diff) to get the diff from the PR. Either method works fine.
  2. Yes, you are correct. It could be saved without the .osx.

@sonelu
Copy link
Contributor Author

sonelu commented Mar 19, 2021

Actually, on second inspection the CMakeList.txt on ros2/geometry2/tf2_py was completely re-written and I don't see any link_libraries(${PYTHON_LIBRARIES}) that would require OS conditioning. The only question is if:

if(APPLE)
  set_target_properties(tf2_py PROPERTIES
                        LINK_FLAGS "-undefined dynamic_lookup")
endif()

is still needed.

I'll try to setup a ROS2 environment and see if that segmentation fault is thrown with the current code.

@wolfv
Copy link
Member

wolfv commented Mar 19, 2021

@sonelu you might be aware that we have some initial packages for ors-foxy over at the robostack/ros-foxy repo? They are also on the robostack channel. here is the list of available packages per platform: https://robostack.github.io/foxy.html

So you can just run mamba / conda create ros2 ros-foxy-tf2-py -c robostack -c conda-forge and it should work. curious to hear about it.

@wolfv
Copy link
Member

wolfv commented Mar 19, 2021

PS if you have packages missing for ROS Foxy, we can try to add them. It's the same process as noetic.

@sonelu
Copy link
Contributor Author

sonelu commented Mar 19, 2021

Yes, I was aware of that and that is how I was planning to setup the environment.
I'll let you know how it's going.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants