Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen Anfängerfreundlich
#612 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@CaelmBleidd arbeitet bereits daran.

Seit 17.10.2026.

  • #614 von @CaelmBleidd — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
74/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
kotlin
Bereich
tooling

Rechercherichtung

Lies CampaignFileRequest.kt ungefähr in den Zeilen 57–59 und verfolge, wie die Kampagne codiert und stdout sowie das angeforderte Artefakt veröffentlicht werden. Füge einen Regressionstest mit einem Ausgabesink hinzu oder passe ihn an, der bestätigt, dass das Artefakt bei seinem ersten Anhängen lesbar ist, und anschließend mit einem I/O-Fehler fehlschlägt. Erledigt ist die Aufgabe, wenn das Artefakt vor der Veröffentlichung von stdout gespeichert wird, beide Ausgaben identisches JSON enthalten und der Fehler beim Schreiben der Datei den vollständigen stdout-Fallback sowie den ursprünglichen Fehler bewahrt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
Kotlin
Sterne
33
Forks
27
Ø Merge
3 T. 21 Std.
Gemergte PRs (30 T.)
88

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus UnitTestBot/usvm

Alle Issues in UnitTestBot/usvm

Ähnliche Issues

Weitere Issues zu Kotlin

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.