jjsullivan5196 / wvkbd

On-screen keyboard for wlroots
GNU General Public License v3.0
271 stars 54 forks source link

Crashes on sway-git #50

Closed jbeich closed 11 months ago

jbeich commented 11 months ago

Regressed by a12694540159 after https://github.com/swaywm/sway/commit/7d2e4a51063a.

$ wvkbd-mobintl
Initializing keyboard
Found 54 layouts
Found 2 layers
Resize 0x0 0.000000, 55 layouts
Segmentation fault

Process 57624 stopped
* thread #1, name = 'wvkbd-mobintl', stop reason = signal SIGSEGV: invalid address (fault address: 0x4)
    frame #0: 0x00000008229b9010 libcairo.so.2`INT_cairo_save(cr=0x0000000000000000) at cairo.c:627:9
   624  {
   625      cairo_status_t status;
   626
-> 627      if (unlikely (cr->status))
   628          return;
   629
   630      status = cr->backend->save (cr);
(lldb) bt
* thread #1, name = 'wvkbd-mobintl', stop reason = signal SIGSEGV: invalid address (fault address: 0x4)
  * frame #0: 0x00000008229b9010 libcairo.so.2`INT_cairo_save(cr=0x0000000000000000) at cairo.c:627:9
    frame #1: 0x00000000002702a2 wvkbd-mobintl`drw_do_rectangle(d=0x00000000002a2b18, color=(bgra = "\U0000000f\U0000000f\U0000000f\xff", color = 4279176975), x=0, y=0, w=0, h=0, over=false) at drw.c:75:5
    frame #2: 0x00000000002703c0 wvkbd-mobintl`drw_fill_rectangle(d=0x00000000002a2b18, color=(bgra = "\U0000000f\U0000000f\U0000000f\xff", color = 4279176975), x=0, y=0, w=0, h=0) at drw.c:96:5
    frame #3: 0x0000000000270938 wvkbd-mobintl`kbd_draw_layout(kb=0x00000000002a2ba8) at keyboard.c:608:5
    frame #4: 0x0000000000272829 wvkbd-mobintl`kbd_resize(kb=0x00000000002a2ba8, layouts=0x000000000028dcd0, layoutcount='7') at keyboard.c:645:5
    frame #5: 0x0000000000274bff wvkbd-mobintl`wl_surface_enter(data=0x0000000000000000, wl_surface=0x000020eaa8a11d60, wl_output=0x000020eaa8a11b80) at main.c:359:5
    frame #6: 0x00000008245cb61a libffi.so.8`ffi_call_unix64 at unix64.S:104
    frame #7: 0x00000008245ca8b2 libffi.so.8`ffi_call_int(cif=0x000000082033ac60, fn=(wvkbd-mobintl`wl_surface_enter at main.c:344), rvalue=0x0000000000000000, avalue=0x000000082033ac90, closure=0x0000000000000000) at ffi64.c:673:3
    frame #8: 0x00000008245ca422 libffi.so.8`ffi_call(cif=0x000000082033ac60, fn=(wvkbd-mobintl`wl_surface_enter at main.c:344), rvalue=0x0000000000000000, avalue=0x000000082033ac90) at ffi64.c:710:3
    frame #9: 0x00000008217fac08 libwayland-client.so.0`wl_closure_invoke(closure=0x000020eaa8a67260, flags=1, target=0x000020eaa8a11d60, opcode=0, data=0x0000000000000000) at connection.c:1025:2
    frame #10: 0x00000008217f84af libwayland-client.so.0`dispatch_event(display=0x000020eaa8a5b000, queue=0x000020eaa8a5b0f0) at wayland-client.c:1631:3
    frame #11: 0x00000008217f72d4 libwayland-client.so.0`dispatch_queue(display=0x000020eaa8a5b000, queue=0x000020eaa8a5b0f0) at wayland-client.c:1777:3
    frame #12: 0x00000008217f709d libwayland-client.so.0`wl_display_dispatch_queue_pending(display=0x000020eaa8a5b000, queue=0x000020eaa8a5b0f0) at wayland-client.c:2019:8
    frame #13: 0x00000008217f6c6e libwayland-client.so.0`wl_display_dispatch_queue(display=0x000020eaa8a5b000, queue=0x000020eaa8a5b0f0) at wayland-client.c:1995:9
    frame #14: 0x00000008217f7350 libwayland-client.so.0`wl_display_dispatch(display=0x000020eaa8a5b000) at wayland-client.c:2062:9
    frame #15: 0x000000000027481b wvkbd-mobintl`main(argc=1, argv=0x000000082033b080) at main.c:1021:13
    frame #16: 0x000000000026fad0 wvkbd-mobintl`_start(ap=<unavailable>, cleanup=<unavailable>) at crt1_c.c:75:7
proycon commented 11 months ago

Thanks for the report incl bisec.

@mojyack It seems we're not entirely out of the woods yet after #48 ...