wezterm icon indicating copy to clipboard operation
wezterm copied to clipboard

UI scaling + missing font = `Protocol error 2 on object wl_surface@23` crash

Open 9999years opened this issue 2 months ago • 1 comments

What Operating System(s) are you seeing this problem on?

Linux Wayland

Which Wayland compositor or X11 Window manager(s) are you using?

Gnome/GDM

WezTerm version

"nightly" built from source at b6e75fd7c8f9c9ad5af4efbba1d28df0969f6b17 (2025-10-24)

Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?

Yes, and I updated the version box above to show the version of the nightly that I tried

Describe the bug

With UI scaling set to 200% in Gnome's "Display" settings, when wezterm.font or wezterm.font_with_fallback encounters a non-existent font, it crashes, even if there's a valid font later in the fallback list.

With UI scaling set to 100%, wezterm launches successfully.

To Reproduce

With the given config, wezterm crashes instead of starting:

$ wezterm
16:55:11.808  ERROR  mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
16:55:11.834  ERROR  mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
16:55:11.910  ERROR  mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
16:55:12.055  ERROR  mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
wl_surface#23: error 2: Buffer size (820x557) must be an integer multiple of the buffer_scale (2).
Protocol error 2 on object wl_surface@23:
16:55:12.144  ERROR  wezterm_gui > running message loop: Protocol error 2 on object wl_surface@23: ; terminating                        

With WAYLAND_DEBUG=1, wezterm crashes with a different error message:

16:55:55.313  ERROR  wezterm_gui > running message loop: Io error: Broken pipe (os error 32); terminating
Full logs with WAYLAND_DEBUG=1 (416 lines)
[3249277.238]  -> wl_display#1.get_registry(new id wl_registry#2)
[3249277.300]  -> wl_display#1.sync(new id wl_callback#3)
[3249277.408] {Display Queue} wl_display#1.delete_id(3)
[3249277.420] wl_registry#2.global(1, "wl_compositor", 6)
[3249277.436] wl_registry#2.global(2, "wl_shm", 2)
[3249277.440] wl_registry#2.global(3, "wl_output", 4)
[3249277.443] wl_registry#2.global(4, "zxdg_output_manager_v1", 3)
[3249277.447] wl_registry#2.global(5, "wl_data_device_manager", 3)
[3249277.450] wl_registry#2.global(6, "xdg_toplevel_drag_manager_v1", 1)
[3249277.453] wl_registry#2.global(7, "zwp_primary_selection_device_manager_v1", 1)
[3249277.457] wl_registry#2.global(8, "wl_subcompositor", 1)
[3249277.460] wl_registry#2.global(9, "xdg_wm_base", 6)
[3249277.463] wl_registry#2.global(10, "gtk_shell1", 6)
[3249277.466] wl_registry#2.global(11, "wp_viewporter", 1)
[3249277.469] wl_registry#2.global(12, "wp_fractional_scale_manager_v1", 1)
[3249277.472] wl_registry#2.global(13, "zwp_pointer_gestures_v1", 3)
[3249277.476] wl_registry#2.global(14, "zwp_tablet_manager_v2", 1)
[3249277.479] wl_registry#2.global(15, "wl_seat", 8)
[3249277.482] wl_registry#2.global(16, "zwp_relative_pointer_manager_v1", 1)
[3249277.485] wl_registry#2.global(17, "zwp_pointer_constraints_v1", 1)
[3249277.490] wl_registry#2.global(18, "zxdg_exporter_v2", 1)
[3249277.494] wl_registry#2.global(19, "zxdg_importer_v2", 1)
[3249277.497] wl_registry#2.global(20, "zxdg_exporter_v1", 1)
[3249277.500] wl_registry#2.global(21, "zxdg_importer_v1", 1)
[3249277.503] wl_registry#2.global(22, "zwp_linux_dmabuf_v1", 5)
[3249277.506] wl_registry#2.global(23, "wp_single_pixel_buffer_manager_v1", 1)
[3249277.510] wl_registry#2.global(24, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[3249277.513] wl_registry#2.global(25, "zwp_text_input_manager_v3", 1)
[3249277.515] wl_registry#2.global(26, "wp_presentation", 2)
[3249277.519] wl_registry#2.global(27, "xdg_activation_v1", 1)
[3249277.522] wl_registry#2.global(28, "zwp_idle_inhibit_manager_v1", 1)
[3249277.525] wl_registry#2.global(29, "wp_linux_drm_syncobj_manager_v1", 1)
[3249277.528] wl_registry#2.global(30, "xdg_wm_dialog_v1", 1)
[3249277.532] wl_registry#2.global(31, "wp_color_manager_v1", 1)
[3249277.535] wl_registry#2.global(32, "xdg_system_bell_v1", 1)
[3249277.538] wl_registry#2.global(33, "wp_drm_lease_device_v1", 1)
[3249277.542] wl_registry#2.global(34, "wp_drm_lease_device_v1", 1)
[3249277.544] wl_registry#2.global(35, "wp_commit_timing_manager_v1", 1)
[3249277.547] wl_registry#2.global(36, "wp_fifo_manager_v1", 1)
[3249277.550] wl_registry#2.global(37, "wp_cursor_shape_manager_v1", 2)
[3249277.553] wl_callback#3.done(17160)
[3249277.565]  -> wl_registry#2.bind(2, "wl_shm", 1, new id [unknown]#3)
[3249277.597]  -> wl_shm#3.create_pool(new id wl_shm_pool#4, fd 11, 1)
[3249277.618]  -> wl_registry#2.bind(1, "wl_compositor", 6, new id [unknown]#5)
[3249277.626]  -> wl_registry#2.bind(8, "wl_subcompositor", 1, new id [unknown]#6)
[3249277.638]  -> wl_registry#2.bind(3, "wl_output", 4, new id [unknown]#7)
[3249277.644]  -> wl_registry#2.bind(4, "zxdg_output_manager_v1", 3, new id [unknown]#8)
[3249277.651]  -> zxdg_output_manager_v1#8.get_xdg_output(new id zxdg_output_v1#9, wl_output#7)
[3249277.657]  -> wl_registry#2.bind(25, "zwp_text_input_manager_v3", 1, new id [unknown]#10)
[3249277.667]  -> wl_registry#2.bind(15, "wl_seat", 7, new id [unknown]#11)
[3249277.673]  -> wl_registry#2.bind(9, "xdg_wm_base", 6, new id [unknown]#12)
[3249277.679]  -> wl_registry#2.bind(5, "wl_data_device_manager", 3, new id [unknown]#13)
[3249277.684]  -> wl_registry#2.bind(7, "zwp_primary_selection_device_manager_v1", 1, new id [unknown]#14)
16:55:54.898  ERROR  mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
[3249298.864] wl_shm#3.format(0)
[3249298.897] wl_shm#3.format(1)
[3249298.910] wl_shm#3.format(875708993)
[3249298.913] wl_shm#3.format(875709016)
[3249298.915] wl_shm#3.format(909199186)
[3249298.918] wl_shm#3.format(808669761)
[3249298.920] wl_shm#3.format(808669784)
[3249298.922] wl_shm#3.format(808665665)
[3249298.925] wl_shm#3.format(808665688)
[3249298.928] wl_shm#3.format(1211388481)
[3249298.930] wl_shm#3.format(1211388504)
[3249298.933] wl_shm#3.format(1211384385)
[3249298.935] wl_shm#3.format(1211384408)
[3249298.938] wl_shm#3.format(1448695129)
[3249298.940] wl_shm#3.format(842094158)
[3249298.942] wl_shm#3.format(808530000)
[3249298.945] wl_shm#3.format(842093913)
[3249298.952] wl_output#7.geometry(0, 0, 380, 210, 0, "BOE", "0x08de", 0)
[3249298.958] wl_output#7.mode(3, 3840, 2160, 60002)
[3249298.963] wl_output#7.scale(2)
[3249298.966] wl_output#7.name("eDP-1")
[3249298.969] wl_output#7.description("Built-in display")
[3249298.972] wl_output#7.done()
[3249298.975] zxdg_output_v1#9.logical_position(0, 0)
[3249298.979] zxdg_output_v1#9.logical_size(3840, 2160)
[3249298.981] zxdg_output_v1#9.name("eDP-1")
[3249298.984] zxdg_output_v1#9.description("Built-in display")
[3249298.987] wl_output#7.done()
[3249298.989] wl_seat#11.name("seat0")
[3249298.994] wl_seat#11.capabilities(3)
[3249299.182]  -> wl_seat#11.get_keyboard(new id wl_keyboard#15)
[3249299.199]  -> zwp_text_input_manager_v3#10.get_text_input(new id zwp_text_input_v3#16, wl_seat#11)
[3249299.209]  -> wl_data_device_manager#13.get_data_device(new id wl_data_device#17, wl_seat#11)
[3249299.216]  -> zwp_primary_selection_device_manager_v1#14.get_device(new id zwp_primary_selection_device_v1#18, wl_seat#11)
[3249299.222]  -> wl_compositor#5.create_surface(new id wl_surface#19)
[3249299.227]  -> wl_seat#11.get_pointer(new id wl_pointer#20)
[3249299.234]  -> wl_registry#2.bind(37, "wp_cursor_shape_manager_v1", 1, new id [unknown]#21)
[3249299.241]  -> wp_cursor_shape_manager_v1#21.get_pointer(new id wp_cursor_shape_device_v1#22, wl_pointer#20)
16:55:54.906  ERROR  mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
[3249357.530]  -> wl_compositor#5.create_surface(new id wl_surface#23)
[3249357.588]  -> xdg_wm_base#12.get_xdg_surface(new id xdg_surface#24, wl_surface#23)
[3249357.598]  -> xdg_surface#24.get_toplevel(new id xdg_toplevel#25)
[3249357.605]  -> xdg_toplevel#25.set_app_id("org.wezfurlong.wezterm")
[3249357.609]  -> xdg_toplevel#25.set_title("wezterm")
[3249357.632]  -> wl_shm#3.create_pool(new id wl_shm_pool#26, fd 26, 1)
[3249357.650]  -> wl_compositor#5.create_surface(new id wl_surface#27)
[3249357.657]  -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#28, wl_surface#27, wl_surface#23)
[3249357.664]  -> wl_subsurface#28.set_sync()
[3249357.668]  -> wl_compositor#5.create_surface(new id wl_surface#29)
[3249357.672]  -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#30, wl_surface#29, wl_surface#23)
[3249357.676]  -> wl_subsurface#30.set_sync()
[3249357.680]  -> wl_compositor#5.create_surface(new id wl_surface#31)
[3249357.684]  -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#32, wl_surface#31, wl_surface#23)
[3249357.687]  -> wl_subsurface#32.set_sync()
[3249357.690]  -> wl_compositor#5.create_surface(new id wl_surface#33)
[3249357.694]  -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#34, wl_surface#33, wl_surface#23)
[3249357.697]  -> wl_subsurface#34.set_sync()
[3249357.700]  -> wl_compositor#5.create_surface(new id wl_surface#35)
[3249357.704]  -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#36, wl_surface#35, wl_surface#23)
[3249357.708]  -> wl_subsurface#36.set_sync()
[3249357.711]  -> wl_subsurface#28.destroy()
[3249357.717]  -> wl_surface#27.destroy()
[3249357.721]  -> wl_subsurface#30.destroy()
[3249357.724]  -> wl_surface#29.destroy()
[3249357.727]  -> wl_subsurface#32.destroy()
[3249357.729]  -> wl_surface#31.destroy()
[3249359.841]  -> wl_subsurface#34.destroy()
[3249359.864]  -> wl_surface#33.destroy()
[3249359.867]  -> wl_subsurface#36.destroy()
[3249359.871]  -> wl_surface#35.destroy()
[3249359.878]  -> xdg_toplevel#25.set_min_size(32, 32)
[3249359.884]  -> xdg_surface#24.set_window_geometry(0, 0, 820, 557)
[3249359.889]  -> wl_surface#23.commit()
[3249362.715] wl_keyboard#15.keymap(1, fd 26, 68845)
[3249362.760] wl_keyboard#15.repeat_info(33, 500)
[3249399.055] discarded [unknown]#27.[event 2](0 fd, 12 byte)
[3249399.094] discarded [unknown]#29.[event 2](0 fd, 12 byte)
[3249399.097] discarded [unknown]#31.[event 2](0 fd, 12 byte)
[3249399.099] discarded [unknown]#33.[event 2](0 fd, 12 byte)
[3249399.101] discarded [unknown]#35.[event 2](0 fd, 12 byte)
[3249399.133] {Display Queue} wl_display#1.delete_id(28)
[3249399.143] {Display Queue} wl_display#1.delete_id(27)
[3249399.146] {Display Queue} wl_display#1.delete_id(30)
[3249399.149] {Display Queue} wl_display#1.delete_id(29)
[3249399.152] {Display Queue} wl_display#1.delete_id(32)
[3249399.154] {Display Queue} wl_display#1.delete_id(31)
[3249399.157] {Display Queue} wl_display#1.delete_id(34)
[3249399.159] {Display Queue} wl_display#1.delete_id(33)
[3249399.161] {Display Queue} wl_display#1.delete_id(36)
[3249399.164] {Display Queue} wl_display#1.delete_id(35)
[3249399.166] wl_surface#23.preferred_buffer_scale(2)
[3249399.172] xdg_toplevel#25.configure_bounds(1920, 1048)
[3249399.176] xdg_toplevel#25.wm_capabilities(array[16])
[3249399.179] xdg_toplevel#25.configure(0, 0, array[0])
[3249399.183] xdg_surface#24.configure(623)
[3249399.388]  -> xdg_surface#24.ack_configure(623)
16:55:55.009  ERROR  mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
[3249462.735]  -> wl_compositor#5.create_surface(new id wl_surface#35)
[3249462.793]  -> xdg_wm_base#12.get_xdg_surface(new id xdg_surface#36, wl_surface#35)
[3249462.802]  -> xdg_surface#36.get_toplevel(new id xdg_toplevel#33)
[3249462.810]  -> xdg_toplevel#33.set_app_id("org.wezfurlong.wezterm")
[3249462.815]  -> xdg_toplevel#33.set_title("wezterm")
[3249462.840]  -> wl_shm#3.create_pool(new id wl_shm_pool#34, fd 30, 1)
[3249462.864]  -> wl_compositor#5.create_surface(new id wl_surface#31)
[3249462.872]  -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#32, wl_surface#31, wl_surface#35)
[3249462.879]  -> wl_subsurface#32.set_sync()
[3249462.883]  -> wl_compositor#5.create_surface(new id wl_surface#29)
[3249462.887]  -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#30, wl_surface#29, wl_surface#35)
[3249462.891]  -> wl_subsurface#30.set_sync()
[3249462.895]  -> wl_compositor#5.create_surface(new id wl_surface#27)
[3249462.898]  -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#28, wl_surface#27, wl_surface#35)
[3249462.902]  -> wl_subsurface#28.set_sync()
[3249462.906]  -> wl_compositor#5.create_surface(new id wl_surface#37)
[3249462.910]  -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#38, wl_surface#37, wl_surface#35)
[3249462.914]  -> wl_subsurface#38.set_sync()
[3249462.918]  -> wl_compositor#5.create_surface(new id wl_surface#39)
[3249462.921]  -> wl_subcompositor#6.get_subsurface(new id wl_subsurface#40, wl_surface#39, wl_surface#35)
[3249462.925]  -> wl_subsurface#40.set_sync()
[3249462.929]  -> wl_subsurface#32.destroy()
[3249462.935]  -> wl_surface#31.destroy()
[3249462.940]  -> wl_subsurface#30.destroy()
[3249462.942]  -> wl_surface#29.destroy()
[3249462.945]  -> wl_subsurface#28.destroy()
[3249462.948]  -> wl_surface#27.destroy()
[3249462.951]  -> wl_subsurface#38.destroy()
[3249462.954]  -> wl_surface#37.destroy()
[3249462.957]  -> wl_subsurface#40.destroy()
[3249462.959]  -> wl_surface#39.destroy()
[3249462.964]  -> xdg_toplevel#33.set_min_size(32, 32)
[3249462.968]  -> xdg_surface#36.set_window_geometry(0, 0, 820, 557)
[3249462.980]  -> wl_surface#35.commit()
[3249493.986] {mesa egl display queue}  -> wl_display#1.get_registry(new id wl_registry#41)
[3249494.028] {mesa egl display queue}  -> wl_display#1.sync(new id wl_callback#42)
[3249494.066] discarded [unknown]#31.[event 2](0 fd, 12 byte)
[3249494.071] discarded [unknown]#29.[event 2](0 fd, 12 byte)
[3249494.072] discarded [unknown]#27.[event 2](0 fd, 12 byte)
[3249494.074] discarded [unknown]#37.[event 2](0 fd, 12 byte)
[3249494.076] discarded [unknown]#39.[event 2](0 fd, 12 byte)
[3249494.086] {Display Queue} wl_display#1.delete_id(32)
[3249494.093] {Display Queue} wl_display#1.delete_id(31)
[3249494.096] {Display Queue} wl_display#1.delete_id(30)
[3249494.099] {Display Queue} wl_display#1.delete_id(29)
[3249494.102] {Display Queue} wl_display#1.delete_id(28)
[3249494.104] {Display Queue} wl_display#1.delete_id(27)
[3249494.107] {Display Queue} wl_display#1.delete_id(38)
[3249494.110] {Display Queue} wl_display#1.delete_id(37)
[3249494.112] {Display Queue} wl_display#1.delete_id(40)
[3249494.114] {Display Queue} wl_display#1.delete_id(39)
[3249494.246] {Display Queue} wl_display#1.delete_id(42)
[3249494.255] {mesa egl display queue} wl_registry#41.global(1, "wl_compositor", 6)
[3249494.260] {mesa egl display queue} wl_registry#41.global(2, "wl_shm", 2)
[3249494.263] {mesa egl display queue} wl_registry#41.global(3, "wl_output", 4)
[3249494.266] {mesa egl display queue} wl_registry#41.global(4, "zxdg_output_manager_v1", 3)
[3249494.269] {mesa egl display queue} wl_registry#41.global(5, "wl_data_device_manager", 3)
[3249494.272] {mesa egl display queue} wl_registry#41.global(6, "xdg_toplevel_drag_manager_v1", 1)
[3249494.275] {mesa egl display queue} wl_registry#41.global(7, "zwp_primary_selection_device_manager_v1", 1)
[3249494.277] {mesa egl display queue} wl_registry#41.global(8, "wl_subcompositor", 1)
[3249494.280] {mesa egl display queue} wl_registry#41.global(9, "xdg_wm_base", 6)
[3249494.283] {mesa egl display queue} wl_registry#41.global(10, "gtk_shell1", 6)
[3249494.286] {mesa egl display queue} wl_registry#41.global(11, "wp_viewporter", 1)
[3249494.289] {mesa egl display queue} wl_registry#41.global(12, "wp_fractional_scale_manager_v1", 1)
[3249494.292] {mesa egl display queue} wl_registry#41.global(13, "zwp_pointer_gestures_v1", 3)
[3249494.295] {mesa egl display queue} wl_registry#41.global(14, "zwp_tablet_manager_v2", 1)
[3249494.298] {mesa egl display queue} wl_registry#41.global(15, "wl_seat", 8)
[3249494.301] {mesa egl display queue} wl_registry#41.global(16, "zwp_relative_pointer_manager_v1", 1)
[3249494.304] {mesa egl display queue} wl_registry#41.global(17, "zwp_pointer_constraints_v1", 1)
[3249494.307] {mesa egl display queue} wl_registry#41.global(18, "zxdg_exporter_v2", 1)
[3249494.310] {mesa egl display queue} wl_registry#41.global(19, "zxdg_importer_v2", 1)
[3249494.313] {mesa egl display queue} wl_registry#41.global(20, "zxdg_exporter_v1", 1)
[3249494.316] {mesa egl display queue} wl_registry#41.global(21, "zxdg_importer_v1", 1)
[3249494.319] {mesa egl display queue} wl_registry#41.global(22, "zwp_linux_dmabuf_v1", 5)
[3249494.323] {mesa egl display queue}  -> wl_registry#41.bind(22, "zwp_linux_dmabuf_v1", 4, new id [unknown]#39)
[3249494.327] {mesa egl display queue} wl_registry#41.global(23, "wp_single_pixel_buffer_manager_v1", 1)
[3249494.330] {mesa egl display queue} wl_registry#41.global(24, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[3249494.333] {mesa egl display queue} wl_registry#41.global(25, "zwp_text_input_manager_v3", 1)
[3249494.336] {mesa egl display queue} wl_registry#41.global(26, "wp_presentation", 2)
[3249494.340] {mesa egl display queue}  -> wl_registry#41.bind(26, "wp_presentation", 1, new id [unknown]#40)
[3249494.344] {mesa egl display queue} wl_registry#41.global(27, "xdg_activation_v1", 1)
[3249494.347] {mesa egl display queue} wl_registry#41.global(28, "zwp_idle_inhibit_manager_v1", 1)
[3249494.350] {mesa egl display queue} wl_registry#41.global(29, "wp_linux_drm_syncobj_manager_v1", 1)
[3249494.353] {mesa egl display queue} wl_registry#41.global(30, "xdg_wm_dialog_v1", 1)
[3249494.365] {mesa egl display queue} wl_registry#41.global(31, "wp_color_manager_v1", 1)
[3249494.368] {mesa egl display queue} wl_registry#41.global(32, "xdg_system_bell_v1", 1)
[3249494.371] {mesa egl display queue} wl_registry#41.global(33, "wp_drm_lease_device_v1", 1)
[3249494.374] {mesa egl display queue} wl_registry#41.global(34, "wp_drm_lease_device_v1", 1)
[3249494.377] {mesa egl display queue} wl_registry#41.global(35, "wp_commit_timing_manager_v1", 1)
[3249494.380] {mesa egl display queue} wl_registry#41.global(36, "wp_fifo_manager_v1", 1)
[3249494.384] {mesa egl display queue} wl_registry#41.global(37, "wp_cursor_shape_manager_v1", 2)
[3249494.387] {mesa egl display queue} wl_callback#42.done(17161)
[3249494.391] {mesa egl display queue}  -> zwp_linux_dmabuf_v1#39.get_default_feedback(new id zwp_linux_dmabuf_feedback_v1#42)
[3249494.396] {mesa egl display queue}  -> wl_display#1.sync(new id wl_callback#37)
[3249494.490] {Display Queue} wl_display#1.delete_id(37)
[3249494.498] {mesa egl display queue} wp_presentation#40.clock_id(1)
[3249494.500] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.format_table(fd 30, 1360)
[3249494.516] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.main_device(array[8])
[3249494.945] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.tranche_target_device(array[8])
[3249494.959] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.tranche_flags(0)
[3249494.962] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.tranche_formats(array[170])
[3249494.971] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.tranche_done()
[3249494.974] {mesa egl display queue} zwp_linux_dmabuf_feedback_v1#42.done()
[3249494.977] {mesa egl display queue} wl_callback#37.done(17161)
[3249494.981] {mesa egl display queue}  -> zwp_linux_dmabuf_feedback_v1#42.destroy()
[3249504.152] {mesa egl surface queue}  -> zwp_linux_dmabuf_v1#39.get_surface_feedback(new id zwp_linux_dmabuf_feedback_v1#37, wl_surface#23)
[3249504.210] {mesa egl display queue}  -> wl_display#1.sync(new id wl_callback#38)
[3249506.803] {Display Queue} wl_display#1.delete_id(42)
[3249506.833] {Display Queue} wl_display#1.delete_id(38)
[3249506.837] {mesa egl display queue} wl_callback#38.done(17161)
[3249509.641] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.format_table(fd 34, 1360)
[3249509.686] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.main_device(array[8])
[3249509.692] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.tranche_target_device(array[8])
[3249509.695] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.tranche_flags(0)
[3249509.699] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.tranche_formats(array[170])
[3249509.705] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.tranche_done()
[3249509.710] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#37.done()
[3249514.389] wl_surface#35.preferred_buffer_scale(2)
[3249514.427] xdg_toplevel#33.configure_bounds(1920, 1048)
[3249514.433] xdg_toplevel#33.wm_capabilities(array[16])
[3249514.437] xdg_toplevel#33.configure(0, 0, array[0])
[3249514.440] xdg_surface#36.configure(624)
[3249514.461]  -> xdg_surface#36.ack_configure(624)
[3249527.788]  -> wl_surface#23.frame(new id wl_callback#38)
[3249532.207] {mesa egl surface queue}  -> wl_surface#23.frame(new id wl_callback#42)
[3249532.251] {mesa egl display queue}  -> zwp_linux_dmabuf_v1#39.create_params(new id zwp_linux_buffer_params_v1#27)
[3249532.278] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#27.add(fd 35, 0, 0, 3584, 16777216, 8)
[3249532.287] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#27.add(fd 36, 1, 2064384, 448, 16777216, 8)
[3249532.293] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#27.add(fd 37, 2, 2072576, 64, 16777216, 8)
[3249532.298] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#27.create_immed(new id wl_buffer#28, 820, 557, 875713089, 0)
[3249532.305] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#27.destroy()
[3249532.319] {mesa egl surface queue}  -> wl_surface#23.attach(wl_buffer#28, 0, 0)
[3249532.324] {mesa egl surface queue}  -> wl_surface#23.damage_buffer(0, 0, 2147483647, 2147483647)
[3249532.329] {mesa egl surface queue}  -> wl_surface#23.commit()
[3249534.400] {mesa egl surface queue}  -> zwp_linux_dmabuf_v1#39.get_surface_feedback(new id zwp_linux_dmabuf_feedback_v1#29, wl_surface#35)
[3249534.431] {mesa egl display queue}  -> wl_display#1.sync(new id wl_callback#30)
[3249534.768] {Display Queue} wl_display#1.delete_id(27)
[3249534.785] {Display Queue} wl_display#1.delete_id(30)
[3249534.789] {mesa egl display queue} wl_callback#30.done(17161)
[3249538.883] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.format_table(fd 35, 1360)
[3249538.922] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.main_device(array[8])
[3249538.929] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.tranche_target_device(array[8])
[3249538.932] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.tranche_flags(0)
[3249538.935] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.tranche_formats(array[170])
[3249538.941] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.tranche_done()
[3249538.945] {mesa egl surface queue} zwp_linux_dmabuf_feedback_v1#29.done()
[3249553.184] {Display Queue} wl_display#1.delete_id(38)
[3249553.243] {Display Queue} wl_display#1.delete_id(42)
[3249553.249] wl_keyboard#15.enter(17163, wl_surface#23, array[0])
[3249553.259] wl_keyboard#15.modifiers(17163, 0, 0, 0, 0)
[3249553.266] wl_data_device#17.data_offer(new id wl_data_offer#4278190080)
[3249553.275] wl_data_offer#4278190080.offer("UTF8_STRING")
[3249553.281] wl_data_offer#4278190080.offer("STRING")
[3249553.284] wl_data_offer#4278190080.offer("TEXT")
[3249553.286] wl_data_offer#4278190080.offer("text/plain;charset=utf-8")
[3249553.289] wl_data_offer#4278190080.offer("text/plain")
[3249553.292] wl_data_offer#4278190080.offer("text/plain")
[3249553.295] wl_data_device#17.selection(wl_data_offer#4278190080)
[3249553.299] zwp_primary_selection_device_v1#18.data_offer(new id zwp_primary_selection_offer_v1#4278190081)
[3249553.306] zwp_primary_selection_offer_v1#4278190081.offer("text/plain")
[3249553.309] zwp_primary_selection_offer_v1#4278190081.offer("text/plain;charset=utf-8")
[3249553.313] zwp_primary_selection_offer_v1#4278190081.offer("STRING")
[3249553.316] zwp_primary_selection_offer_v1#4278190081.offer("text/plain")
[3249553.320] zwp_primary_selection_offer_v1#4278190081.offer("TEXT")
[3249553.322] zwp_primary_selection_offer_v1#4278190081.offer("COMPOUND_TEXT")
[3249553.325] zwp_primary_selection_offer_v1#4278190081.offer("UTF8_STRING")
[3249553.329] zwp_primary_selection_offer_v1#4278190081.offer("text/plain;charset=utf-8")
[3249553.331] zwp_primary_selection_device_v1#18.selection(zwp_primary_selection_offer_v1#4278190081)
[3249553.334] zwp_text_input_v3#16.enter(wl_surface#23)
[3249553.340] xdg_toplevel#25.configure_bounds(1920, 1048)
[3249553.345] xdg_toplevel#25.configure(820, 557, array[4])
[3249553.351] xdg_surface#24.configure(626)
[3249553.355] wl_surface#23.enter(wl_output#7)
[3249553.361] wl_callback#38.done(3153952)
[3249553.395]  -> wl_surface#35.frame(new id wl_callback#38)
[3249567.472] {mesa egl surface queue}  -> wl_surface#35.frame(new id wl_callback#30)
[3249567.561] {mesa egl display queue}  -> zwp_linux_dmabuf_v1#39.create_params(new id zwp_linux_buffer_params_v1#27)
[3249567.599] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#27.add(fd 36, 0, 0, 3584, 16777216, 8)
[3249567.608] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#27.add(fd 37, 1, 2064384, 448, 16777216, 8)
[3249567.613] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#27.add(fd 38, 2, 2072576, 64, 16777216, 8)
[3249567.617] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#27.create_immed(new id wl_buffer#31, 820, 557, 875713089, 0)
[3249567.622] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#27.destroy()
[3249567.629] {mesa egl surface queue}  -> wl_surface#35.attach(wl_buffer#31, 0, 0)
[3249567.649] {mesa egl surface queue}  -> wl_surface#35.damage_buffer(0, 0, 2147483647, 2147483647)
[3249567.654] {mesa egl surface queue}  -> wl_surface#35.commit()
[3249567.727]  -> zwp_text_input_v3#16.enable()
[3249567.733]  -> zwp_text_input_v3#16.commit()
[3249568.320]  -> xdg_surface#24.ack_configure(626)
[3249568.488]  -> xdg_toplevel#25.set_title("fish")
[3249568.513]  -> xdg_surface#24.set_window_geometry(0, 0, 820, 557)
16:55:55.174  ERROR  mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
[3249624.543] {mesa egl surface queue} wl_callback#42.done(3153952)
[3249628.668]  -> wl_shm_pool#4.resize(64)
[3249628.728]  -> wl_shm_pool#4.create_buffer(new id wl_buffer#42, 0, 2, 2, 8, 0)
[3249628.745]  -> wl_surface#23.attach(wl_buffer#42, 0, 0)
[3249628.751]  -> wl_surface#23.set_buffer_scale(2)
[3249628.755]  -> wl_surface#23.commit()
[3249628.760]  -> wl_buffer#42.destroy()
[3249628.806] {Display Queue} wl_display#1.delete_id(27)
[3249628.817] {Display Queue} wl_display#1.delete_id(38)
[3249628.820] {Display Queue} wl_display#1.delete_id(30)
[3249628.822] zwp_text_input_v3#16.done(1)
[3249628.826] wl_keyboard#15.leave(17164, wl_surface#23)
[3249628.831] wl_keyboard#15.enter(17165, wl_surface#35, array[0])
[3249628.835] wl_keyboard#15.modifiers(17165, 0, 0, 0, 0)
[3249628.838] zwp_text_input_v3#16.leave(wl_surface#23)
[3249628.841] zwp_text_input_v3#16.enter(wl_surface#35)
[3249628.843] xdg_toplevel#25.configure_bounds(1920, 1048)
[3249628.847] xdg_toplevel#25.configure(820, 557, array[0])
[3249628.850] xdg_surface#24.configure(627)
[3249628.854] xdg_toplevel#33.configure_bounds(1920, 1048)
[3249628.857] xdg_toplevel#33.configure(820, 557, array[4])
[3249628.860] xdg_surface#36.configure(628)
[3249628.862] wl_surface#35.enter(wl_output#7)
[3249628.866] wl_pointer#20.enter(17167, wl_surface#23, 602.34375000, 313.14843750)
[3249628.869] wl_pointer#20.frame()
[3249628.872] wl_callback#38.done(3153982)
[3249628.886]  -> wl_surface#23.frame(new id wl_callback#38)
[3249629.018]  -> zwp_text_input_v3#16.disable()
[3249629.022]  -> zwp_text_input_v3#16.commit()
[3249629.126]  -> zwp_text_input_v3#16.enable()
[3249629.130]  -> zwp_text_input_v3#16.commit()
[3249629.248]  -> xdg_surface#24.ack_configure(627)
[3249629.255]  -> xdg_surface#36.ack_configure(628)
[3249629.318] discarded [unknown]#42.[event 0](0 fd, 8 byte)
[3249629.323] {Display Queue} wl_display#1.delete_id(42)
[3249629.349]  -> xdg_surface#24.set_window_geometry(0, 0, 779, 545)
[3249630.959] {mesa egl display queue}  -> zwp_linux_dmabuf_v1#39.create_params(new id zwp_linux_buffer_params_v1#42)
[3249631.011] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#42.add(fd 35, 0, 0, 3584, 16777216, 8)
[3249631.021] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#42.add(fd 36, 1, 2064384, 448, 16777216, 8)
[3249631.027] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#42.add(fd 37, 2, 2072576, 64, 16777216, 8)
[3249631.031] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#42.create_immed(new id wl_buffer#27, 820, 557, 875713089, 0)
[3249631.036] {mesa egl surface queue}  -> zwp_linux_buffer_params_v1#42.destroy()
[3249631.041] {mesa egl surface queue}  -> wl_surface#23.attach(wl_buffer#27, 0, 0)
[3249631.045] {mesa egl surface queue}  -> wl_surface#23.damage_buffer(0, 0, 2147483647, 2147483647)
[3249631.050] {mesa egl surface queue}  -> wl_surface#23.commit()
[3249631.054] {mesa egl surface queue}  -> wl_display#1.sync(new id wl_callback#32)
[3249631.097] zwp_text_input_v3#16.done(3)
[3249631.378]  -> xdg_toplevel#33.set_title("wezterm Configuration Error")
[3249631.423]  -> xdg_surface#36.set_window_geometry(0, 0, 820, 557)
16:55:55.239  ERROR  mux::connui > Configuration Error: Unable to load a font specified by your font=wezterm.font('lkajsglkj', {weight="Regular", stretch='Normal', style=Normal}) configuration. Fallback(s) are being used instead, and the terminal may not render as intended. See https://wezterm.org/config/fonts.html for more information
[3249689.212] {mesa egl surface queue} wl_callback#30.done(3153982)
[3249693.051]  -> wl_shm_pool#4.create_buffer(new id wl_buffer#30, 0, 2, 2, 8, 0)
[3249693.131]  -> wl_surface#35.attach(wl_buffer#30, 0, 0)
[3249693.139]  -> wl_surface#35.set_buffer_scale(2)
[3249693.143]  -> wl_surface#35.commit()
[3249693.148]  -> wl_buffer#30.destroy()
Io error: Broken pipe (os error 32)
[3249693.861] {mesa egl surface queue} wl_buffer#28.release()
[3249693.906] {mesa egl surface queue}  -> wl_buffer#28.destroy()
[3249697.978]  -> xdg_toplevel#25.destroy()
[3249698.067]  -> xdg_surface#24.destroy()
[3249698.085]  -> wl_surface#23.destroy()
[3249698.097]  -> wl_shm_pool#26.destroy()
[3249698.302] {mesa egl surface queue}  -> wl_buffer#27.destroy()
[3249698.314] {mesa egl surface queue}  -> zwp_linux_dmabuf_feedback_v1#37.destroy()
[3249699.698]  -> xdg_toplevel#33.destroy()
[3249699.744]  -> xdg_surface#36.destroy()
[3249699.754]  -> wl_surface#35.destroy()
[3249699.759]  -> wl_shm_pool#34.destroy()
[3249699.836] {mesa egl surface queue}  -> wl_buffer#31.destroy()
[3249699.844] {mesa egl surface queue}  -> zwp_linux_dmabuf_feedback_v1#29.destroy()
16:55:55.313  ERROR  wezterm_gui > running message loop: Io error: Broken pipe (os error 32); terminating
[3249712.666] {mesa egl display queue}  -> wp_presentation#40.destroy()
[3249713.948] {mesa egl display queue}  -> zwp_linux_dmabuf_v1#39.destroy()

Configuration

return {
	font = require("wezterm").font_with_fallback({
		"lkajsglkj",
		"Adwaita Mono",
	}),
}

Expected Behavior

It doesn't crash.

Logs

(See above.)

Anything else?

No response

9999years avatar Oct 29 '25 00:10 9999years

I am getting the same error, under similar conditions, except that there are no font problems, and not on startup but rather

OS

Fedora 43 (stock Gnome)

Wezterm version

  • wezterm 20251111_071056_118802c2

To reproduce

Choose scaling != 100% in Gnome settings, start wezterm, press "Shift-Control-n", observe crash with message

> wezterm
wl_surface#28: error 2: Buffer size (820x583) must be an integer multiple of the buffer_scale (3).
Protocol error 2 on object wl_surface@28:
13:24:29.034  ERROR  wezterm_gui > running message loop: Protocol error 2 on object wl_surface@28: ; terminating

karvus avatar Dec 04 '25 12:12 karvus