[Libva] Crashes in gpe pipeline with vpp sharpening

Gwenole Beauchesne gb.devel at gmail.com
Fri Nov 28 01:21:52 PST 2014


Hi,

2014-11-28 8:55 GMT+01:00 Antti Seppälä <a.seppala at gmail.com>:
> Hello.
>
> I'm experiencing frequent crashes in libva-intel-driver when using vpp
> sharpening filter.
>
> I'm deinterlacing a surface with vpp and then trying to run vpp
> sharpening filter on to that surface. The sharpening process works for
> a while (approx 4-6 minutes ~ 13000 surfaces) but then an assert or
> segmentation fault occurs in libva-intel-driver.
>
> Here's my setup:
> libva-1.4.1
> libva-intel-driver-1.4.2.pre1 (from git)
> Intel D54250WYK NUC kit (Haswell i5)

Please use the driver version for git master, not from the 1.4 branch.
There was a known memory leak in the VEBOX code otherwise.

>
>
> Here is gdb backtrace of the assert:
>
> i965_gpe_utils.c:626: gen7_gpe_media_rw_surface_setup: Assertion
> `bo->virtual' failed.
>
> Program received signal SIGABRT, Aborted.
> [Switching to Thread 0x7fffc6ad1700 (LWP 15044)]
> 0x00007ffff62ef297 in raise () from /lib64/libc.so.6
> (gdb) bt
> #0  0x00007ffff62ef297 in raise () from /lib64/libc.so.6
> #1  0x00007ffff62f05b8 in abort () from /lib64/libc.so.6
> #2  0x00007ffff62e83c6 in __assert_fail_base () from /lib64/libc.so.6
> #3  0x00007ffff62e8472 in __assert_fail () from /lib64/libc.so.6
> #4  0x00007fffdd99782e in gen7_gpe_media_rw_surface_setup
> (ctx=ctx at entry=0x9c2fd0, gpe_context=gpe_context at entry=0x7fffbc2677e8,
>     obj_surface=obj_surface at entry=0x9c96c8,
> binding_table_offset=binding_table_offset at entry=1088,
>     surface_state_offset=surface_state_offset at entry=0) at i965_gpe_utils.c:626
> #5  0x00007fffdd97d67a in gen75_gpe_process_surfaces_setup
> (vpp_gpe_ctx=0x7fffbc2677e0, ctx=0x9c2fd0) at gen75_vpp_gpe.c:136
> #6  gen75_gpe_process_prepare (vpp_gpe_ctx=0x7fffbc2677e0,
> ctx=0x9c2fd0) at gen75_vpp_gpe.c:323
> #7  gen75_gpe_process (vpp_gpe_ctx=0x7fffbc2677e0, ctx=0x9c2fd0) at
> gen75_vpp_gpe.c:352
> #8  vpp_gpe_process (ctx=ctx at entry=0x9c2fd0,
> vpp_gpe_ctx=vpp_gpe_ctx at entry=0x7fffbc2677e0) at gen75_vpp_gpe.c:613
> #9  0x00007fffdd97e37f in vpp_gpe_process_sharpening
> (vpp_gpe_ctx=0x7fffbc2677e0, ctx=0x9c2fd0) at gen75_vpp_gpe.c:766
> #10 vpp_gpe_process_picture (ctx=ctx at entry=0x9c2fd0,
> vpp_gpe_ctx=0x7fffbc2677e0) at gen75_vpp_gpe.c:833
> #11 0x00007fffdd97c02a in gen75_vpp_gpe (proc_ctx=0x7fffbc256d80,
> ctx=0x9c2fd0) at gen75_picture_process.c:105
> #12 gen75_proc_picture (ctx=0x9c2fd0, profile=VAProfileNone,
> codec_state=0x9c6a18, hw_context=0x7fffbc256d80) at
> gen75_picture_process.c:201
> #13 0x00007ffff3d5adef in vaEndPicture () from /usr/lib64/libva.so.1
> (gdb) bt full
> #0  0x00007ffff62ef297 in raise () from /lib64/libc.so.6
> No symbol table info available.
> #1  0x00007ffff62f05b8 in abort () from /lib64/libc.so.6
> No symbol table info available.
> #2  0x00007ffff62e83c6 in __assert_fail_base () from /lib64/libc.so.6
> No symbol table info available.
> #3  0x00007ffff62e8472 in __assert_fail () from /lib64/libc.so.6
> No symbol table info available.
> #4  0x00007fffdd99782e in gen7_gpe_media_rw_surface_setup
> (ctx=ctx at entry=0x9c2fd0, gpe_context=gpe_context at entry=0x7fffbc2677e8,
>     obj_surface=obj_surface at entry=0x9c96c8,
> binding_table_offset=binding_table_offset at entry=1088,
>     surface_state_offset=surface_state_offset at entry=0) at i965_gpe_utils.c:626
>         ss = <optimized out>
>         bo = 0x7fffbd9e2500
>         __PRETTY_FUNCTION__ = "gen7_gpe_media_rw_surface_setup"
> #5  0x00007fffdd97d67a in gen75_gpe_process_surfaces_setup
> (vpp_gpe_ctx=0x7fffbc2677e0, ctx=0x9c2fd0) at gen75_vpp_gpe.c:136
>         obj_surface = 0x9c96c8
>         i = 0
>         input_surface_sum = 4 '\004'
> #6  gen75_gpe_process_prepare (vpp_gpe_ctx=0x7fffbc2677e0,
> ctx=0x9c2fd0) at gen75_vpp_gpe.c:323
> No locals.
> #7  gen75_gpe_process (vpp_gpe_ctx=0x7fffbc2677e0, ctx=0x9c2fd0) at
> gen75_vpp_gpe.c:352
>         va_status = <optimized out>
> #8  vpp_gpe_process (ctx=ctx at entry=0x9c2fd0,
> vpp_gpe_ctx=vpp_gpe_ctx at entry=0x7fffbc2677e0) at gen75_vpp_gpe.c:613
> No locals.
> #9  0x00007fffdd97e37f in vpp_gpe_process_sharpening
> (vpp_gpe_ctx=0x7fffbc2677e0, ctx=0x9c2fd0) at gen75_vpp_gpe.c:766
>         filter = <optimized out>
>         thr_param_size = 24
>         i = <optimized out>
>         va_status = <optimized out>
>         filter_ids = <optimized out>
>         pipe = <optimized out>
>         obj_buf = <optimized out>
>         origin_in_obj_surface = <optimized out>
>         origin_out_obj_surface = 0x7fffbc255c50
>         sharpening_intensity = <optimized out>
>         thr_param = {base = {pic_width = 720, pic_height = 576, v_pos
> = <optimized out>, h_pos = <optimized out>}, l_amount = <optimized
> out>,
>           d_amount = <optimized out>}
>         pos = <optimized out>
> #10 vpp_gpe_process_picture (ctx=ctx at entry=0x9c2fd0,
> vpp_gpe_ctx=0x7fffbc2677e0) at gen75_vpp_gpe.c:833
>         va_status = 0
>         pipe = <optimized out>
>         filter = <optimized out>
>         i = <optimized out>
>         obj_surface = <optimized out>
>         __PRETTY_FUNCTION__ = "vpp_gpe_process_picture"
> #11 0x00007fffdd97c02a in gen75_vpp_gpe (proc_ctx=0x7fffbc256d80,
> ctx=0x9c2fd0) at gen75_picture_process.c:105
>         va_status = 0
> #12 gen75_proc_picture (ctx=0x9c2fd0, profile=VAProfileNone,
> codec_state=0x9c6a18, hw_context=0x7fffbc256d80) at
> gen75_picture_process.c:201
>         obj_buf = <optimized out>
>         filter = <optimized out>
>         proc_st = 0x9c6a18
>         proc_ctx = 0x7fffbc256d80
>         pipeline_param = 0x7fffbd9e1b10
>         obj_dst_surf = <optimized out>
>         obj_src_surf = <optimized out>
>         __PRETTY_FUNCTION__ = "gen75_proc_picture"
>         filter_id = <optimized out>
> #13 0x00007ffff3d5adef in vaEndPicture () from /usr/lib64/libva.so.1
> No symbol table info available.
>
>
>
> Here is gdb backtrace of the segfault:
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fffc6ad1700 (LWP 14872)]
> gen75_gpe_process_parameters_fill (ctx=<optimized out>,
> vpp_gpe_ctx=0x7fffb0266ba0) at gen75_vpp_gpe.c:238
> 238         *command_ptr++ = (CMD_MEDIA_OBJECT | (size/sizeof(int) + 6 - 2));
> (gdb) bt
> #0  gen75_gpe_process_parameters_fill (ctx=<optimized out>,
> vpp_gpe_ctx=0x7fffb0266ba0) at gen75_vpp_gpe.c:238
> #1  gen75_gpe_process_pipeline_setup (vpp_gpe_ctx=0x7fffb0266ba0,
> ctx=0x30) at gen75_vpp_gpe.c:268
> #2  gen75_gpe_process_prepare (vpp_gpe_ctx=0x7fffb0266ba0, ctx=0x30)
> at gen75_vpp_gpe.c:328
> #3  gen75_gpe_process (vpp_gpe_ctx=0x7fffb0266ba0, ctx=0x30) at
> gen75_vpp_gpe.c:352
> #4  vpp_gpe_process (ctx=ctx at entry=0x9c2ff0,
> vpp_gpe_ctx=vpp_gpe_ctx at entry=0x7fffb0266ba0) at gen75_vpp_gpe.c:613
> #5  0x00007fffdd97e37f in vpp_gpe_process_sharpening
> (vpp_gpe_ctx=0x7fffb0266ba0, ctx=0x9c2ff0) at gen75_vpp_gpe.c:766
> #6  vpp_gpe_process_picture (ctx=ctx at entry=0x9c2ff0,
> vpp_gpe_ctx=0x7fffb0266ba0) at gen75_vpp_gpe.c:833
> #7  0x00007fffdd97c02a in gen75_vpp_gpe (proc_ctx=0x7fffb0256c70,
> ctx=0x9c2ff0) at gen75_picture_process.c:105
> #8  gen75_proc_picture (ctx=0x9c2ff0, profile=VAProfileNone,
> codec_state=0x9c6a28, hw_context=0x7fffb0256c70) at
> gen75_picture_process.c:201
> #9  0x00007ffff3d5adef in vaEndPicture () from /usr/lib64/libva.so.1
> (gdb) bt full
> #0  gen75_gpe_process_parameters_fill (ctx=<optimized out>,
> vpp_gpe_ctx=0x7fffb0266ba0) at gen75_vpp_gpe.c:238
>         command_ptr = 0x4
>         i = 0
>         size = 24
>         position = <optimized out>
> #1  gen75_gpe_process_pipeline_setup (vpp_gpe_ctx=0x7fffb0266ba0,
> ctx=0x30) at gen75_vpp_gpe.c:268
> No locals.
> #2  gen75_gpe_process_prepare (vpp_gpe_ctx=0x7fffb0266ba0, ctx=0x30)
> at gen75_vpp_gpe.c:328
> No locals.
> #3  gen75_gpe_process (vpp_gpe_ctx=0x7fffb0266ba0, ctx=0x30) at
> gen75_vpp_gpe.c:352
>         va_status = <optimized out>
> #4  vpp_gpe_process (ctx=ctx at entry=0x9c2ff0,
> vpp_gpe_ctx=vpp_gpe_ctx at entry=0x7fffb0266ba0) at gen75_vpp_gpe.c:613
> No locals.
> #5  0x00007fffdd97e37f in vpp_gpe_process_sharpening
> (vpp_gpe_ctx=0x7fffb0266ba0, ctx=0x9c2ff0) at gen75_vpp_gpe.c:766
>         filter = <optimized out>
>         thr_param_size = 24
>         i = <optimized out>
>         va_status = <optimized out>
>         filter_ids = <optimized out>
>         pipe = <optimized out>
>         obj_buf = <optimized out>
>         origin_in_obj_surface = <optimized out>
>         origin_out_obj_surface = 0x9c9390
>         sharpening_intensity = <optimized out>
>         thr_param = {base = {pic_width = 720, pic_height = 576, v_pos
> = <optimized out>, h_pos = <optimized out>}, l_amount = <optimized
> out>,
>           d_amount = <optimized out>}
>         pos = <optimized out>
> #6  vpp_gpe_process_picture (ctx=ctx at entry=0x9c2ff0,
> vpp_gpe_ctx=0x7fffb0266ba0) at gen75_vpp_gpe.c:833
>         va_status = 0
>         pipe = <optimized out>
>         filter = <optimized out>
>         i = <optimized out>
>         obj_surface = <optimized out>
>         __PRETTY_FUNCTION__ = "vpp_gpe_process_picture"
> #7  0x00007fffdd97c02a in gen75_vpp_gpe (proc_ctx=0x7fffb0256c70,
> ctx=0x9c2ff0) at gen75_picture_process.c:105
>         va_status = 0
> #8  gen75_proc_picture (ctx=0x9c2ff0, profile=VAProfileNone,
> codec_state=0x9c6a28, hw_context=0x7fffb0256c70) at
> gen75_picture_process.c:201
>         obj_buf = <optimized out>
>         filter = <optimized out>
>         proc_st = 0x9c6a28
>         proc_ctx = 0x7fffb0256c70
>         pipeline_param = 0x7fffb19de600
>         obj_dst_surf = <optimized out>
>         obj_src_surf = <optimized out>
>         __PRETTY_FUNCTION__ = "gen75_proc_picture"
>         filter_id = <optimized out>
> #9  0x00007ffff3d5adef in vaEndPicture () from /usr/lib64/libva.so.1
> No symbol table info available.
>
>
> I don't have any idea how to proceed next. Any help would be appreciated.
>
> Br,
> --
> Antti Seppälä
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva



-- 
Gwenole Beauchesne
Intel Corporation SAS / 2 rue de Paris, 92196 Meudon Cedex, France
Registration Number (RCS): Nanterre B 302 456 199


More information about the Libva mailing list