Bug#613332: vainfo segfaults with libva* / i965-va-driver version mismatch

Paul Wise pabs at debian.org
Mon Feb 14 07:08:09 UTC 2011


Source: libva
Severity: normal

I get segfaults in vainfo when libva* are 1.0.1 and i965-va-driver is
1.0.8. I also get segfaults in vainfo when libva* are 1.0.8 and
i965-va-driver is 1.0.1. I expect there is some sort of ABI for the
driver that needs to be depended on properly. Backtraces below:

With libva* 1.0.1, i965-va-driver 1.0.8 and vainfo 1.0.8:

pabs at chianamo:~$ gdb vainfo
GNU gdb (GDB) 7.2-debian
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/vainfo...done.
(gdb) r
Starting program: /usr/bin/vainfo 
[Thread debugging using libthread_db enabled]
libva: libva version 0.31.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so

Program received signal SIGSEGV, Segmentation fault.
intel_driver_init (ctx=0x60d760) at intel_driver.c:60
60	    assert(dri_state->driConnectedFlag == VA_DRI2 || 
(gdb) thread apply all bt full

Thread 1 (Thread 0x7ffff7fce700 (LWP 18519)):
#0  intel_driver_init (ctx=0x60d760) at intel_driver.c:60
        dri_state = 0x161
        __PRETTY_FUNCTION__ = "intel_driver_init"
#1  0x00007ffff5e51377 in i965_Init (ctx=0x60d760) at i965_drv_video.c:1293
No locals.
#2  __vaDriverInit_0_31 (ctx=0x60d760) at i965_drv_video.c:1918
        result = 353
        __PRETTY_FUNCTION__ = "__vaDriverInit_0_31"
#3  0x00007ffff7bdccc2 in va_openDriver (dpy=<value optimized out>, major_version=0x7fffffffddcc, minor_version=<value optimized out>) at va.c:178
        handle = 0x60de60
        ctx = 0x60d760
        driver_dir = 0x60d59c ""
        search_path = <value optimized out>
#4  vaInitialize (dpy=<value optimized out>, major_version=0x7fffffffddcc, minor_version=<value optimized out>) at va.c:344
        driver_name = 0x60db70 "i965"
        vaStatus = <value optimized out>
#5  0x0000000000400a92 in main (argc=<value optimized out>, argv=<value optimized out>) at vainfo.c:114
        dpy = <value optimized out>
        va_dpy = <value optimized out>
        va_status = <value optimized out>
        major_version = <value optimized out>
        minor_version = <value optimized out>
        driver = <value optimized out>
        display = 0x7fffffffef5e ":0.0"
        name = 0x7fffffffe2a6 "vainfo"
        profile = <value optimized out>
        entrypoint = <value optimized out>
        entrypoints = {4294958840, 32767, 4150847312, 32767, 32768, 0, 4197504, 0, 0, 0}
        num_entrypoint = <value optimized out>

With libva* 1.0.1, i965-va-driver 1.0.8 and vainfo 1.0.1:

pabs at chianamo:~$ gdb vainfo
GNU gdb (GDB) 7.2-debian
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/vainfo...done.
(gdb) r
Starting program: /usr/bin/vainfo 
[Thread debugging using libthread_db enabled]
libva: libva version 0.31.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so

Program received signal SIGSEGV, Segmentation fault.
intel_driver_init (ctx=0x60d760) at intel_driver.c:60
60	    assert(dri_state->driConnectedFlag == VA_DRI2 || 
(gdb) thread apply all bt full

Thread 1 (Thread 0x7ffff7fce700 (LWP 18985)):
#0  intel_driver_init (ctx=0x60d760) at intel_driver.c:60
        dri_state = 0x161
        __PRETTY_FUNCTION__ = "intel_driver_init"
#1  0x00007ffff5e51377 in i965_Init (ctx=0x60d760) at i965_drv_video.c:1293
No locals.
#2  __vaDriverInit_0_31 (ctx=0x60d760) at i965_drv_video.c:1918
        result = 353
        __PRETTY_FUNCTION__ = "__vaDriverInit_0_31"
#3  0x00007ffff79d6cc2 in va_openDriver (dpy=<value optimized out>, major_version=0x7fffffffddcc, minor_version=<value optimized out>) at va.c:178
        handle = 0x60de60
        ctx = 0x60d760
        driver_dir = 0x60d59c ""
        search_path = <value optimized out>
#4  vaInitialize (dpy=<value optimized out>, major_version=0x7fffffffddcc, minor_version=<value optimized out>) at va.c:344
        driver_name = 0x60db70 "i965"
        vaStatus = <value optimized out>
#5  0x0000000000400a92 in main (argc=<value optimized out>, argv=<value optimized out>) at vainfo.c:108
        dpy = <value optimized out>
        va_dpy = <value optimized out>
        va_status = <value optimized out>
        major_version = <value optimized out>
        minor_version = <value optimized out>
        driver = <value optimized out>
        display = 0x7fffffffef5e ":0.0"
        name = 0x7fffffffe2a6 "vainfo"
        profile = <value optimized out>
        entrypoint = <value optimized out>
        entrypoints = {4294958840, 32767, 4154234704, 32767, 32768, 0, 4197504, 0, 0, 0}
        num_entrypoint = <value optimized out>

With libva* 1.0.8, i965-va-driver 1.0.1 and vainfo 1.0.8:

pabs at chianamo:~$ gdb vainfo
GNU gdb (GDB) 7.2-debian
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/vainfo...done.
(gdb) r
Starting program: /usr/bin/vainfo 
[Thread debugging using libthread_db enabled]
libva: libva version 0.31.1
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so
vainfo: intel_driver.c:59: intel_driver_init: Assertion `dri_state' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff7344165 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
	in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) thread apply all bt full

Thread 1 (Thread 0x7ffff7fce700 (LWP 19931)):
#0  0x00007ffff7344165 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        pid = <value optimized out>
        selftid = <value optimized out>
#1  0x00007ffff7346f70 in abort () at abort.c:92
        act = {__sigaction_handler = {sa_handler = 0x7ffff5e6a2b0, sa_sigaction = 0x7ffff5e6a2b0}, sa_mask = {__val = {140737341787067, 140737488345952, 59, 140737488346192, 
              140737340981398, 206158430232, 140737488346208, 140737488345984, 140737340893736, 206158430256, 140737488346232, 6359568, 26, 798049, 96, 140737488347814}}, 
          sa_flags = -146576257, sa_restorer = 0x7ffff5e6a292}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff733d2b1 in __assert_fail (assertion=0x7ffff5e6a2b0 "dri_state", file=<value optimized out>, line=59, function=0x7ffff5e6a340 "intel_driver_init") at assert.c:81
        buf = 0x610a10 "vainfo: intel_driver.c:59: intel_driver_init: Assertion `dri_state' failed.\n"
#3  0x00007ffff5e63f69 in intel_driver_init (ctx=<value optimized out>) at intel_driver.c:59
        dri_state = 0x0
        __PRETTY_FUNCTION__ = "intel_driver_init"
#4  0x00007ffff5e67fd7 in i965_Init (ctx=0x60d770) at i965_drv_video.c:1130
No locals.
#5  __vaDriverInit_0_31 (ctx=0x60d770) at i965_drv_video.c:1530
        result = 0
        __PRETTY_FUNCTION__ = "__vaDriverInit_0_31"
#6  0x00007ffff7bba242 in va_openDriver (dpy=<value optimized out>, major_version=0x7fffffffddcc, minor_version=<value optimized out>) at va.c:233
        handle = 0x60de90
        ctx = 0x60d770
        driver_dir = 0x60d59c ""
        search_path = <value optimized out>
#7  vaInitialize (dpy=<value optimized out>, major_version=0x7fffffffddcc, minor_version=<value optimized out>) at va.c:415
        driver_name_env = <value optimized out>
        driver_name = 0x60dba0 "i965"
        vaStatus = <value optimized out>
#8  0x0000000000400a92 in main (argc=<value optimized out>, argv=<value optimized out>) at vainfo.c:114
        dpy = <value optimized out>
        va_dpy = <value optimized out>
        va_status = <value optimized out>
        major_version = <value optimized out>
        minor_version = <value optimized out>
        driver = <value optimized out>
        display = 0x7fffffffef5e ":0.0"
        name = 0x7fffffffe2a6 "vainfo"
        profile = <value optimized out>
        entrypoint = <value optimized out>
        entrypoints = {4294958840, 32767, 4150695760, 32767, 32768, 0, 4197504, 0, 0, 0}
        num_entrypoint = <value optimized out>

With libva* 1.0.8, i965-va-driver 1.0.1 and vainfo 1.0.1:

pabs at chianamo:~$ gdb vainfo
GNU gdb (GDB) 7.2-debian
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/vainfo...done.
(gdb) r
Starting program: /usr/bin/vainfo 
[Thread debugging using libthread_db enabled]
libva: libva version 0.31.1
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/i965_drv_video.so
vainfo: intel_driver.c:59: intel_driver_init: Assertion `dri_state' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff767f165 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
	in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) thread apply all bt full

Thread 1 (Thread 0x7ffff7fce700 (LWP 20330)):
#0  0x00007ffff767f165 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        pid = <value optimized out>
        selftid = <value optimized out>
#1  0x00007ffff7681f70 in abort () at abort.c:92
        act = {__sigaction_handler = {sa_handler = 0x7ffff5e6a2b0, sa_sigaction = 0x7ffff5e6a2b0}, sa_mask = {__val = {140737345174459, 140737488345952, 59, 140737488346192, 
              140737344368790, 206158430232, 140737488346208, 140737488345984, 140737344281128, 206158430256, 140737488346232, 6359568, 26, 798049, 96, 140737488347814}}, 
          sa_flags = -143188865, sa_restorer = 0x7ffff5e6a292}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff76782b1 in __assert_fail (assertion=0x7ffff5e6a2b0 "dri_state", file=<value optimized out>, line=59, function=0x7ffff5e6a340 "intel_driver_init") at assert.c:81
        buf = 0x610a10 "vainfo: intel_driver.c:59: intel_driver_init: Assertion `dri_state' failed.\n"
#3  0x00007ffff5e63f69 in intel_driver_init (ctx=<value optimized out>) at intel_driver.c:59
        dri_state = 0x0
        __PRETTY_FUNCTION__ = "intel_driver_init"
#4  0x00007ffff5e67fd7 in i965_Init (ctx=0x60d770) at i965_drv_video.c:1130
No locals.
#5  __vaDriverInit_0_31 (ctx=0x60d770) at i965_drv_video.c:1530
        result = 0
        __PRETTY_FUNCTION__ = "__vaDriverInit_0_31"
#6  0x00007ffff79b3242 in va_openDriver (dpy=<value optimized out>, major_version=0x7fffffffddcc, minor_version=<value optimized out>) at va.c:233
        handle = 0x60de90
        ctx = 0x60d770
        driver_dir = 0x60d59c ""
        search_path = <value optimized out>
#7  vaInitialize (dpy=<value optimized out>, major_version=0x7fffffffddcc, minor_version=<value optimized out>) at va.c:415
        driver_name_env = <value optimized out>
        driver_name = 0x60dba0 "i965"
        vaStatus = <value optimized out>
#8  0x0000000000400a92 in main (argc=<value optimized out>, argv=<value optimized out>) at vainfo.c:108
        dpy = <value optimized out>
        va_dpy = <value optimized out>
        va_status = <value optimized out>
        major_version = <value optimized out>
        minor_version = <value optimized out>
        driver = <value optimized out>
        display = 0x7fffffffef5e ":0.0"
        name = 0x7fffffffe2a6 "vainfo"
        profile = <value optimized out>
        entrypoint = <value optimized out>
        entrypoints = {4294958840, 32767, 4154083152, 32767, 32768, 0, 4197504, 0, 0, 0}
        num_entrypoint = <value optimized out>

-- 
bye,
pabs

http://wiki.debian.org/PaulWise
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20110214/1f768759/attachment-0001.pgp>


More information about the pkg-multimedia-maintainers mailing list