The mesa-va-drivers-dbgsym package seems to have incorrect (relative to build) paths stored which prevents gdb showing the source lines when it has the path to the mesa-22.6.3 source, however by blindly stepping and then looking at the source it narrows down the cause:

(gdb) s
126     in ../src/gallium/frontends/va/context.c
(gdb) s
__libc_calloc (n=n@entry=1, elem_size=elem_size@entry=4208) at ./malloc/malloc.c:3629
3629    ./malloc/malloc.c: No such file or directory.
(gdb) s
3637    in ./malloc/malloc.c
(gdb) finish
Run till exit from #0 __libc_calloc (n=n@entry=1, elem_size=elem_size@entry=4208) at ./malloc/malloc.c:3637 0x00007ffff6a69893 in __vaDriverInit_1_17 (ctx=0x5555555702b0) at ../src/gallium/frontends/va/context.c:126
126     ../src/gallium/frontends/va/context.c: No such file or directory.
Value returned is $1 = (void *) 0x5555555f1370
(gdb) n
127     in ../src/gallium/frontends/va/context.c
(gdb) n
130     in ../src/gallium/frontends/va/context.c
(gdb) n
142     in ../src/gallium/frontends/va/context.c
(gdb) n
143     in ../src/gallium/frontends/va/context.c
(gdb) n
144     in ../src/gallium/frontends/va/context.c
(gdb) n
145     in ../src/gallium/frontends/va/context.c
(gdb) n
231     in ../src/gallium/frontends/va/context.c
(gdb) n
232     in ../src/gallium/frontends/va/context.c
(gdb) n
va_openDriver (dpy=dpy@entry=0x555555570140, driver_name=<optimized out>) at ./va/va.c:535
535                     if (VA_STATUS_SUCCESS == vaStatus) {
(gdb) n
583 va_errorMessage(dpy, "%s init failed\n", driver_path);


Line 230-233 is:

error_screen:
   FREE(drv);
   return VA_STATUS_ERROR_ALLOCATION_FAILED;
}

which will be jumped to early if:

   case VA_DISPLAY_X11:
drv->vscreen = vl_dri3_screen_create(ctx->native_dpy, ctx->x11_screen);
      if (!drv->vscreen)
drv->vscreen = vl_dri2_screen_create(ctx->native_dpy, ctx->x11_screen);
      if (!drv->vscreen)
drv->vscreen = vl_xlib_swrast_screen_create(ctx->native_dpy, ctx->x11_screen);
      break;
...
   }
   if (!drv->vscreen)
      goto error_screen;

Reply via email to