Skip to content

Hardening threading - #490

Merged
JeromeMartinez merged 7 commits into
MediaArea:mainfrom
JeromeMartinez:HardeningThreading
Oct 12, 2026
Merged

JeromeMartinez merged 7 commits into
MediaArea:mainfrom
JeromeMartinez:HardeningThreading

Conversation

@JeromeMartinez

Copy link
Copy Markdown
Member

No description provided.

The 20260927 and 20261004 snapshots of FFmpeg crash (SIGSEGV) in the
ffv1_vulkan encoder with llvmpipe on CPUs without AVX-512 (e.g. AMD EPYC
7763 GitHub runners), so test/vulkan.sh failed depending on the runner.
The latest snapshot is still used on CPUs with AVX-512.
A CPU implementation of Vulkan (e.g. lavapipe in the CI) generates code
for this CPU, so its model and its AVX-512 support are shown.
The FFmpeg command was taken from cmd_stdout, which is overwritten by the
decoding of the swdpx variant, so FFmpeg was not run for the hwdpx variant
and the mkv file of the swdpx variant was tested again.
run_ffmpeg() returns the exit code of FFmpeg and keeps the last lines of
its error output, without the banner and the progress lines.
vulkan.sh shows them, with the signal if FFmpeg crashed, then the Vulkan
devices.
The queue was checked without the lock used for enqueuing, so a task
enqueued between the check and the wait was not run until another task
was enqueued, and a shutdown between the check and the wait was not seen.
Preparation for the output of frames from several threads: the creation of
the directory of an output file must not fail if another thread created it
between the check and the creation.
Preparation for the output of frames from several threads: the question
about an existing output file and the update of the answer are serialized.
@JeromeMartinez
JeromeMartinez merged commit e10668c into MediaArea:main Oct 12, 2026
2 checks passed
@JeromeMartinez
JeromeMartinez deleted the HardeningThreading branch October 12, 2026 08:27
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