Jump to content

4.4.2 - Manjaro: ffdetect querying invalid GPU, crashes every time


Cyph0n

Recommended Posts

Cyph0n

Hey team,

I am running into an issue where ffdetect is trying to query an invalid GPU and crashes.  After a number of crashes, my entire machine hangs and requires a reboot.

My setup consists of:

  1. AMD Ryzen 3400G w/ onboard GPU (used by Linux host)
  2. NVIDIA GTX 1660 (used by Windows VM)

The NVIDIA GPU was previously used by Emby for HW transcoding, but I'm now using it exclusively in a Windows VM. In other words, the GPU is completely inaccessible to the Linux host: I do not even have NVIDIA drivers installed.

But, whenever Emby starts, ffdetect crashes because it's trying to query the invalid NVIDIA GPU.  Here is what I get when I run the command manually:

$ /usr/bin/ffdetect-emby -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 qsvencdec
ffdetect version 4.3.0-emby_2020_02_24 Copyright (c) 2018-2019 softworkz for Emby LLC
  built with gcc 8.3.0 (crosstool-NG 1.24.0)
  configuration: --cc=x86_64-unknown-linux-gnu-gcc --prefix=/home/embybuilder/Buildbot/x64/ffdetect-x64/staging --pkg-config=pkg-config --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-vdpau --enable-vaapi --extra-libs='-ldrm -lva -lva-drm -ldl -lm -lpthread' --enable-libmfx --enable-cuda --enable-cuvid --enable-nvdec --enable-nvenc --enable-cross-compile --cross-prefix=x86_64-unknown-linux-gnu- --arch=x86_64 --target-os=linux --disable-shared --enable-static
  libavutil      56. 36.100 / 56. 36.100
[PROGRAMVERSION]
Version=4.3.0-emby_2020_02_24
Copyright=Copyright (c) 2018-2019 softworkz for Emby Llc
Compiler=gcc 8.3.0 (crosstool-NG 1.24.0)
Configuration=--cc=x86_64-unknown-linux-gnu-gcc --prefix=/home/embybuilder/Buildbot/x64/ffdetect-x64/staging --pkg-config=pkg-config --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-vdpau --enable-vaapi --extra-libs='-ldrm -lva -lva-drm -ldl -lm -lpthread' --enable-libmfx --enable-cuda --enable-cuvid --enable-nvdec --enable-nvenc --enable-cross-compile --cross-prefix=x86_64-unknown-linux-gnu- --arch=x86_64 --target-os=linux --disable-shared --enable-static
[/PROGRAMVERSION]
[DEVICE]
DeviceIndex=0
Begin GetVaAdapterInfo
Found 39 device entries
Begin get_nodes
Found -1 drm entries
Begin get_nodes
Found 3 drm entries
End GetVaAdapterInfo
DEVICEINFO:VendorName=NVIDIA Corporation
DEVICEINFO:DeviceName=TU116 [GeForce GTX 1660]
DEVICEINFO:SubsytemVendorName=Gigabyte Technology Co., Ltd
DEVICEINFO:VendorId=4318
DEVICEINFO:DeviceId=8580
DEVICEINFO:SubsytemVendorId=5208
DEVICEINFO:SubsytemDeviceId=16328
DEVICEINFO:DevPath=/sys/bus/pci/devices/0000:10:00.0
Segmentation fault (core dumped)

Question: Is there a way to force Emby to ignore this GPU entirely?  I am assuming that Emby somehow cached some information related to the NVIDIA GPU?

I only want Emby to run ffdetect on the onboard GPU via VAAPI.  Here is the output of vainfo:

$ vainfo
vainfo: VA-API version: 1.7 (libva 2.7.1)
vainfo: Driver version: Mesa Gallium driver 20.0.7 for AMD RAVEN (DRM 3.36.0, 5.6.16-1-MANJARO, LLVM 10.0.0)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc

I have attached the latest emby-server and ffdetect logs.

Thanks.

hardware_detection-63728716210.txt embyserver.txt

Edited by Cyph0n
Link to comment
Share on other sites

Cyph0n

Just updated, my mirrors were out of date it seems...

I am now seeing this ffmpeg error on server boot:

2020-06-26 20:50:19.172 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Execute: /usr/bin/ffmpeg-emby -hide_banner -version
2020-06-26 20:50:19.183 Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Process exited with code 127
2020-06-26 20:50:19.185 Error FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Output:
	
2020-06-26 20:50:19.185 Error FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Error Output:
	/usr/bin/ffmpeg-emby: error while loading shared libraries: libaom.so.2: cannot open shared object file: No such file or directory

Also, ffdetect is still segfaulting when run from the shell.

I have attached both logs again. Thanks.

embyserver.txt hardware_detection-63728801419.txt

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
Cyph0n

@Luke The ffmpeg issue in my last reply was fixed.

But the ffmpeg-detect issue remains.  I had to disable HW transcoding completely...  The issue is that ffmpeg-detect tries to query my Nvidia card and then core dumps.  I would like to explictly tell Emby or ffmpeg to ignore that GPU.  I don't understand why it would try to query it when the Nvidia drivers are not even installed.

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...