Crash in draw_paint_node
How to reproduce:
- Start latest Weston (2df71c6d) under X11 (may work with other backends, but I haven't tested)
- Start pavucontrol (ensuring it runs natively in the just started Weston instance).
- Go to the "Input devices" tab.
- Click on the "Port" drop down menu of the device (only one device in my case)
- Crash (it may take a few clicks at step 4)
The gdb log is:
Thread 1 "weston" received signal SIGSEGV, Segmentation fault.
0x00007ffff72aa718 in draw_paint_node (pnode=0x555555c35610, damage=0x7fffffffcf50) at ../libweston/renderer-gl/gl-renderer.c:1017
1017 if (gb->shader_variant == SHADER_VARIANT_NONE &&
(gdb) bt
#0 0x00007ffff72aa718 in draw_paint_node (pnode=0x555555c35610, damage=0x7fffffffcf50) at ../libweston/renderer-gl/gl-renderer.c:1017
#1 0x00007ffff72aabf1 in repaint_views (output=0x555555c14f60, damage=0x7fffffffcf50) at ../libweston/renderer-gl/gl-renderer.c:1108
#2 0x00007ffff72ac6b8 in gl_renderer_repaint_output (output=0x555555c14f60, output_damage=0x7fffffffd020) at ../libweston/renderer-gl/gl-renderer.c:1702
#3 0x00007ffff7f9c73a in x11_output_repaint_gl (output_base=0x555555c14f60, damage=0x7fffffffd020) at ../libweston/backend-x11/x11.c:425
#4 0x00007ffff7d58e51 in weston_output_repaint (output=0x555555c14f60) at ../libweston/compositor.c:3117
#5 0x00007ffff7d59110 in weston_output_maybe_repaint (output=0x555555c14f60, now=0x7fffffffd100) at ../libweston/compositor.c:3183
#6 0x00007ffff7d592e8 in output_repaint_timer_handler (data=0x55555556b380) at ../libweston/compositor.c:3250
#7 0x00007ffff7d208e2 in wl_timer_heap_dispatch (timers=0x555555562fa8) at ../src/event-loop.c:526
#8 wl_event_loop_dispatch (loop=0x555555562f60, timeout=timeout@entry=-1) at ../src/event-loop.c:1020
#9 0x00007ffff7d1e2b5 in wl_display_run (display=0x555555568e40) at ../src/wayland-server.c:1408
#10 0x00007ffff7fb5f24 in wet_main (argc=1, argv=0x7fffffffd948, test_data=0x0) at ../compositor/main.c:3589
#11 0x000055555555515e in main (argc=6, argv=0x7fffffffd948) at ../compositor/executable.c:33
(gdb) info locals
gr = 0x55555558b270
gs = 0x555555c35730
gb = 0x0
buffer = 0x0
repaint = {extents = {x1 = 0, y1 = 32, x2 = 1596, y2 = 1757}, data = 0x0}
surface_opaque = {extents = {x1 = 26, y1 = 23, x2 = 3222, y2 = 1817}, data = 0x555555c6d070}
surface_blend = {extents = {x1 = 0, y1 = 0, x2 = 3248, y2 = 1846}, data = 0x555555c0bf20}
filter = 9728
sconf = {req = {variant = 2, input_is_premult = true, green_tint = false, color_pre_curve = 0, color_mapping = 0, pad_bits_ = 0}, projection = {d = {0.00125313282, 0, 0, 0, 0, -0.00113830389, 0, 0, 0, 0, 1, 0,
-1, 1, 0, 1}, type = 3}, view_alpha = 1, unicolor = {0, 0, 0, 0}, input_tex_filter = 9728, input_tex = {5, 0, 0}, color_pre_curve_lut_tex = 0, color_pre_curve_lut_scale_offset = {0, 0}, color_mapping = {
lut3d = {tex = 0, scale_offset = {0, 0}}}}