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

Bug#651316: libdrm-intel1: X.org crashes when I try to play a video

tags 651316 patch fixed-upstream


On penktadienis 09 Gruodis 2011 19:50:48 Pedro Antonio Neves wrote:
> After installing the patched versions of libva and
> xserver-xorg-video-intel_2.17.0-1+kibi1 I'm still unable to play video
> files. The windows show up but they're black.

I had the same problem. The backtrace of X crashes was:

(gdb) bt
#0  0x00007f9fd101b405 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007f9fd101e680 in *__GI_abort () at abort.c:92
#2  0x00007f9fd10145b1 in *__GI___assert_fail (assertion=0x7f9fceddb7a7 "bo_gem->map_count == 0", 
file=<optimized out>, line=1016, function=0x7f9fceddbe70 "drm_intel_gem_bo_map") at assert.c:81
#3  0x00007f9fcedd8b10 in drm_intel_gem_bo_map (bo=0x7f9fd8010b90, write_enable=1) at 
#4  0x00007f9fceffcac3 in intel_alloc_and_map (name=<optimized out>, size=4096, bop=0x7fffe3bf6b30, 
virtualp=0x7fffe3bf6b38, intel=<optimized out>) at ../../src/i965_video.c:392
#5  0x00007f9fceffe420 in I965DisplayVideoTextured (scrn=0x7f9fd39c7e80, adaptor_priv=<optimized out>, 
id=<optimized out>, dstRegion=0x7f9fd8013c80, width=<optimized out>, height=<optimized out>, 
    video_pitch=312, video_pitch2=624, src_w=624, src_h=352, drw_w=884, drw_h=499, pixmap=0x7f9fd816d8f0) at 
#6  0x00007f9fceff57de in I830PutImageTextured (scrn=0x7f9fd39c7e80, src_x=0, src_y=<optimized out>, 
drw_x=<optimized out>, drw_y=<optimized out>, src_w=624, src_h=352, drw_w=884, drw_h=499, 
        id=842094169, buf=0x7f9fc9aca000 '\020' <repeats 200 times>..., width=624, height=352, sync=1, 
clipBoxes=0x7fffe3bf6da0, data=0x7f9fd5542f90, drawable=0x7f9fd8240380)
            at ../../src/intel_video.c:1579
#7  0x00007f9fd30599ce in xf86XVPutImage (client=<optimized out>, pDraw=0x7f9fd8240380, pPort=0x7f9fd5543d10, 
pGC=<optimized out>, src_x=<optimized out>, src_y=<optimized out>, src_w=624, src_h=352, 
                drw_x=0, drw_y=23, drw_w=884, drw_h=499, format=0x7f9fd5543a90, data=0x7f9fc9aca000 '\020' 
<repeats 200 times>..., sync=1, width=624, height=352) at ../../../../hw/xfree86/common/xf86xv.c:1865
#8  0x00007f9fd00f1e02 in ProcXvShmPutImage (client=0x7f9fd8240740) at ../../Xext/xvdisp.c:1091
#9  0x00007f9fd3004fc9 in Dispatch () at ../../dix/dispatch.c:432
#10 0x00007f9fd2ff422a in main (argc=8, argv=<optimized out>, envp=<optimized out>) at ../../dix/main.c:287
(gdb) q

I upgraded libdrm to the master branch as of writing ( dd9a5b4f7fb07c78db4e7481bedca1b981030e3f )
and the problem is gone now.

$ git log 2.4.28..master | cat
commit dd9a5b4f7fb07c78db4e7481bedca1b981030e3f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Dec 6 13:12:37 2011 +0000

    intel: Evict cached VMA in order to make room for new mappings
    As the max number of VMA mappings is a hard per-process limit, we need
    to include the number of currently active mappings when evicting in
    order to make room for a new mmap.
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

commit e4b60f29609e9993dc7268993da509530862aa78
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Dec 5 21:29:05 2011 +0000

    intel: Add an interface to limit vma caching
    There is a per-process limit on the number of vma that the process can
    keep open, so we cannot keep an unlimited cache of unused vma's (besides
    keeping track of all those vma in the kernel adds considerable overhead).
    However, in order to work around inefficiencies in the kernel it is
    beneficial to reuse the vma, so keep a MRU cache of vma.
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

commit 902ee661f1864aaf8325621085f6a1b5a6a3673a
Author: Dave Airlie <airlied@redhat.com>
Date:   Mon Dec 5 21:24:48 2011 +0000

    test/radeon: add missing files for dist

commit 5c5332bbc38ff25c06081ac53a15ad583ad4cbc4
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Dec 5 10:39:49 2011 +0000

    intel: Clean up mmaps on freeing the buffer
    As a precautionary measure munmap on buffer free so that we never leak
    the vma. Also include a warning during debugging.
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

I suggest pulling the relevant patches into the debian package as the
problem is pretty serious. I was not able to get any video to play due this

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply to: