[Bug] `nightly-latest` crashes when attempting to use QSV
Current Behavior
I am attempting to use nightly-latest with the following docker-compose.yml in order to work around this Handbrake bug: https://github.com/HandBrake/HandBrake/issues/6786
However attempting to encode any videos (including ones that never exhibited the crashing issue) cause the container to crash with no apparent logs.
Attempting to encode using a non-QSV preset (or selecting to use x265 vs the QSV 265 encoder) are successful. Downgrading to latest also works with these files (but not with the ones that are bugged in Handbrake, which is why I am switching to nightly).
My initial thought is that it might be related to the changes that Handbrake is making to how QSV operates in newer versions (that have landed in Nightly) this may require a rethinking of how the device is exposed via the container. See the above referenced bug for the related PR that changes this behavior.
Expected Behavior
It would be expected that using QSV in nightly-latest would work.
Steps To Reproduce
- Using the below docker-compose.yml on a system with QSV attempt to encode any video using the QSV encoder.
I have included the custom preset I am using.
H.265 (Intel QSV) MKV 480p30 - Subs.json
Environment
- OS: Ubuntu
- OS version:
Linux mp80 6.8.0-59-generic #61-Ubuntu SMP PREEMPT_DYNAMIC Fri Apr 11 23:16:11 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux(uname -a) - CPU: Intel(R) N95 (
cat /proc/cpuinfo | grep 'name'| uniq) - Docker version: Docker version 28.1.1, build 4eba377
- Device model: BlackView mp80
- Browser/OS: Firefox (Windows 10)
Container creation
services:
handbrake:
image: jlesage/handbrake:nightly-latest
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
ports:
- "5800:5800"
volumes:
- "/srv/handbrake/appdata:/config:rw"
- "/media:/storage:ro"
- "/srv/handbrake/watch:/watch:rw"
- "/srv/handbrake/output:/output:rw"
Container log
[init ] container is starting...
[cont-env ] loading container environment variables...
[cont-env ] APP_NAME: loading...
[cont-env ] APP_VERSION: loading...
[cont-env ] DISPLAY: executing...
[cont-env ] DISPLAY: terminated successfully.
[cont-env ] DISPLAY: loading...
[cont-env ] DOCKER_IMAGE_PLATFORM: loading...
[cont-env ] DOCKER_IMAGE_VERSION: loading...
[cont-env ] EGL_LOG_LEVEL: executing...
[cont-env ] EGL_LOG_LEVEL: terminated successfully.
[cont-env ] EGL_LOG_LEVEL: loading...
[cont-env ] GSK_RENDERER: executing...
[cont-env ] GSK_RENDERER: terminated successfully.
[cont-env ] GSK_RENDERER: loading...
[cont-env ] GTK2_RC_FILES: executing...
[cont-env ] GTK2_RC_FILES: terminated successfully.
[cont-env ] GTK2_RC_FILES: not setting variable.
[cont-env ] GTK_THEME: executing...
[cont-env ] GTK_THEME: terminated successfully.
[cont-env ] GTK_THEME: not setting variable.
[cont-env ] HOME: loading...
[cont-env ] INSTALL_PACKAGES_INTERNAL: executing...
[cont-env ] INSTALL_PACKAGES_INTERNAL: terminated successfully.
[cont-env ] INSTALL_PACKAGES_INTERNAL: not setting variable.
[cont-env ] PULSE_CONFIG_PATH: executing...
[cont-env ] PULSE_CONFIG_PATH: terminated successfully.
[cont-env ] PULSE_CONFIG_PATH: not setting variable.
[cont-env ] PULSE_COOKIE: executing...
[cont-env ] PULSE_COOKIE: terminated successfully.
[cont-env ] PULSE_COOKIE: not setting variable.
[cont-env ] PULSE_SERVER: executing...
[cont-env ] PULSE_SERVER: terminated successfully.
[cont-env ] PULSE_SERVER: not setting variable.
[cont-env ] QT_STYLE_OVERRIDE: executing...
[cont-env ] QT_STYLE_OVERRIDE: terminated successfully.
[cont-env ] QT_STYLE_OVERRIDE: not setting variable.
[cont-env ] SUP_GROUP_IDS_INTERNAL: executing...
[cont-env ] SUP_GROUP_IDS_INTERNAL: terminated successfully.
[cont-env ] SUP_GROUP_IDS_INTERNAL: loading...
[cont-env ] TAKE_CONFIG_OWNERSHIP: loading...
[cont-env ] XDG_CACHE_HOME: loading...
[cont-env ] XDG_CONFIG_HOME: loading...
[cont-env ] XDG_DATA_HOME: loading...
[cont-env ] XDG_RUNTIME_DIR: loading...
[cont-env ] XDG_STATE_HOME: loading...
[cont-env ] container environment variables initialized.
[cont-secrets] loading container secrets...
[cont-secrets] container secrets loaded.
[cont-init ] executing container initialization scripts...
[cont-init ] 10-certs.sh: executing...
[cont-init ] 10-certs.sh: terminated successfully.
[cont-init ] 10-check-app-niceness.sh: executing...
[cont-init ] 10-check-app-niceness.sh: terminated successfully.
[cont-init ] 10-clean-logmonitor-states.sh: executing...
[cont-init ] 10-clean-logmonitor-states.sh: terminated successfully.
[cont-init ] 10-clean-tmp-dir.sh: executing...
[cont-init ] 10-clean-tmp-dir.sh: terminated successfully.
[cont-init ] 10-fontconfig-cache-dir.sh: executing...
[cont-init ] 10-fontconfig-cache-dir.sh: terminated successfully.
[cont-init ] 10-init-users.sh: executing...
[cont-init ] 10-init-users.sh: terminated successfully.
[cont-init ] 10-nginx.sh: executing...
[cont-init ] 10-nginx.sh: terminated successfully.
[cont-init ] 10-openbox.sh: executing...
[cont-init ] 10-openbox.sh: terminated successfully.
[cont-init ] 10-pkgs-mirror.sh: executing...
[cont-init ] 10-pkgs-mirror.sh: terminated successfully.
[cont-init ] 10-pulse.sh: executing...
[cont-init ] 10-pulse.sh: terminated successfully.
[cont-init ] 10-set-tmp-dir-perms.sh: executing...
[cont-init ] 10-set-tmp-dir-perms.sh: terminated successfully.
[cont-init ] 10-vnc-password.sh: executing...
[cont-init ] 10-vnc-password.sh: terminated successfully.
[cont-init ] 10-web-data.sh: executing...
[cont-init ] 10-web-data.sh: terminated successfully.
[cont-init ] 10-webauth.sh: executing...
[cont-init ] 10-webauth.sh: terminated successfully.
[cont-init ] 10-x11-unix.sh: executing...
[cont-init ] 10-x11-unix.sh: terminated successfully.
[cont-init ] 10-xdg-runtime-dir.sh: executing...
[cont-init ] 10-xdg-runtime-dir.sh: terminated successfully.
[cont-init ] 15-cjk-font.sh: executing...
[cont-init ] 15-cjk-font.sh: terminated successfully.
[cont-init ] 15-install-pkgs.sh: executing...
[cont-init ] 15-install-pkgs.sh: terminated successfully.
[cont-init ] 54-check-optical-drive.sh: executing...
[cont-init ] 54-check-optical-drive.sh: looking for usable optical drives...
[cont-init ] 54-check-optical-drive.sh: no usable optical drives found.
[cont-init ] 54-check-optical-drive.sh: terminated successfully.
[cont-init ] 54-check-qsv.sh: executing...
[cont-init ] 54-check-qsv.sh: Processor: Intel(R) N95
[cont-init ] 54-check-qsv.sh: Microarchitecture: INTEL_ADL
[cont-init ] 54-check-qsv.sh: Kernel: 6.8.0-59-generic
[cont-init ] 54-check-qsv.sh: terminated successfully.
[cont-init ] 54-check-trash-dir.sh: executing...
[cont-init ] 54-check-trash-dir.sh: terminated successfully.
[cont-init ] 55-handbrake.sh: executing...
[cont-init ] 55-handbrake.sh: core dump file location: |/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E
[cont-init ] 55-handbrake.sh: core dump file size: unlimited (blocks)
[cont-init ] 55-handbrake.sh: terminated successfully.
[cont-init ] 85-take-config-ownership.sh: executing...
[cont-init ] 85-take-config-ownership.sh: terminated successfully.
[cont-init ] 89-info.sh: executing...
╭――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╮
│ │
│ Application: HandBrake │
│ Application Version: nightly-20250508171721-c76f765ccc │
│ Docker Image Version: nightly-20250508171721-c76f765ccc │
│ Docker Image Platform: linux/amd64 │
│ │
╰――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╯
[cont-init ] 89-info.sh: terminated successfully.
[cont-init ] all container initialization scripts executed.
[init ] giving control to process supervisor.
[supervisor ] loading services...
[supervisor ] loading service 'default'...
[supervisor ] loading service 'logrotate'...
[supervisor ] loading service 'app'...
[supervisor ] loading service 'gui'...
[supervisor ] loading service 'certsmonitor'...
[supervisor ] service 'certsmonitor' is disabled.
[supervisor ] loading service 'nginx'...
[supervisor ] loading service 'webauth'...
[supervisor ] service 'webauth' is disabled.
[supervisor ] loading service 'xvnc'...
[supervisor ] loading service 'openbox'...
[supervisor ] loading service 'pulseaudio'...
[supervisor ] service 'pulseaudio' is disabled.
[supervisor ] loading service 'xcompmgr'...
[supervisor ] loading service 'audiorecorder'...
[supervisor ] service 'audiorecorder' is disabled.
[supervisor ] loading service 'logmonitor'...
[supervisor ] service 'logmonitor' is disabled.
[supervisor ] loading service 'autovideoconverter'...
[supervisor ] all services loaded.
[supervisor ] starting services...
[supervisor ] starting service 'xvnc'...
[xvnc ] Xvnc TigerVNC 1.14.1 - built Feb 7 2025 21:12:27
[xvnc ] Copyright (C) 1999-2024 TigerVNC Team and many others (see README.rst)
[xvnc ] See https://www.tigervnc.org for information on TigerVNC.
[xvnc ] Underlying X server release 12014000
[xvnc ] Mon May 12 22:46:11 2025
[xvnc ] vncext: VNC extension running!
[xvnc ] vncext: Listening for VNC connections on /tmp/vnc.sock (mode 0660)
[xvnc ] vncext: Listening for VNC connections on all interface(s), port 5900
[xvnc ] vncext: created VNC server for screen 0
[supervisor ] starting service 'nginx'...
[nginx ] Listening for HTTP connections on port 5800.
[supervisor ] starting service 'openbox'...
[supervisor ] starting service 'xcompmgr'...
[supervisor ] starting service 'app'...
[supervisor ] starting service 'autovideoconverter'...
[autovideoconverter] Processing watch folder '/watch'...
[autovideoconverter] Watch folder '/watch' processing terminated.
[supervisor ] all services started.
[xvnc ] Mon May 12 22:47:10 2025
[xvnc ] Connections: accepted: /tmp/vnc.sock
[xvnc ] SConnection: Client needs protocol version 3.8
[xvnc ] SConnection: Client requests security type None(1)
[xvnc ] VNCSConnST: Server default pixel format depth 24 (32bpp) little-endian rgb888
[xvnc ] VNCSConnST: Client pixel format depth 24 (32bpp) little-endian bgr888
[xvnc ] ComparingUpdateTracker: 0 pixels in / 0 pixels out
[xvnc ] ComparingUpdateTracker: (1:-nan ratio)
[supervisor ] service 'app' exited (got signal SIGSEGV).
[supervisor ] service 'app' exited, shutting down...
[supervisor ] stopping service 'autovideoconverter'...
[supervisor ] service 'autovideoconverter' exited (got signal SIGTERM).
[supervisor ] stopping service 'xcompmgr'...
[supervisor ] service 'xcompmgr' exited (got signal SIGTERM).
[supervisor ] stopping service 'openbox'...
[supervisor ] service 'openbox' exited (with status 0).
[supervisor ] stopping service 'nginx'...
[xvnc ] Mon May 12 22:47:16 2025
[xvnc ] VNCSConnST: closing /tmp/vnc.sock: Clean disconnection
[xvnc ] EncodeManager: Framebuffer updates: 199
[xvnc ] EncodeManager: Tight:
[xvnc ] EncodeManager: Solid: 135 rects, 3.74105 Mpixels
[xvnc ] EncodeManager: 2.10938 KiB (1:6928.63 ratio)
[xvnc ] EncodeManager: Bitmap RLE: 35 rects, 996.717 kpixels
[xvnc ] EncodeManager: 2.52344 KiB (1:1543.07 ratio)
[xvnc ] EncodeManager: Indexed RLE: 278 rects, 603.992 kpixels
[xvnc ] EncodeManager: 40.167 KiB (1:58.8195 ratio)
[xvnc ] EncodeManager: Tight (JPEG):
[xvnc ] EncodeManager: Full Colour: 123 rects, 2.17883 Mpixels
[xvnc ] EncodeManager: 605.505 KiB (1:14.0585 ratio)
[xvnc ] EncodeManager: Total: 571 rects, 7.52059 Mpixels
[xvnc ] EncodeManager: 650.305 KiB (1:45.185 ratio)
[xvnc ] Connections: closed: /tmp/vnc.sock
[xvnc ] ComparingUpdateTracker: 233.827 Mpixels in / 3.96004 Mpixels out
[xvnc ] ComparingUpdateTracker: (1:59.0465 ratio)
[supervisor ] service 'nginx' exited (with status 0).
[supervisor ] stopping service 'xvnc'...
[xvnc ] ComparingUpdateTracker: 0 pixels in / 0 pixels out
[xvnc ] ComparingUpdateTracker: (1:-nan ratio)
[supervisor ] service 'xvnc' exited (with status 0).
[finish ] executing container finish scripts...
[finish ] all container finish scripts executed.
Container inspect
Anything else?
No response