[Regression][Bisected] gallium/egl drm crashes Weston's egl backend, other display servers on simpledrm
Compiling Mesa with meson setup -Ddebug=false -Doptimization=s --prefix=INSTALLDIR -Dgles1=enabled -Dgles2=enabled -Dplatforms=x11,wayland -Dosmesa=true -Dgallium-xa=enabled -Dgbm=enabled -Dshared-glapi=enabled -Dllvm=enabled -Dshared-llvm=enabled -Dvulkan-drivers=intel,intel_hasvk,amd,swrast,virtio,nouveau -Dllvm=enabled build -Dglvnd=enabled
These are the enabled Gallim drivers: "r300 r600 radeonsi nouveau virgl svga llvmpipe softpipe iris crocus i915 zink"
I think it is 03e88c06
I do have a stack trace though.
If I use Weston's Pixman backend, I can avoid the crash
#0 0x00007f495e2a515c in dri2_allocate_textures (ctx=0x559ff7ec1530,
drawable=0x559ff7ea5250, statts=0x559ffa338d68, statts_count=1)
at ../src/gallium/frontends/dri/dri2.c:528
buf = 0x559ff7ea53a0
texture = <optimized out>
screen = 0x559ff7e9b520
templ = {{__cl_space = '\000' <repeats 63 times>, reference = {
count = 0}}, width0 = 0, height0 = 0, depth0 = 1,
array_size = 1, format = PIPE_FORMAT_NONE, target = PIPE_TEXTURE_2D,
last_level = 0 '\000', nr_samples = 0 '\000',
nr_storage_samples = 0 '\000', nr_sparse_levels = 0 '\000',
compression_rate = 0, usage = PIPE_USAGE_DEFAULT, bind = 0,
flags = 0, next = 0x0, screen = 0x0}
alloc_depthstencil = false
i = <optimized out>
j = <optimized out>
bind = 825504309
image = 0x7f496095f9c0 <image_loader_extension>
images = {image_mask = 1, back = 0x0, front = 0x282030203a737475}
buffers = 0x0
whandle = {type = 1852534357, layer = 762214255, plane = 673196337,
handle = 1835627120, stride = 695824993, array_stride = 1393101066,
image_stride = 1646284104, offset = 1701209717,
--Type <RET> for more, q to quit, c to continue without paging--c
format = 7950296401751078005, modifier = 3184376364001095275, {
com_obj = 0x6666393535783020, name = 0x6666393535783020},
size = 2967984731455632225}
num_buffers = 1
__PRETTY_FUNCTION__ = "dri2_allocate_textures"
#1 0x00007f495e2a0af2 in dri_st_framebuffer_validate (st=<optimized out>,
pdrawable=0x559ff7ea5250, statts=0x559ffa338d68, count=1,
out=0x7ffda312bea0, resolve=0x7ffda312be68)
at ../src/gallium/frontends/dri/dri_drawable.c:79
ctx = 0x559ff7ec1530
drawable = 0x559ff7ea5250
screen = 0x559ff7e9b520
statt_mask = 2
new_mask = 2
new_stamp = <optimized out>
i = <optimized out>
lastStamp = 0
textures = 0x559ff7ea5398
pscreen = <optimized out>
#2 0x00007f495e2f6da2 in st_framebuffer_validate (stfb=0x559ffa338900,
st=st@entry=0x559ff9aab5c0) at ../src/mesa/state_tracker/st_manager.c:239
textures = {0x0, 0x1800000000, 0x0, 0x0, 0x0, 0x0}
resolve = 0x0
width = <optimized out>
height = <optimized out>
i = <optimized out>
changed = false
new_stamp = 1
__PRETTY_FUNCTION__ = "st_framebuffer_validate"
#3 0x00007f495e2f7476 in st_api_make_current (st=0x559ff9aab5c0,
stdrawi=stdrawi@entry=0x559ff7ea5250, streadi=streadi@entry=0x559ff7ea5250)
at ../src/mesa/state_tracker/st_manager.c:1150
stdraw = 0x559ffa338900
stread = 0x559ffa338900
ret = <optimized out>
#4 0x00007f495e2a07fb in dri_make_current (ctx=0x559ff7ec1530,
draw=0x559ff7ea5250, read=0x559ff7ea5250)
at ../src/gallium/frontends/dri/dri_context.c:350
__PRETTY_FUNCTION__ = "dri_make_current"
#5 0x00007f495e2a3356 in driBindContext (pcp=<optimized out>,
pdp=<optimized out>, prp=<optimized out>)
at ../src/gallium/frontends/dri/dri_util.c:671
No locals.
#6 0x00007f4956a740d2 in dri2_make_current (disp=0x559ff7ebbaf0,
dsurf=0x559ff7e94bd0, rsurf=0x559ff7e94bd0, ctx=<optimized out>)
at ../src/egl/drivers/dri2/egl_dri2.c:1448
dri2_dpy = 0x559ff7ebc610
dri2_ctx = 0x559ff7ec4950
old_disp = 0x559ff7ebbaf0
old_dri2_dpy = 0x559ff7ebc610
old_ctx = 0x559ff7ec4950
old_dsurf = 0x0
old_rsurf = 0x0
tmp_dsurf = 0x0
tmp_rsurf = 0x0
ddraw = <optimized out>
rdraw = <optimized out>
cctx = <optimized out>
egl_error = 12288
__PRETTY_FUNCTION__ = "dri2_make_current"
#7 0x00007f4956a69104 in eglMakeCurrent (dpy=<optimized out>,
draw=<optimized out>, read=0x559ff7e94bd0, ctx=<optimized out>)
at ../src/egl/main/eglapi.c:997
__rs = {0x0, 0x559ff7e94bd0, 0x559ff7e94bd0, 0x559ff7ec4950}
__rsp = <optimized out>
disp = 0x559ff7ebbaf0
context = 0x559ff7ec4950
draw_surf = 0x559ff7e94bd0
read_surf = 0x559ff7e94bd0
ret = 0
__func__ = "eglMakeCurrent"
#8 0x00007f4956abf9fa in InternalMakeCurrentVendor ()
from /opt/lib/x86_64-linux-gnu/libEGL.so.1
No symbol table info available.
#9 0x00007f4956ad7270 in use_output ()
from /opt/lib/x86_64-linux-gnu/libweston-14/gl-renderer.so
No symbol table info available.
#10 0x00007f4956ad9ed3 in gl_renderer_repaint_output ()
from /opt/lib/x86_64-linux-gnu/libweston-14/gl-renderer.so
No symbol table info available.
#11 0x00007f49609a88cf in drm_output_render_gl ()
from /opt/lib/x86_64-linux-gnu/libweston-14/drm-backend.so
No symbol table info available.
#12 0x00007f49609a0698 in drm_output_render ()
from /opt/lib/x86_64-linux-gnu/libweston-14/drm-backend.so
No symbol table info available.
#13 0x00007f49609a0c80 in drm_output_repaint ()
from /opt/lib/x86_64-linux-gnu/libweston-14/drm-backend.so
No symbol table info available.
#14 0x00007f4960eec63b in output_repaint_timer_handler ()
from /opt/lib/x86_64-linux-gnu/libweston-14.so.0
No symbol table info available.
#15 0x00007f4960ea8915 in wl_event_loop_dispatch ()
from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#16 0x00007f4960ea737f in wl_display_run ()
from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#17 0x00007f4961119729 in wet_main ()
from /opt/lib/x86_64-linux-gnu/weston/libexec_weston.so.0
No symbol table info available.
#18 0x00007f4960f5124a in __libc_start_call_main (
main=main@entry=0x559fbdef6050 <main>, argc=argc@entry=5,
argv=argv@entry=0x7ffda312d148)
at ../sysdeps/nptl/libc_start_call_main.h:58
self = <optimized out>
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140727339372872,
4866681601433173207, 0, 140727339372920, 94144574754232,
139953138171936, -4867640213149549353, -4820209723157218089},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0,
0x7ffda312d148}, data = {prev = 0x0, cleanup = 0x0,
canceltype = 0}}}
not_first_call = <optimized out>
#19 0x00007f4960f51305 in __libc_start_main_impl (main=0x559fbdef6050 <main>,
argc=5, argv=0x7ffda312d148, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7ffda312d138)
at ../csu/libc-start.c:360
No locals.
#20 0x0000559fbdef6081 in _start ()
No symbol table info available.