Bug ID | 111414 |
---|---|
Summary | [REGRESSION] [BISECTED] Segmentation fault in si_bind_blend_state after removal of the blend state NULL check |
Product | Mesa |
Version | git |
Hardware | x86-64 (AMD64) |
OS | Linux (All) |
Status | NEW |
Severity | normal |
Priority | medium |
Component | Drivers/Gallium/radeonsi |
Assignee | dri-devel@lists.freedesktop.org |
Reporter | edmondo.tommasina@gmail.com |
QA Contact | dri-devel@lists.freedesktop.org |
Created attachment 145084 [details] Backtrace vlc using vdpau received signal SIGSEGV after the removal of the blend state NULL check. Bisected to: https://gitlab.freedesktop.org/mesa/mesa/commit/b758eed9c373db14a5acc04d9522ec9d74e51f1b commit b758eed9c373db14a5acc04d9522ec9d74e51f1b (HEAD, refs/bisect/bad) Author: Marek Olšák <marek.olsak@amd.com> Date: Tue Jul 30 17:43:41 2019 -0400 radeonsi: make sure that blend state != NULL and remove all NULL checking Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> The backtrace shows old_blend = 0x0 where the new code doesn't check old_blend anymore: + if (old_blend->cb_target_mask != blend->cb_target_mask || Full backtrace attached, here an extract: 0x00007fff60e6497b in si_bind_blend_state (ctx=0x7fff58468f20, state=<optimized out>) at ../mesa-9999/src/gallium/drivers/radeonsi/si_state.c:686 686 ../mesa-9999/src/gallium/drivers/radeonsi/si_state.c: No such file or directory. (gdb) bt full #0 0x00007fff60e6497b in si_bind_blend_state (ctx=0x7fff58468f20, state=<optimized out>) at ../mesa-9999/src/gallium/drivers/radeonsi/si_state.c:686 sctx = 0x7fff58468f20 old_blend = 0x0 blend = 0x7fff584f2220 #1 0x00007fff60cea216 in draw_layers (dirty=0x7fff584099b8, s=0x7fff584fbf60, c=0x7fff58409788) at ../mesa-9999/src/gallium/auxiliary/vl/vl_compositor_gfx.c:662 layer = 0x7fff584fbf98 samplers = 0x7fff584fbfe8 num_sampler_views = 1 blend = <optimized out> vb_index = 0 i = 0 vb_index = <optimized out> i = <optimized out> layer = <optimized out> samplers = <optimized out> num_sampler_views = <optimized out> blend = <optimized out> drawn = <optimized out> #2 vl_compositor_gfx_render (s=s@entry=0x7fff584fbf60, c=c@entry=0x7fff58409788, dst_surface=dst_surface@entry=0x7fff58530980, dirty_area=0x7fff584099b8, dirty_area@entry=0x1, clear_dirty=<optimized out>) at ../mesa-9999/src/gallium/auxiliary/vl/vl_compositor_gfx.c:725 No locals. #3 0x00007fff60ce462c in vl_compositor_render (clear_dirty=true, dirty_area=0x1, dst_surface=0x7fff58530980, c=0x7fff58409788, s=0x7fff584fbf60) at ../mesa-9999/src/gallium/auxiliary/vl/vl_compositor.c:755 No locals. #4 vl_compositor_render (s=s@entry=0x7fff584fbf60, c=c@entry=0x7fff58409788, dst_surface=dst_surface@entry=0x7fff5866b060, dirty_area=dirty_area@entry=0x7fff584099b8, clear_dirty=clear_dirty@entry=true) at ../mesa-9999/src/gallium/auxiliary/vl/vl_compositor.c:744 No locals. #5 0x00007fff60cda6ae in vlVdpPresentationQueueDisplay (presentation_queue=<optimized out>, surface=4, clip_width=<optimized out>, clip_height=0, earliest_presentation_time=36232721127000) at ../mesa-9999/src/gallium/state_trackers/vdpau/presentation.c:262 dump_window = -1 pq = 0x7fff584fbf50 surf = 0x7fff585043d0 pipe = 0x7fff58468f20 tex = 0x7fff58530980 surf_templ = {reference = {count = 0}, format = PIPE_FORMAT_B8G8R8X8_UNORM, writable = 0, texture = 0x0, context = 0x0, width = 0, height = 0, nr_samples = 0, u = {tex = {level = 0, first_layer = 0, last_layer = 0}, buf = { first_element = 0, last_element = 0}}} surf_draw = 0x7fff5866b060 src_rect = {x0 = 0, x1 = 1658, y0 = 0, y1 = 933} dst_clip = {x0 = 0, x1 = 1658, y0 = 0, y1 = 933} dirty_area = 0x7fff584099b8 compositor = 0x7fff58409788 cstate = 0x7fff584fbf60 vscreen = 0x7fff58409900
You are receiving this mail because:
- You are the assignee for the bug.
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel