<div dir="ltr">Hi,<br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 19, 2018 at 9:15 AM, Olivier Fourdan <span dir="ltr"><<a href="mailto:fourdan@gmail.com" target="_blank">fourdan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><span class="gmail-"></span><div class="gmail_extra"><div class="gmail_quote"><div>Sure, I've sent a new patch to do that, but I reckon this can wait after the release, we might leak a frame callback in some cases (although valgrind did not really complain yet), but we won't crash anymore.</div></div></div></div></blockquote><div><br></div><div>Sorry I kinda take that back, I just had a crash related to xwayland-present again:<br><br>gdb) bt<br>#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50<br>#1  0x00007f023c612591 in __GI_abort () at abort.c:79<br>#2  0x000000000058d850 in OsAbort () at utils.c:1350<br>#3  0x0000000000592ac9 in AbortServer () at log.c:877<br>#4  0x000000000059393d in FatalError (f=f@entry=0x5b86b0 "Caught signal %d (%s). Server aborting\n") at log.c:1015<br>#5  0x000000000058aba5 in OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at osinit.c:156<br>#6  <signal handler called><br>#7  0x00007f023eac1b55 in wl_proxy_destroy (proxy=0x31) at src/wayland-client.c:530<br>#8  0x0000000000434774 in wl_callback_destroy (wl_callback=<optimized out>) at /usr/include/wayland-client-protocol.h:1154<br>#9  xwl_present_frame_callback (data=0x184cb10, callback=<optimized out>, time=<optimized out>) at xwayland-present.c:192<br>#10 0x00007f023bf5603e in ffi_call_unix64 () at ../src/x86/unix64.S:76<br>#11 0x00007f023bf559ff in ffi_call () at ../src/x86/ffi64.c:525<br>#12 0x00007f023eac52dd in wl_closure_invoke (closure=0x18837d0, flags=1, target=<optimized out>, opcode=0, <br>    data=<optimized out>) at src/connection.c:996<br>#13 0x00007f023eac1a39 in dispatch_event (display=display@entry=0x980010, queue=<optimized out>) at src/wayland-client.c:1434<br>#14 0x00007f023eac2f5c in dispatch_queue (queue=0x9800d8, display=0x980010) at src/wayland-client.c:1580<br>#15 wl_display_dispatch_queue_pending (display=0x980010, queue=0x9800d8) at src/wayland-client.c:1822<br>#16 0x00007f023eac2fc0 in wl_display_dispatch_pending (display=<optimized out>) at src/wayland-client.c:1885<br>#17 0x000000000042a83b in xwl_read_events (xwl_screen=0x977c20) at xwayland.c:800<br>#18 0x000000000058b591 in ospoll_wait (ospoll=0x96d0d0, timeout=<optimized out>) at ospoll.c:651<br>#19 0x0000000000584e2c in WaitForSomething (are_ready=<optimized out>) at WaitFor.c:208<br>#20 0x0000000000554970 in Dispatch () at ../include/list.h:220<br>#21 0x0000000000558c26 in dix_main (argc=12, argv=0x7ffce44bebc8, envp=<optimized out>) at main.c:276<br>---Type <return> to continue, or q <return> to quit---<br>#22 0x00007f023c6141bb in __libc_start_main (main=0x429f30 <main>, argc=12, argv=0x7ffce44bebc8, init=<optimized out>, <br>    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffce44bebb8) at ../csu/libc-start.c:308<br>#23 0x0000000000429f6a in _start ()<br><br>(gdb) f 9<br>#9  xwl_present_frame_callback (data=0x184cb10, callback=<optimized out>, time=<optimized out>) at xwayland-present.c:192<br>192        wl_callback_destroy(xwl_window->present_frame_callback);<br>(gdb) list<br>187                   struct wl_callback *callback,<br>188                   uint32_t time)<br>189    {<br>190        struct xwl_window *xwl_window = data;<br>191    <br>192        wl_callback_destroy(xwl_window->present_frame_callback);<br>193        xwl_window->present_frame_callback = NULL;<br>194    <br>195        if (xwl_window->present_timer_firing) {<br>196            /* If the timer is firing, this frame callback is too late */<br><br></div><div>Looks like we're not done yet :/<br><br></div><div>I'll try that other patch I sent and see if that makes a difference here, could be related according to the backtrace I guess...<br></div><div><br></div><div>Cheers,<br></div><div>Olivier<br></div></div></div></div>