[Intel-gfx] xserver crash when attempting XvMC playback via MythTV

Robert Lowery rglowery at exemail.com.au
Fri Dec 5 23:03:34 CET 2008


Folks,

I've recently upgraded my GM965 based Ubuntu Intrepid machine to use the
latest master DRM and Intel driver so I can try out XvMC support.

This support appears to work ok with mplayer, but it triggers a crash in
MythTV which in turn is triggering an xserver crash.

The last line reported in mythfrontend.log is
2008-11-26 22:05:46.928 XvMC: picture structure FRAME

And the xorg log stack backtrace is
Backtrace:
0: /usr/X11R6/bin/X(xf86SigHandler+0x65) [0x480f35]
1: /lib/libc.so.6 [0x7f91ae745060]
2: /usr/lib/libdrm_intel.so.1 [0x7f91acf2aac0]
3: /usr/lib/libdrm_intel.so.1 [0x7f91acf2ae7a]
4: /usr/lib/libdrm_intel.so.1 [0x7f91acf2af5c]
5:
/usr/lib/xorg/modules/drivers//intel_drv.so(gen4_render_state_cleanup+0x2a)
[0x7f91ad17d7da]
6: /usr/lib/xorg/modules/drivers//intel_drv.so [0x7f91ad15a24d]
7: /usr/lib/xorg/modules/drivers//intel_drv.so [0x7f91ad15a547]
8: /usr/X11R6/bin/X [0x502329]
9: /usr/X11R6/bin/X [0x525193]
10: /usr/X11R6/bin/X(main+0x4ec) [0x43378c]
11: /lib/libc.so.6(__libc_start_main+0xe6) [0x7f91ae730466]
12: /usr/X11R6/bin/X [0x432ad9]
Saw signal 7.  Server aborting.

Backtrace:
0: /usr/X11R6/bin/X(xf86SigHandler+0x65) [0x480f35]
1: /lib/libc.so.6 [0x7f91ae745060]
2: /usr/lib/xorg/modules/drivers//intel_drv.so(I830EmitFlush+0xc5)
[0x7f91ad14cf45]
3: /usr/lib/xorg/modules/drivers//intel_drv.so(I830Sync+0x52)
[0x7f91ad14d272]
4: /usr/lib/xorg/modules/drivers//intel_drv.so [0x7f91ad15a0a0]
5: /usr/X11R6/bin/X(AbortDDX+0x8d) [0x4681ed]
6: /usr/X11R6/bin/X(AbortServer+0x18) [0x4f8298]
7: /usr/X11R6/bin/X(xf86SigHandler+0x110) [0x480fe0]
8: /lib/libc.so.6 [0x7f91ae745060]
9: /usr/lib/libdrm_intel.so.1 [0x7f91acf2aac0]
10: /usr/lib/libdrm_intel.so.1 [0x7f91acf2ae7a]
11: /usr/lib/libdrm_intel.so.1 [0x7f91acf2af5c]
12:
/usr/lib/xorg/modules/drivers//intel_drv.so(gen4_render_state_cleanup+0x2a)
[0x7f91ad17d7da]
13: /usr/lib/xorg/modules/drivers//intel_drv.so [0x7f91ad15a24d]
14: /usr/lib/xorg/modules/drivers//intel_drv.so [0x7f91ad15a547]
15: /usr/X11R6/bin/X [0x502329]
16: /usr/X11R6/bin/X [0x525193]
17: /usr/X11R6/bin/X(main+0x4ec) [0x43378c]
18: /lib/libc.so.6(__libc_start_main+0xe6) [0x7f91ae730466]
19: /usr/X11R6/bin/X [0x432ad9]
Saw signal 11.  Server aborting.

I've chased down the crash to
http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/?id=47cc3d79da8174ba30ca130b0fb6c7d9c871caed

Removing this patch stops the crash, the mythfrontend restart is another
matter :(

I've also tried the following patch, but the crash continues
diff --git a/src/i965_render.c b/src/i965_render.c
index da6ded6..3177a0f 100644
--- a/src/i965_render.c
+++ b/src/i965_render.c
@@ -1615,7 +1615,10 @@ gen4_render_state_cleanup(ScrnInfoPtr pScrn)
     struct gen4_render_state *render_state= pI830->gen4_render_state;

     if (render_state->vertex_buffer_bo)
+    {
        dri_bo_unreference (render_state->vertex_buffer_bo);
+        render_state->vertex_buffer_bo = NULL;
+    }

     if (pI830->use_drm_mode) {
        dri_bo_unmap(pI830->gen4_render_state_mem->bo);

Does anyone have any ideas?  Are there ordering issues where the
dri_bo_unreference() needs to be called earlier?

Thanks

-Rob




More information about the Intel-gfx mailing list