[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#951778: libva2: NULL vtable when querying nvidia render device



Package: libva2
Version: 2.6.1-1
Severity: grave

Hi,

It seems that after a recent full-upgrade, querying certain render nodes fails,
crashing my program; it is easily reproducible using vainfo:

  gruessi:~> vainfo --display drm --device /dev/dri/renderD129
  libva info: VA-API version 1.6.0
  vainfo: VA-API version: 1.6 (libva 2.6.0)
  vainfo: Driver version: <unknown>
  zsh: segmentation fault  vainfo --display drm --device /dev/dri/renderD129

The crash is in

  Program received signal SIGSEGV, Segmentation fault.
  0x00007ffff7e254f2 in vaQueryConfigProfiles (dpy=0x55555555d2d0, profile_list=0x55555555dc10, 
      num_profiles=0x7fffffffe92c) at va.c:903
  903	va.c: Ingen slik fil eller filkatalog.
  (gdb) bt
  #0  0x00007ffff7e254f2 in vaQueryConfigProfiles (dpy=0x55555555d2d0, profile_list=0x55555555dc10, 
      num_profiles=0x7fffffffe92c) at va.c:903
  #1  0x00005555555564e3 in ?? ()
  #2  0x00007ffff7c73bbb in __libc_start_main (main=0x555555556370, argc=5, argv=0x7fffffffea48, 
      init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffea38)
      at ../csu/libc-start.c:308
  #3  0x00005555555568aa in ?? ()

It seems that somehow, the device is opened but gets a NULL vtable:

  (gdb) print *ctx
  $2 = {pDriverData = 0x0, vtable = 0x0, vtable_glx = 0x0, vtable_egl = 0x0, vtable_tpi = 0x0, 
    native_dpy = 0x0, x11_screen = 0, version_major = 0, version_minor = 0, max_profiles = 0, 
    max_entrypoints = 0, max_attributes = 0, max_image_formats = 0, max_subpic_formats = 0, 
    max_display_attributes = 0, str_vendor = 0x0, handle = 0x0, drm_state = 0x55555555d2a0, glx = 0x0, 
    display_type = 49, vtable_wayland = 0x0, vtable_vpp = 0x0, override_driver_name = 0x0, 
    pDisplayContext = 0x55555555d2d0, error_callback = 0x7ffff7e23540 <va_driverErrorCallback>, 
    info_callback = 0x7ffff7e23560 <va_driverInfoCallback>, reserved = {0 <repeats 38 times>}}

I can query renderD128, which corresponds to my Intel iGPU just fine.
renderD129 corresponds to my RTX 2070:

  gruessi:~> cat /sys/class/drm/renderD129/device/vendor
  0x10de
  gruessi:~> cat /sys/class/drm/renderD129/device/device
  0x1f02

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armhf

Kernel: Linux 5.4.0-4-amd64 (SMP w/6 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=nb_NO.UTF-8, LC_CTYPE=nb_NO.UTF-8 (charmap=UTF-8), LANGUAGE=nb_NO:nb:no_NO:no (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libva2 depends on:
ii  libc6  2.29-10

Versions of packages libva2 recommends:
ii  i965-va-driver-shaders [va-driver]          2.4.0-1
ii  intel-media-va-driver-non-free [va-driver]  19.4.0+ds1-1
ii  mesa-va-drivers [va-driver]                 19.3.3-1
ii  va-driver-all                               2.6.1-1

libva2 suggests no packages.

-- no debconf information


Reply to: