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

Robert Lowery rglowery at exemail.com.au
Tue Dec 9 13:17:43 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

Not sure if it was intentional, but it looks like this crash has been
fixed by
http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/?id=e8b95efbf5d9c3a5b75b2bb8b5b51844b5fcdfbc
and the below patch.

specifically i965_batch_flush_notify now unreferences vertex_buffer_bo
earlier

Cheers

-Rob


>
> 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