Description
The idlc executable bundled with cyclonedds==11.0.1 crashes immediately with a segmentation fault on Linux.
The issue has been reproduced on both Ubuntu 22.04 and Ubuntu 24.04. It is also reproducible in a newly created Ubuntu Docker container.
The same behavior occurs when running the bundled idlc directly, through cyclonedds.tools.wheel_idlc, and when invoking the dynamic loader with --list.
Tested environments
Ubuntu 22.04
OS: Ubuntu 22.04
Architecture: x86_64
cyclonedds: 11.0.1
Wheel SHA256:
9eaa0e08ea41206b495f36fa4c008ff89113f78a39e54f4a17793d9a68e7b978
Ubuntu 24.04
OS: Ubuntu 24.04
Architecture: x86_64
cyclonedds: 11.0.1
Wheel SHA256:
3e96507088c57165f7c189c3a85be866f74c7449fb0cbc6316ad306e5f599be1
The issue was also reproduced in a clean Ubuntu Docker container.
Steps to reproduce
Install the package:
python3 -m pip install cyclonedds==11.0.1
Locate the installed idlc:
python3 -m pip show -f cyclonedds | grep idlc
For example, on Ubuntu 22.04:
cyclonedds/.libs/idlc
cyclonedds/__idlc__.py
cyclonedds/tools/wheel_idlc/__init__.py
The bundled executable is located at:
~/.local/lib/python3.10/site-packages/cyclonedds/.libs/idlc
Run it directly:
~/.local/lib/python3.10/site-packages/cyclonedds/.libs/idlc -h
Actual result
Segmentation fault (core dumped)
Reproduction through the Python wrapper
Run:
python3 -c \
'from cyclonedds.tools.wheel_idlc import command; command()' \
-h
Actual result
Segmentation fault (core dumped)
Reproduction with an empty environment
SITE=/home/user/.local/lib/python3.10/site-packages
IDLC=$SITE/cyclonedds/.libs/idlc
env -i \
HOME="$HOME" \
PATH=/usr/bin:/bin \
/lib64/ld-linux-x86-64.so.2 --list "$IDLC"
echo $?
Actual result
Segmentation fault (core dumped)
139
Expected behavior
Running:
or the bundled equivalent:
/path/to/site-packages/cyclonedds/.libs/idlc -h
should display the idlc command-line help and exit normally.
It should also be possible to use the bundled compiler for Python IDL generation, for example:
without the executable terminating with a segmentation fault.
Description
The
idlcexecutable bundled withcyclonedds==11.0.1crashes immediately with a segmentation fault on Linux.The issue has been reproduced on both Ubuntu 22.04 and Ubuntu 24.04. It is also reproducible in a newly created Ubuntu Docker container.
The same behavior occurs when running the bundled
idlcdirectly, throughcyclonedds.tools.wheel_idlc, and when invoking the dynamic loader with--list.Tested environments
Ubuntu 22.04
Ubuntu 24.04
The issue was also reproduced in a clean Ubuntu Docker container.
Steps to reproduce
Install the package:
Locate the installed
idlc:python3 -m pip show -f cyclonedds | grep idlcFor example, on Ubuntu 22.04:
The bundled executable is located at:
Run it directly:
~/.local/lib/python3.10/site-packages/cyclonedds/.libs/idlc -hActual result
Reproduction through the Python wrapper
Run:
python3 -c \ 'from cyclonedds.tools.wheel_idlc import command; command()' \ -hActual result
Reproduction with an empty environment
Actual result
Expected behavior
Running:
or the bundled equivalent:
should display the
idlccommand-line help and exit normally.It should also be possible to use the bundled compiler for Python IDL generation, for example:
without the executable terminating with a segmentation fault.