Skip to content

Commit c810129

Browse files
cp: docs: note 26.04 drops PyAV by default and document runtime install (4020) into r0.4.0 (#4021)
Signed-off-by: oliver könig <okoenig@nvidia.com> Signed-off-by: NeMo Bot <nemo-bot@nvidia.com> Co-authored-by: oliver könig <okoenig@nvidia.com>
1 parent 2b82f6f commit c810129

2 files changed

Lines changed: 36 additions & 0 deletions

File tree

docker/common/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,30 @@ To change them, rebuild the container.
9797
**general note:**
9898

9999
Running uv pip install outside any of the two directories above might lead to a re-install of torch, thus breaking all dependencies that have been compiled against the original torch version. By running uv pip install inside any of the two directories, we can avoid this unwanted side-effect.
100+
101+
### Reinstalling video / image decoding packages (`av`, `decord`, `opencv-python-headless`) at runtime
102+
103+
Starting with the 26.04 (r0.4.0) release, the following Python packages are **not installed** in the container:
104+
105+
| Package | Why it was removed |
106+
|---------|---------------------|
107+
| [`av`](https://pypi.org/project/av/) (PyAV) | Vendored FFmpeg binaries carried an unfixed CVE. |
108+
| [`decord`](https://pypi.org/project/decord/) | Unmaintained; vendored FFmpeg binaries carried an unfixed CVE. |
109+
| [`opencv-python-headless`](https://pypi.org/project/opencv-python-headless/) | Bundled native libs carried an unfixed CVE. The Dockerfile also explicitly runs `pip uninstall -y opencv-python-headless` after the base-container install to scrub any pre-existing copy. |
110+
111+
These packages are suppressed via `sys_platform == 'never'` overrides in `/opt/Megatron-Bridge/pyproject.toml` (for `av`) and `/opt/NeMo-FW/pyproject.toml` (for all three). The override propagates to transitive consumers such as `qwen-vl-utils` and `decord[av-decode]`, so `uv sync` and `uv pip install <pkg>` will silently skip them.
112+
113+
If your workflow needs any of these at runtime (for example, video decoding in multimodal data pipelines), install them directly with `pip`, which does not consult uv's override list:
114+
115+
```bash
116+
# install any combination you need
117+
pip install --no-deps av
118+
pip install --no-deps decord
119+
pip install --no-deps opencv-python-headless
120+
```
121+
122+
Notes:
123+
124+
- `--no-deps` keeps the install from re-resolving torch or other framework packages, preserving the container's pinned versions.
125+
- You accept the CVE risk in each package's vendored native libraries by reinstalling it. Restrict this to workloads where you control the input media.
126+
- The install is not persistent — rebuild it into your own image (or your job's startup script) if you need it across container restarts.

docs/releases/known-issues.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
This page lists known issues and limitations in the current release.
44

5+
## 26.04
6+
7+
- The following video / image decoding packages are no longer installed by default in the NeMo Framework 26.04 container (`nvcr.io/nvidia/nemo:26.04`) to mitigate CVEs in their vendored native binaries:
8+
- [`av`](https://pypi.org/project/av/) (PyAV)
9+
- [`decord`](https://pypi.org/project/decord/)
10+
- [`opencv-python-headless`](https://pypi.org/project/opencv-python-headless/)
11+
12+
Workflows that depend on any of these (for example, multimodal video pipelines, `qwen-vl-utils` video paths, or `decord[av-decode]`) must reinstall them at runtime — see [`docker/common/README.md`](../../docker/common/README.md#reinstalling-video--image-decoding-packages-av-decord-opencv-python-headless-at-runtime) for instructions.
13+
514
## 26.02
615

716
- AWS EKS only: Due to AWS-OFI-NCCL v1.17.0 long-running jobs suffer a memory leak that causes performance regression over time. This can be mitigated by upgrading to [v1.17.3](https://github.com/aws/aws-ofi-nccl/releases/tag/v1.17.3).

0 commit comments

Comments
 (0)