[bisected] Crash in pixman renderer when closing kdialog windows
It seems to happen on not every close, but a high percentage of them
It seems to be caused by c08a6ff8bd6e1839a8fd7fe87602df9a1a8b62e2
, as it does not happen with 71079ffd1a4e71a29b297e5c403a8c48eccc9f83
Below is the stack trace of Weston when it crashes
Core was generated by `/opt/bin/weston --backend=drm-backend.so --use-pixman --s
ocket=loginmanagerdisp'.
Program terminated with signal SIGSEGV, Segmentation fault.
warning: Section `.reg-xstate/4670' in core file too small.
#0 0x00007f54c555bd05 in wl_shm_buffer_get_format ()
--Type <RET> for more, q to quit, c to continue without paging--bt
from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
(gdb) bt
#0 0x00007f54c555bd05 in wl_shm_buffer_get_format ()
from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
#1 0x00007f54c55aeb9a in pixman_renderer_attach_internal (es=0x55dcd034ec70,
buffer=0x55dcd035e790) at ../libweston/pixman-renderer.c:781
#2 0x00007f54c55a0fd5 in paint_node_update_late (pnode=0x55dcd0348220)
at ../libweston/compositor.c:314
#3 weston_output_repaint (now=0x7ffc9f3e9820, output=0x55dcd0367030)
at ../libweston/compositor.c:3674
#4 output_repaint_timer_handler (data=0x55dcd02b8d50)
at ../libweston/compositor.c:3876
#5 0x00007f54c555c984 in wl_event_loop_dispatch ()
from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
#6 0x00007f54c555b3a2 in wl_display_run ()
from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
#7 0x00007f54c57ce729 in wet_main (argc=<optimized out>, argv=0x7ffc9f3ea418,
test_data=0x0) at ../frontend/main.c:4473
#8 0x00007f54c560624a in __libc_start_call_main (
main=main@entry=0x55dcc3e6e050 <main>, argc=argc@entry=6,
argv=argv@entry=0x7ffc9f3ea418)
at ../sysdeps/nptl/libc_start_call_main.h:58
#9 0x00007f54c5606305 in __libc_start_main_impl (main=0x55dcc3e6e050 <main>,
argc=6, argv=0x7ffc9f3ea418, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7ffc9f3ea408)
--Type <RET> for more, q to quit, c to continue without paging--
at ../csu/libc-start.c:360
#10 0x000055dcc3e6e081 in _start ()
(gdb)
(gdb)
(gdb)
(gdb) bt full
#0 0x00007f54c555bd05 in wl_shm_buffer_get_format ()
from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#1 0x00007f54c55aeb9a in pixman_renderer_attach_internal (es=0x55dcd034ec70,
buffer=0x55dcd035e790) at ../libweston/pixman-renderer.c:781
ps = 0x55dcd035c0c0
shm_buffer = 0x0
pixel_info = <optimized out>
#2 0x00007f54c55a0fd5 in paint_node_update_late (pnode=0x55dcd0348220)
at ../libweston/compositor.c:314
surf = 0x55dcd034ec70
vis_dirty = <optimized out>
plane_dirty = false
content_dirty = true
buffer_dirty = true
surf = <optimized out>
vis_dirty = <optimized out>
plane_dirty = <optimized out>
content_dirty = <optimized out>
buffer_dirty = <optimized out>
__PRETTY_FUNCTION__ = "paint_node_update_late"
#3 weston_output_repaint (now=0x7ffc9f3e9820, output=0x55dcd0367030)
at ../libweston/compositor.c:3674
--Type <RET> for more, q to quit, c to continue without paging--c
pnode = 0x55dcd0348220
animation = <optimized out>
cnext = <optimized out>
r = <optimized out>
frame_time_msec = <optimized out>
highest_requested = <optimized out>
ec = 0x55dcd02b8d50
next = <optimized out>
cb = <optimized out>
frame_callback_list = {prev = 0x0, next = 0x32000000500}
ec = <optimized out>
pnode = <optimized out>
animation = <optimized out>
next = <optimized out>
cb = <optimized out>
cnext = <optimized out>
frame_callback_list = <optimized out>
r = <optimized out>
frame_time_msec = <optimized out>
highest_requested = <optimized out>
__PRETTY_FUNCTION__ = "weston_output_repaint"
tmp___ = <optimized out>
tmp___ = <optimized out>
#4 output_repaint_timer_handler (data=0x55dcd02b8d50)
at ../libweston/compositor.c:3876
compositor = <optimized out>
backend = 0x55dcd02c35c0
output = 0x55dcd0367030
now = {tv_sec = 868, tv_nsec = 770804474}
ret = <optimized out>
#5 0x00007f54c555c984 in wl_event_loop_dispatch ()
from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#6 0x00007f54c555b3a2 in wl_display_run ()
from /opt/lib/x86_64-linux-gnu/libwayland-server.so.0
No symbol table info available.
#7 0x00007f54c57ce729 in wet_main (argc=<optimized out>, argv=0x7ffc9f3ea418, test_data=0x0) at ../frontend/main.c:4473
ret = 1
cmdline = <optimized out>
display = 0x55dcd02b6cb0
signals = {0x55dcd02b6ea0, 0x55dcd02b6ef0, 0x55dcd02b6f40}
loop = <optimized out>
i = <optimized out>
fd = <optimized out>
backends = 0x55dcd02ad5b0 "drm-backend.so"
renderer = 0x0
shell = 0x55dcd02c98d0 "desktop"
xwayland = false
modules = 0x55dcd0343870 ""
option_modules = 0x0
log = 0x55dcd02aeec0 "/var/log/waylandloginmanager/loginmanagerdisplays/
loginmanagerdisplay_seat0.log"
log_scopes = 0x0
flight_rec_scopes = 0x7f54c57d47d4 "log,drm-backend"
server_socket = <optimized out>
require_outputs = 0x0
idle_time = 300
help = 0
socket_name = 0x55dcd02ad5d0 "loginmanagerdisplay_seat0"
version = 0
noconfig = 0
debug_protocol = 0
numlock_on = false
config_file = 0x55dcd02ae360 "/etc/loginmanagerdisplay//loginmanagerdisp
lay.ini"
config = <optimized out>
section = <optimized out>
primary_client = <optimized out>
primary_client_destroyed = {link = {prev = 0x0, next = 0x1},
notify = 0x0}
seat = <optimized out>
wet = {compositor = 0x55dcd02b8d50, config = 0x55dcd02b6f90,
parsed_options = 0x0, drm_use_current_mode = false,
init_failed = false, backend_list = {prev = 0x55dcd02ba4e8,
next = 0x55dcd02ba4e8}, layoutput_list = {prev = 0x55dcd0344968,
next = 0x55dcd0344968}, child_process_list = {
prev = 0x55dcd0356ac0, next = 0x55dcd0356ac0},
autolaunch_pid = -1, autolaunch_watch = false,
use_color_manager = false, drm_backend_loaded = true,
screenshot_auth = {link = {prev = 0x0, next = 0x0}, notify = 0x0},
require_outputs = REQUIRE_OUTPUTS_ANY}
log_ctx = 0x55dcd02b4c40
logger = 0x55dcd02b4f00
flight_rec = 0x55dcd02b4f40
process = <optimized out>
process_tmp = <optimized out>
wet_xwl = 0x0
mask = {__val = {512, 0, 0, 0, 0, 0, 0, 0, 0, 16384, 4294959103,
4294959103, 0, 0, 0, 0}}
action = {__sigaction_handler = {
sa_handler = 0x7f54c57c82c5 <sigint_helper>,
sa_sigaction = 0x7f54c57c82c5 <sigint_helper>}, sa_mask = {
__val = {0, 15305483335754892584, 11729625230926991402,
2621657935230312254, 0 <repeats 12 times>}}, sa_flags = 0,
sa_restorer = 0x6172615047007261}
wait_for_debugger = false
protologger = 0x55dcd02b99e0
core_options = {{type = WESTON_OPTION_STRING,
name = 0x7f54c57d47dc "backend", short_name = 66 'B',
data = 0x7ffc9f3e9b60}, {type = WESTON_OPTION_STRING,
name = 0x7f54c57d35f5 "backends", short_name = 0 '\000',
data = 0x7ffc9f3e9b60}, {type = WESTON_OPTION_STRING,
name = 0x7f54c57d35fe "renderer", short_name = 0 '\000',
data = 0x7ffc9f3e9b68}, {type = WESTON_OPTION_STRING,
name = 0x7f54c57d3607 "shell", short_name = 0 '\000',
data = 0x7ffc9f3e9b70}, {type = WESTON_OPTION_STRING,
name = 0x7f54c57d4c78 "socket", short_name = 83 'S',
data = 0x7ffc9f3e9ba8}, {type = WESTON_OPTION_INTEGER,
name = 0x7f54c57d360d "idle-time", short_name = 105 'i',
data = 0x7ffc9f3e9b48}, {type = WESTON_OPTION_BOOLEAN,
name = 0x7f54c57d3617 "xwayland", short_name = 0 '\000',
data = 0x7ffc9f3e9b46}, {type = WESTON_OPTION_STRING,
name = 0x7f54c57d3620 "modules", short_name = 0 '\000',
data = 0x7ffc9f3e9b80}, {type = WESTON_OPTION_STRING,
name = 0x7f54c57d3628 "log", short_name = 0 '\000',
data = 0x7ffc9f3e9b88}, {type = WESTON_OPTION_BOOLEAN,
name = 0x7f54c57d362c "help", short_name = 104 'h',
data = 0x7ffc9f3e9b4c}, {type = WESTON_OPTION_BOOLEAN,
name = 0x7f54c57d3631 "version", short_name = 0 '\000',
data = 0x7ffc9f3e9b50}, {type = WESTON_OPTION_BOOLEAN,
name = 0x7f54c57d3639 "no-config", short_name = 0 '\000',
data = 0x7ffc9f3e9b54}, {type = WESTON_OPTION_STRING,
name = 0x7f54c57d363c "config", short_name = 99 'c',
data = 0x7ffc9f3e9bb0}, {type = WESTON_OPTION_BOOLEAN,
name = 0x7f54c57d3643 "wait-for-debugger", short_name = 0 '\000',
data = 0x7ffc9f3e9b47}, {type = WESTON_OPTION_BOOLEAN,
name = 0x7f54c57d3655 "debug", short_name = 0 '\000',
data = 0x7ffc9f3e9b58}, {type = WESTON_OPTION_STRING,
name = 0x7f54c57d365b "logger-scopes", short_name = 108 'l',
data = 0x7ffc9f3e9b90}, {type = WESTON_OPTION_STRING,
name = 0x7f54c57d3669 "flight-rec-scopes", short_name = 102 'f',
data = 0x7ffc9f3e9b98}}
#8 0x00007f54c560624a in __libc_start_call_main (
main=main@entry=0x55dcc3e6e050 <main>, argc=argc@entry=6,
argv=argv@entry=0x7ffc9f3ea418)
at ../sysdeps/nptl/libc_start_call_main.h:58
self = <optimized out>
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140722980168728,
-7084263001601203430, 0, 140722980168784, 94406667865528,
140002067566624, 7086020563527934746, 7135441878208881434},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7ffc9f3ea418,
0x7ffc9f3ea418}, data = {prev = 0x0, cleanup = 0x0,
canceltype = -1623284712}}}
not_first_call = <optimized out>
#9 0x00007f54c5606305 in __libc_start_main_impl (main=0x55dcc3e6e050 <main>,
argc=6, argv=0x7ffc9f3ea418, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7ffc9f3ea408)
at ../csu/libc-start.c:360
No locals.
#10 0x000055dcc3e6e081 in _start ()
No symbol table info available.
(gdb)
I hope this information is helpful
Thanks