dev:tests/unit/image_stream.cpp 与实现脱节,BGRA8 断言拒绝但实现接受,Debug 下确定性 SIGABRT
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 68/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- cmake, cpp
調査の方向性
Read tests/unit/image_stream.cpp:34 alongside core/render/image_stream.cpp, especially ImageFrame::valid() and submit(). Reproduce the failure with the supplied Debug CMake build, then confirm the intended BGRA8 behavior with a maintainer. Done means the image_stream test no longer aborts in Debug and covers the agreed BGRA8 result, including conversion content if support is retained.
索引モデルが issue の本文から書いたものです。
説明
问题
上游测试套件在 Debug 构建下,image_stream 单测确定性 SIGABRT(连跑 3 次,3/3 复现,exit 134):断言 BGRA8 帧提交必须被拒绝,但实现已显式支持 BGRA8。这是 dev HEAD 既有问题(与 #71–#78 的修复提交无关);仅 assert 生效的 Debug 构建暴露,Release 下被 NDEBUG 掩盖成"通过"。
环境
| 项 | 值 |
|---|---|
| 系统 | Ubuntu 24.04.5,GCC 13.3.0,CMake 3.28.3 |
| EUI-NEO | dev 4691fc0a5c1fde6f3e22f1ac454ed87c7a17f722 |
| 配置 | Debug + bundled(GLFW 补丁脚本哈希需先修正,与本问题无关) |
复现
cmake -S . -B build-tests -DEUI_BUILD_TEST_FIXTURES=ON -DEUI_DEPS_MODE=bundled \
-DGLFW_BUILD_WAYLAND=OFF -DCMAKE_BUILD_TYPE=Debug
cmake --build build-tests --target image_stream
./build-tests/image_stream # 连续 3 次运行均 SIGABRT / exit 134
image_stream: tests/unit/image_stream.cpp:34: int main():
Assertion `!stream->submit({pixels, 4, 2, 16, core::render::ImagePixelFormat::BGRA8, 6})' failed.
根因
- 测试
tests/unit/image_stream.cpp:34(源自a969ed5)断言!submit({... BGRA8 ...}),用例参数合法(4x2、stride 16 = width*4); - 实现
core/render/image_stream.cpp:ImageFrame::valid()(约 :104-105)有case ImagePixelFormat::BGRA8:显式接受(要求 stride ≥ width*4 且 4 字节对齐——本用例恰好满足),submit()(约 :181-191)仅做valid()校验后入队并返回 true; - 断言与实现同源自
a969ed5,语义从未对齐,后续提交也未修正。
期望(建议修复,二选一)
- BGRA8 既然已支持:把断言改为提交成功,并补一条 BGRA→RGBA 转换内容正确性的用例(BGRA 是相机/BMP 常见格式,覆盖有价值)——倾向此方案;
- 若设计上仍要拒绝 BGRA8:恢复实现侧校验。
- 主要言語
- C++
- スター
- 2k
- フォーク
- 177
- 平均マージ
- 2日 1時間
- マージ済み PR(30日)
- 13
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
sudoevolve/EUI-NEO のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
sudoevolve/EUI-NEO#110 ·
メンテナーはふだん 2 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
sudoevolve/EUI-NEO#113 ·
メンテナーはふだん 2 日以内に返信
-
Windows transparent margins composite as black: bundled GLFW redirection alpha is uninitialized対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 22/100
sudoevolve/EUI-NEO#109 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 32/100
sudoevolve/EUI-NEO#106 ·
メンテナーはふだん 2 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 18/100
sudoevolve/EUI-NEO#89 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
sudoevolve/EUI-NEO の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
HansKristian-Work/dxil-spirv#341 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 6 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
prestonbrown/helixscreen#1922 ·
メンテナーはふだん 1 日以内に返信