Path separator normalisation replaces too much #104331

Closed
opened 2024-08-01 13:06:51 +02:00 by Sybren A. Stüvel · 0 comments

System Information
Operating System(s): Manager on Linux, Worker on Windows

Flamenco Version
Is Broken: 3.6-alpha 6c1e4d393c22467e53d97ca5d3463f55126376a4
Worked OK: 3.5

Short description of error
7ffbd72dce changed how path separators are normalised for the platform of the Worker. It changes all slashes to backslashes (when worker is on Windows), even in things like FFmpeg expressions.

Exact steps for others to reproduce the error

  1. Install Flamenco on Linux.
  2. Run a Worker on Windows.
  3. Run a 'simple blender render' job.
  4. See it fail on the preview video creation task, because the FFmpeg filter expression was changed from pad=ceil(iw/2)*2:ceil(ih/2)*2 to pad=ceil(iw\2)*2:ceil(ih\2)*2

Probably a better approach is to forego the slash normalisation by the Manager, and to have this done by the Worker. That knows which arguments to a command are paths, and which are not. This is also the approach in #104295.

Further investigation showed that the above is not true, and that it was just a matter of a missing condition before isPathValue = true.

**System Information** Operating System(s): Manager on Linux, Worker on Windows **Flamenco Version** Is Broken: 3.6-alpha `6c1e4d393c22467e53d97ca5d3463f55126376a4` Worked OK: 3.5 **Short description of error** 7ffbd72dce1284ce81ff11949aa7ef50ad7f1d32 changed how path separators are normalised for the platform of the Worker. It changes all slashes to backslashes (when worker is on Windows), even in things like FFmpeg expressions. **Exact steps for others to reproduce the error** 1. Install Flamenco on Linux. 2. Run a Worker on Windows. 3. Run a 'simple blender render' job. 4. See it fail on the preview video creation task, because the FFmpeg filter expression was changed from `pad=ceil(iw/2)*2:ceil(ih/2)*2` to `pad=ceil(iw\2)*2:ceil(ih\2)*2` ~~Probably a better approach is to forego the slash normalisation by the Manager, and to have this done by the Worker. That knows which arguments to a command are paths, and which are not. This is also the approach in #104295.~~ Further investigation showed that the above is not true, and that it was just a matter of a missing condition before `isPathValue = true`.
Sybren A. Stüvel added the
Status
Confirmed
Type
Bug
Priority
High
labels 2024-08-01 13:06:57 +02:00
Sybren A. Stüvel self-assigned this 2024-08-02 11:03:36 +02:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: studio/flamenco#104331
No description provided.