Files
windmill/backend/windmill-worker
0e7d974ce9 fix: keep capturing job logs after a non-UTF-8 output line (#11595)
* fix: keep capturing job logs after a non-UTF-8 output line

The worker read child stdout/stderr with `lines()`, which errors on a line that
is not valid UTF-8; handle_child then logged "error reading output" and stopped
capturing logs for the rest of the job. Read raw segments and decode lossily
instead, so a bad byte becomes U+FFFD and later lines still arrive.

PowerShell on Windows writes redirected output in the console code page
(e.g. CP850), so any umlaut triggered this. Set [Console]::OutputEncoding and
$OutputEncoding to UTF-8 in wrapper.ps1 so pwsh output is UTF-8 on every OS.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: state the pwsh encoding constraint without history

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: keep pwsh's native-command decoding on the console code page

Forcing [Console]::OutputEncoding to UTF-8 also changes how pwsh decodes
native-command output captured into variables, turning OEM-encoded
characters from legacy tools into U+FFFD inside script values and
results. The worker's lossy decode already keeps log capture going.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to acb254ac509aff244849c09e50a8d39aae185138

This commit updates the EE repository reference after PR #852 was merged in windmill-ee-private.

Previous ee-repo-ref: 9cc330f1a8e80bc075a6ad9839966d3b344f8ddd

New ee-repo-ref: acb254ac509aff244849c09e50a8d39aae185138

Automated by sync-ee-ref workflow.

* fix: share the lossy line decoder with the dedicated worker

Make `decode_output_line` pub(crate) so the dedicated worker (EE) reads
child output through it instead of panicking on a non-UTF-8 line, point
ee-repo-ref at the companion branch, and word two comments as the code
is rather than as it was.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore: update ee-repo-ref to e5689bf58a125ff46aabb6b5d0f030a7e5c715d3

This commit updates the EE repository reference after PR #855 was merged in windmill-ee-private.

Previous ee-repo-ref: 07bb29070f6419e710c9d167aa7c8553039d6c5b

New ee-repo-ref: e5689bf58a125ff46aabb6b5d0f030a7e5c715d3

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-08 09:11:05 +02:00
..

Windmill Worker

The worker. Used to process and execute flows & jobs.

This crate exposes both a library as well as a binary target.