Bug 85268

Summary: vlc crashes with vdpau (Radeon 3850HD) [r600]
Product: Mesa Reporter: Arthur Marsh <arthur.marsh>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Arthur Marsh 2014-10-21 02:57:34 UTC
I'm running Mesa 10.3.1 under Debian unstable with Linux Kernel 3.18.0-rc1 and michel@daenzer.net suggested that I report the bug here.

I ran vlc under valgrind to watch a dvd and one of the errors was:

(coments are from michel@daenzer.net )

> ==13424== Invalid read of size 8
> ==13424==    at 0x1A6A4291: destroy_video_buffer_private (in /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1.0.0)
> ==13424==    by 0x1A6C0127: vl_video_buffer_destroy (in /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1.0.0)
> ==13424==    by 0x1A627314: vlVdpVideoSurfaceDestroy (in /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1.0.0)
> ==13424==    by 0x189B4092: SurfaceDestroy (in /usr/lib/vlc/plugins/vdpau/libvdpau_avcodec_plugin.so)
> ==13424==    by 0x30D0E8DCF4: picture_Release (in /usr/lib/libvlccore.so.8.0.0)
> ==13424==    by 0x30D0E6D095: ThreadDisplayPreparePicture (in /usr/lib/libvlccore.so.8.0.0)
> ==13424==    by 0x30D0E6D12B: ThreadDisplayPicture (in /usr/lib/libvlccore.so.8.0.0)
> ==13424==    by 0x30D0E6DEB2: Thread (in /usr/lib/libvlccore.so.8.0.0)
> ==13424==    by 0x30022080A3: start_thread (pthread_create.c:309)
> ==13424==  Address 0x6780940 is 480 bytes inside a block of size 10,760 free'd
> ==13424==    at 0x4A08E90: free (vg_replace_malloc.c:473)
> ==13424==    by 0x1A6A44CA: vl_mpeg12_destroy (in /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1.0.0)
> ==13424==    by 0x1A628489: vlVdpDecoderDestroy (in /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1.0.0)
> ==13424==    by 0x189B370D: Close (in /usr/lib/vlc/plugins/vdpau/libvdpau_avcodec_plugin.so)
> ==13424==    by 0x30D0E9028E: vlc_module_unload (in /usr/lib/libvlccore.so.8.0.0)
> ==13424==    by 0x1715EE48: vlc_va_Delete (in /usr/lib/vlc/plugins/codec/libavcodec_plugin.so)
> ==13424==    by 0x1715AA59: ffmpeg_GetFormat (in /usr/lib/vlc/plugins/codec/libavcodec_plugin.so)
> ==13424==    by 0x306F7FD5E0: ff_get_format (in /usr/lib/x86_64-linux-gnu/libavcodec.so.56.1.0)
> ==13424==    by 0x306F6DDBC8: decode_chunks (in /usr/lib/x86_64-linux-gnu/libavcodec.so.56.1.0)
> ==13424==    by 0x306F6DF8C8: mpeg_decode_frame (in /usr/lib/x86_64-linux-gnu/libavcodec.so.56.1.0)
> ==13424==    by 0x306F7FBE1A: avcodec_decode_video2 (in /usr/lib/x86_64-linux-gnu/libavcodec.so.56.1.0)
> ==13424==    by 0x1715C18C: DecodeVideo (in /usr/lib/vlc/plugins/codec/libavcodec_plugin.so)

Looks like VLC destroys the VDPAU surface after the VDPAU decoder, and the Gallium VDPAU state tracker chokes on that. Can you report this upstream at https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa , component "Mesa core"?
Comment 1 Michel Dänzer 2014-10-30 07:21:34 UTC
Next time please don't file several bugs about the same problem.

*** This bug has been marked as a duplicate of bug 85613 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.