[TS PBT] Save campaign-file artifacts before stdout publication
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
阅读 CampaignFileRequest.kt 第 57–59 行附近的代码,追踪它如何编码 campaign,以及如何发布 stdout 和所请求的制品。添加或调整一个回归测试,使用一个输出接收器确认制品在首次追加时可读,随后以 I/O 错误失败。完成标准是:制品在发布 stdout 之前保存;两个输出保留完全相同的 JSON;写入文件失败时仍保留完整的 stdout 回退和原始错误。
由索引模型根据 Issue 内容生成。
描述
campaign-file encodes the completed campaign, writes the entire JSON to stdout, and only then saves the requested artifact file. A slow, failed or interrupted stdout operation can therefore discard a result that the runner has already produced and serialized.
The order is present in the minimal public parent #581 (028d5b0c116502525cdb2329f24bde665807922f), in CampaignFileRequest.kt:57-59.
Observed in the frozen local class pilot: multi-algorithms-singly-list-wide / 16061113 / SYMBOLIC_ONLY retained exactly 65536 bytes of campaign JSON on stdout, but no campaign.json. The prefix includes stop=DEADLINE, stoppedAt=CONFIRMATION, elapsedMillis=19611, and Native verification deadline reached; 99 inputs remain unchecked. The outer process guard then returned exit -9. The runner and JSON encoding had completed; stdout publication preceded the missing file write. The retained stdout SHA-256 is c60098bca32dc8ed3bc91816afd5213d5e0a8bab3fa27e7b150da76cc67eed46.
Acceptance:
- Save the requested destination before the first stdout append.
- Keep one JSON encoding and the existing identical stdout/file JSON contract.
- Preserve complete stdout fallback and the original I/O error when the file write itself fails.
- A meaningful regression uses an output sink that checks that a readable artifact already exists on its first append, then fails with an I/O error. The failure must leave the artifact intact.
- Do not rerun the property or add a writer/protocol framework.
This is a narrow result-publication fix under #354. It does not resolve the separate caller/JVM deadline-origin mismatch (#613) or establish the internal cause of other zero-stdout missing-artifact runs. A killed process remains incomplete for primary experimental credit even if its artifact can be retained.
- 主要语言
- Kotlin
- 星标
- 33
- 派生
- 27
- 平均合并
- 3 天 21 小时
- 30 天内合并 PR
- 88
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
UnitTestBot/usvm 的其他 Issue
-
难度 5/5 一周以上 新手友好度 18/100
UnitTestBot/usvm#618 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 25/100
UnitTestBot/usvm#613 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 43/100
UnitTestBot/usvm#604 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 25/100
UnitTestBot/usvm#592 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 15/100
UnitTestBot/usvm#577 · 1 条评论 ·
维护者通常 1 天内回复
相似的 Issue
-
bug good first issue
难度 2/5 1-3 小时 新手友好度 68/100
scarif-labs/horus#61 ·
维护者通常 1 天内回复
-
bug needs triage
难度 2/5 1-3 小时 新手友好度 83/100
FossifyOrg/Messages#929 ·
维护者通常 1 天内回复
-
cr:missing-repro cr:platform:android missing-repro platform:android
难度 2/5 1-3 小时 新手友好度 90/100
software-mansion/react-native-screens#4950 · 1 条评论 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 80/100
software-mansion/enriched-markdown#1033 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100