| Summary: | criu-plugin-cuda-4.2-alt1 не обрабатывает device-VMA /dev/nvidia0 при дампе GPU-контейнера podman (handle_device_vma plugin failed: No such file or directory), при том что утилита cuda-checkpoint самостоятельно выполняет полный --action цикл | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | pshkourin |
| Component: | criu-plugin-cuda | Assignee: | Andrew Vasilyev <andy> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | andy |
| Version: | unstable | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
|
Description
pshkourin
2026-05-28 15:06:56 MSK
cuda-checkpoint - это проприетарная утилита от Nvidia, в opensource репозиторий ALT её быть не может. Прошу пересмотреть моё обращение. Претензии к работе самой cuda-checkpoint у меня нет — это проприетарная утилита NVIDIA, к ALT отношения не имеет, и её отсутствие в репозитории я не оспариваю. Вопрос исключительно к criu-plugin-cuda-4.2-alt1 из репозитория ALT. Утилита cuda-checkpoint в ручном режиме выполняет полный цикл по PID работающего контейнера без ошибок, с реальной эвакуацией и возвратом памяти GPU: # cuda-checkpoint --action lock --pid <PID> --timeout 10000 ; echo $? → 0 # cuda-checkpoint --action checkpoint --pid <PID> ; echo $? → 0 (nvidia-smi: память процесса → 0 MiB) # cuda-checkpoint --action restore --pid <PID> ; echo $? → 0 (память вернулась) # cuda-checkpoint --action unlock --pid <PID> ; echo $? → 0 При этом дамп через podman (проверено и под crun, и под runc) падает на стадии сбора маппингов, на VMA устройства /dev/nvidia0: Error (criu/proc_parse.c:118): handle_device_vma plugin failed: No such file or directory Error (criu/proc_parse.c:663): Can't handle non-regular mapping Dumping FAILED. Вопрос простой: как инструмент может успешно отрабатывать в ручном режиме и не работать, когда его вызывает надстройка (criu-plugin-cuda → criu → runc/podman)? Между получением device-VMA на обработку и ошибкой проходит ~30 мкс — то есть плагин завершается синхронно внутри handle_device_vma, не дойдя до вызова утилиты. Прошу оценить поведение плагина по существу — либо как дефект, либо, если контейнерный/CDI-сценарий плагином не поддерживается, зафиксировать это как известное ограничение в документации пакета. # Known Limitations
* Applications that use NVML will leave some leftover device references as NVML
is not currently supported for checkpointing. There will be support for this
in later drivers. A possible temporary workaround is to have the
{DUMP,RESTORE}_EXT_FILE hook just ignore /dev/nvidiactl and /dev/nvidia{0..N}
remaining references for these applications as in most cases NVML is used to
get info such as gpu count and some capabilities and these values are never
accessed again and unlikely to change.
Это не может быть причиной?
Пробовали ли вызывать criu с ключом --libdir /usr/lib64/criu ?
Если не сложно, запустите под strace, может, станет понятно, про что "No such file or directory" - выглядит так, будто не находит самого плагина. Пожалуйста, проверьте из задания #419468 (# apt-repo test 419468). Если нужно собрать для p11, скажите. |