dev:tests/unit/image_stream.cpp 与实现脱节,BGRA8 断言拒绝但实现接受,Debug 下确定性 SIGABRT
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- cmake, cpp
- Ambito
- computer-graphics, testing-qa
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
问题
上游测试套件在 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:恢复实现侧校验。
- Lingua principale
- C++
- Stelle
- 2k
- Fork
- 177
- Merge medio
- 4h 21m
- PR unite (30g)
- 3
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sudoevolve/EUI-NEO
-
Android分支仍然不支持Windows触摸Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
sudoevolve/EUI-NEO#45 · 5 commenti ·
-
关于安卓demo的讨论Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
sudoevolve/EUI-NEO#44 · 1 commento ·
Tutte le issue di sudoevolve/EUI-NEO
Issue simili
-
Component: Ruby Type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
bug needs triage tcp
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
project-chip/connectedhomeip#74644 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
godotengine/godot#124252 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Alt+Del removes parenthesesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
texstudio-org/texstudio#4685 ·
I maintainer di solito rispondono entro 1 giorno