Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Bundled `idlc` in cyclonedds 11.0.1 Linux wheel crashes with segmentation fault

未关闭
#336 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
冷清
技术栈
python
领域
build-system, cli

调研方向

首先,使用随附的 .libs/idlc 可执行文件、cyclonedds.tools.wheel_idlc command() 以及空环境加载器命令重现崩溃。结合 wheel 内容阅读 cyclonedds/idlc.py 和 cyclonedds/tools/wheel_idlc/init.py。完成的标准是 idlc -h 正常退出,并且 idlc -l py example.idl 可以在不发生 segmentation fault 的情况下运行。

由索引模型根据 Issue 内容生成。

描述

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:

idlc -h

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:

idlc -l py example.idl

without the executable terminating with a segmentation fault.

主要语言
Python
星标
110
派生
68
平均合并
3 天 5 小时
30 天内合并 PR
1

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

eclipse-cyclonedds/cyclonedds-python 的其他 Issue

查看 eclipse-cyclonedds/cyclonedds-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。