Skip to content

LibreOffice-Prozesse begrenzen und eigene Nachfahren bereinigen - #8

Merged
lukisch merged 2 commits into
masterfrom
fix/codex-libreoffice-process-20261001
Oct 1, 2026
Merged

lukisch merged 2 commits into
masterfrom
fix/codex-libreoffice-process-20261001

Conversation

@lukisch

@lukisch lukisch commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Ein LibreOffice-Nachfahre konnte die geerbten stdout/stderr-Pipes offen halten. Eine native Windows-Reproduktion kehrte trotz Timeout von 0,2 Sekunden erst nach 2,375 Sekunden zurück. Der direkte subprocess.run-Aufruf bot außerdem keine Bereinigung weiterlebender Konverter-Nachfahren vor Profilbereinigung und Veröffentlichung.

LibreOffice läuft jetzt unter Windows im vorhandenen atomar zugeordneten Prozessjob. Linux/macOS verwenden einen eigenen Session-/Gruppenleiter, der das Konverterergebnis atomar meldet und bis zur Bereinigung lebt. Die Gruppe erhält SIGKILL vor dem ersten Reap des Leaders; dessen ungeerntete Identität verhindert einen PGID-Wechsel auf einen fremden Prozess. Session-/Gruppeneigentum und Parent-PID werden vor Kindstart geprüft; ein nicht standardmäßiger SIGCHLD-Handler führt vor Start zum Abbruch. Parentdeath wird vom Helfer erkannt. Ausgaben laufen ohne vererbbare PIPEs; vorhandenem Windows-soffice.com wird Vorrang gegeben. Frisches Profil, private Ausgabe, strenge PDF-Prüfung und Bereinigung vor Veröffentlichung bleiben erhalten.

Lokal: 250 Tests plus vier Untertests bestanden, fünf POSIX-Proben unter Windows übersprungen, beobachteter Exit 0; 37 Node-Tests, Desktop-Smoke/Ruff/Syntax/Diff erfolgreich. Neue native Prozessproben prüfen Timeout, frühes erfolgreiches und fehlerhaftes Konverterende, tatsächliche Nachfahren-Lebensdauer sowie Erhalt eines unabhängigen Referenzprozesses. Zusätzliche POSIX-Proben prüfen Helpercrash, Parentdeath, Sessioneigentum, SIGCHLD und Signal-vor-Reap. Word-Regressionssuite unverändert grün. Finaler Head 86b6db7: alle 13 CI-Jobs (36825658135) und drei Source-Smokes (36825658137) erfolgreich. Die elf Prozessproben bestehen auf Linux und macOS; echter Linux-LibreOffice-Smoke bestätigt PDF-Text, unveränderte Quellbytes, Unicode-Pfade und Ausgabeschutz. Unabhängig: 250 Tests/5 POSIX-Skips/Exit 0 sowie 37 Node-Tests und zusätzlicher nativer Windows-Nachfahrenhandle-/Dateisperrnachweis bei Erfolg und Timeout erfolgreich.

180 Sekunden gelten je Versuch, Bereinigung hat ein zusätzliches Fünf-Sekunden-Budget. Abgesetzte POSIX-Prozesse liegen außerhalb der eigenen Gruppe; keine allgemeine Behauptung, sämtliche Enkelprozesse seien beendet und geerntet. Kein Versions-Bump, EXE-/MSIX-Build oder Store-Update; echte Windows/macOS-LibreOffice-Abnahme bleibt separat.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

Welcome, and thanks for your first pull request in this repository.

A maintainer will review it soon. Please make sure:

  • Your changes are tested
  • Documentation is updated if needed
  • The PR description explains what and why

Thanks for contributing.

@lukisch
lukisch merged commit d45560b into master Oct 1, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant