Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[TS PBT] Save campaign-file artifacts before stdout publication

Đang mở Phù hợp với người mới
#612 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@CaelmBleidd đang làm issue này rồi.

Từ ngày 17/10/2026.

  • #614 của @CaelmBleidd — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
74/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
kotlin
Lĩnh vực
tooling

Hướng nghiên cứu

Đọc CampaignFileRequest.kt quanh dòng 57–59 và theo dõi cách nó mã hóa chiến dịch cũng như xuất stdout và tạo phẩm được yêu cầu. Thêm hoặc điều chỉnh một kiểm thử hồi quy bằng sink đầu ra xác nhận rằng tạo phẩm có thể đọc được ngay lần ghi nối đầu tiên, sau đó thất bại với lỗi I/O. Công việc được xem là hoàn tất khi tạo phẩm được lưu trước khi xuất stdout, cả hai đầu ra giữ JSON giống hệt nhau, và lỗi ghi tệp vẫn bảo toàn stdout dự phòng đầy đủ cùng lỗi ban đầu.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
Kotlin
Star
33
Fork
27
Merge trung bình
3 ngày 21 giờ
Pull request đã merge (30 ngày)
88

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của UnitTestBot/usvm

Tất cả issue của UnitTestBot/usvm

Issue tương tự

Thêm issue về Kotlin

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.