i3 crashes when an interactive resize is performed
Author: alpheratz0Created Mar 8, 2023Updated Jun 19, 2026
Labelsbugreproducible4.22
## I'm submitting a…
## Current Behavior
i3 crashes when an interactive resize is performed
## Expected Behavior
resize without crashing
## Reproduction Instructions
I think this is highly related to #4250
- Open two windows (tiling) one to the left, one to the right
- Focus the right window
- Make the right window a floating window
- Left click the left window (now using all the available space)
- Move the pointer over the floating window
- Make that window a tiling window
- Perform an interactive resize
I compiled i3 from source and generated a backtrace
Backtrace
See a demo here:
https://user-images.githubusercontent.com/93066036/223601614-4005c298-5ec6-43c3-9d4d-72425a29f0bb.mp4
## Environment
Output of `i3 --moreversion 2>&-`:
Config file
[x] Bug
[ ] Feature Request
[ ] Documentation Request
[ ] Other (Please describe in detail)
#0 0x00007f13a0916707 in wait4 () at /usr/lib/libc.so.6
#1 0x000055d0a2347660 in sighandler_backtrace () at ../src/sighandler.c:119
tmpdir = 0x55d0a23700c7 "/tmp"
pid_parent = 87738
filename = 0x55d0a2ecb280 "/tmp/i3-backtrace.87738.1.txt"
suffix = 2
pid_gdb = 89260
__FUNCTION__ = "sighandler_backtrace"
status = 0
#2 0x000055d0a23482b2 in sighandler_handle_key_press (event=0x55d0a2ecd4d0) at ../src/sighandler.c:284
state = 0
sym = 98
__FUNCTION__ = "sighandler_handle_key_press"
#3 0x000055d0a23483e4 in handle_signal (sig=6, info=0x7fff5007a870, data=0x7fff5007a740) at ../src/sighandler.c:315
type = 2
__FUNCTION__ = "handle_signal"
action = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0, 139637976727552, 4, 140734536067910, 10, 0, 1677762322, 94354563069196, 94354563069196, 18446744073709551615, 11, 94354563069225, 0, 94354574450450, 94354562517130, 139722282640968}}, sa_flags = 0, sa_restorer = 0x7f13a10622c0}
event = 0x55d0a2ecd4d0
#4 0x00007f13a087df50 in () at /usr/lib/libc.so.6
#5 0x00007f13a08cc8ec in () at /usr/lib/libc.so.6
#6 0x00007f13a087dea8 in raise () at /usr/lib/libc.so.6
#7 0x00007f13a086753d in abort () at /usr/lib/libc.so.6
#8 0x00007f13a086745c in () at /usr/lib/libc.so.6
#9 0x00007f13a08769f6 in () at /usr/lib/libc.so.6
#10 0x000055d0a23445f7 in resize_graphical_handler (first=0x55d0a2e8c7e0, second=0x55d0a2e8b050, orientation=HORIZ, event=0x55d0a2ece800, use_threshold=false) at ../src/resize.c:285
output = 0x55d0a2e89a80
__FUNCTION__ = "resize_graphical_handler"
mask = 514
values = {4283201689, 1}
grabwin = 4194460
initial_position = 683
new_position = 765
helprect = {x = 683, y = 27, width = 2, height = 714}
ffirst = 0x55d0a2e8c7e0
fsecond = 0x55d0a2e8b050
helpwin = 4194461
threshold_exceeded = true
params = {orientation = HORIZ, output = 0x55d0a2e89a80, helpwin = 4194461, new_position = 0x7fff5007ad94, threshold_exceeded = 0x7fff5007ad92}
drag_result = DRAG_SUCCESS
pixels = 82
__PRETTY_FUNCTION__ = "resize_graphical_handler"
result = 162
#11 0x000055d0a22f9eca in tiling_resize_for_border (con=0x55d0a2e8c7e0, border=BORDER_RIGHT, event=0x55d0a2ece800, use_threshold=false) at ../src/click.c:69
__FUNCTION__ = "tiling_resize_for_border"
second = 0x55d0a2e8b050
first = 0x55d0a2e8c7e0
search_direction = D_RIGHT
res = true
__PRETTY_FUNCTION__ = "tiling_resize_for_border"
orientation = HORIZ
#12 0x000055d0a22f9fe0 in floating_mod_on_tiled_client (con=0x55d0a2e8c7e0, event=0x55d0a2ece800) at ../src/click.c:99
to_right = 40
to_left = 643
to_top = 307
to_bottom = 407
__FUNCTION__ = "floating_mod_on_tiled_client"
#13 0x000055d0a22faa51 in route_click (con=0x55d0a2e8c7e0, event=0x55d0a2ece800, mod_pressed=true, dest=CLICK_INSIDE) at ../src/click.c:328
__FUNCTION__ = "route_click"
bind = 0x0
ws = 0x55d0a2e8aac0
focused_workspace = 0x55d0a2e8aac0
floatingcon = 0x0
proportional = false
in_stacked = false
was_focused = false
is_left_click = false
is_right_click = true
is_left_or_right_click = true
is_scroll = false
con_to_focus = 0x55d0a2e8c7e0
fs = 0x0
#14 0x000055d0a22fac8c in handle_button_press (event=0x55d0a2ece800) at ../src/click.c:368
con = 0x55d0a2e8c7e0
__FUNCTION__ = "handle_button_press"
mod = 64
mod_pressed = true
#15 0x000055d0a232a512 in handle_event (type=4, event=0x55d0a2ece800) at ../src/handlers.c:1459
__FUNCTION__ = "handle_event"
#16 0x000055d0a2333d60 in xcb_prepare_cb (loop=0x7f13a0a3c060, w=0x55d0a2e7ec40, revents=16384) at ../src/main.c:151
type = 4
event = 0x55d0a2ece800
__FUNCTION__ = "xcb_prepare_cb"
#17 0x00007f13a0a310cb in ev_invoke_pending () at /usr/lib/libev.so.4
#18 0x00007f13a0a3503a in ev_run () at /usr/lib/libev.so.4
#19 0x000055d0a2333c4c in ev_loop (loop=0x7f13a0a3c060, flags=0) at /usr/include/ev.h:841
#20 0x000055d0a2338fe9 in main (argc=6, argv=0x7fff5007b718) at ../src/main.c:1202
_i3_version = 0x55d0a236ca2b "4.22-24-ga5da4d54"
override_configpath = 0x55d0a2e48900 "/home/alpheratz/.config/i3/config"
autostart = false
layout_path = 0x0
delete_layout_path = true
disable_randr15 = false
fake_outputs = 0x0
disable_signalhandler = false
only_check_config = false
replace_wm = false
long_options = {{name = 0x55d0a236c9d0 "no-autostart", has_arg = 0, flag = 0x0, val = 97}, {name = 0x55d0a236c9dd "config", has_arg = 1, flag = 0x0, val = 99}, {name = 0x55d0a236c9e4 "version", has_arg = 0, flag = 0x0, val = 118}, {name = 0x55d0a236c9ec "moreversion", has_arg = 0, flag = 0x0, val = 109}, {name = 0x55d0a236c9f8 "more-version", has_arg = 0, flag = 0x0, val = 109}, {name = 0x55d0a236ca05 "more_version", has_arg = 0, flag = 0x0, val = 109}, {name = 0x55d0a236ca12 "help", has_arg = 0, flag = 0x0, val = 104}, {name = 0x55d0a236ca17 "layout", has_arg = 1, flag = 0x0, val = 76}, {name = 0x55d0a236a813 "restart", has_arg = 1, flag = 0x0, val = 0}, {name = 0x55d0a236a634 "force-xinerama", has_arg = 0, flag = 0x0, val = 0}, {name = 0x55d0a236a643 "force_xinerama", has_arg = 0, flag = 0x0, val = 0}, {name = 0x55d0a236a76f "disable-randr15", has_arg = 0, flag = 0x0, val = 0}, {name = 0x55d0a236a77f "disable_randr15", has_arg = 0, flag = 0x0, val = 0}, {name = 0x55d0a236a78f "disable-signalhandler", has_arg = 0, flag = 0x0, val = 0}, {name = 0x55d0a236a7d2 "shmlog-size", has_arg = 1, flag = 0x0, val = 0}, {name = 0x55d0a236a7de "shmlog_size", has_arg = 1, flag = 0x0, val = 0}, {name = 0x55d0a236a7a5 "get-socketpath", has_arg = 0, flag = 0x0, val = 0}, {name = 0x55d0a236a7b4 "get_socketpath", has_arg = 0, flag = 0x0, val = 0}, {name = 0x55d0a236a828 "fake_outputs", has_arg = 1, flag = 0x0, val = 0}, {name = 0x55d0a236a81b "fake-outputs", has_arg = 1, flag = 0x0, val = 0}, {name = 0x55d0a236a858 "force-old-config-parser-v4.4-only", has_arg = 0, flag = 0x0, val = 0}, {name = 0x55d0a236ca1e "replace", has_arg = 0, flag = 0x0, val = 114}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
option_index = 8
opt = -1
__FUNCTION__ = "main"
_NET_SUPPORTED_cookie = {sequence = 11}
_NET_SUPPORTING_WM_CHECK_cookie = {sequence = 12}
_NET_WM_NAME_cookie = {sequence = 13}
_NET_WM_VISIBLE_NAME_cookie = {sequence = 14}
_NET_WM_MOVERESIZE_cookie = {sequence = 15}
_NET_WM_STATE_STICKY_cookie = {sequence = 16}
_NET_WM_STATE_FULLSCREEN_cookie = {sequence = 17}
_NET_WM_STATE_DEMANDS_ATTENTION_cookie = {sequence = 18}
_NET_WM_STATE_MODAL_cookie = {sequence = 19}
_NET_WM_STATE_HIDDEN_cookie = {sequence = 20}
_NET_WM_STATE_FOCUSED_cookie = {sequence = 21}
_NET_WM_STATE_cookie = {sequence = 22}
_NET_WM_WINDOW_TYPE_cookie = {sequence = 23}
_NET_WM_WINDOW_TYPE_NORMAL_cookie = {sequence = 24}
_NET_WM_WINDOW_TYPE_DOCK_cookie = {sequence = 25}
_NET_WM_WINDOW_TYPE_DIALOG_cookie = {sequence = 26}
_NET_WM_WINDOW_TYPE_UTILITY_cookie = {sequence = 27}
_NET_WM_WINDOW_TYPE_TOOLBAR_cookie = {sequence = 28}
_NET_WM_WINDOW_TYPE_SPLASH_cookie = {sequence = 29}
_NET_WM_WINDOW_TYPE_MENU_cookie = {sequence = 30}
_NET_WM_WINDOW_TYPE_DROPDOWN_MENU_cookie = {sequence = 31}
_NET_WM_WINDOW_TYPE_POPUP_MENU_cookie = {sequence = 32}
_NET_WM_WINDOW_TYPE_TOOLTIP_cookie = {sequence = 33}
_NET_WM_WINDOW_TYPE_NOTIFICATION_cookie = {sequence = 34}
_NET_WM_DESKTOP_cookie = {sequence = 35}
_NET_WM_STRUT_PARTIAL_cookie = {sequence = 36}
_NET_CLIENT_LIST_cookie = {sequence = 37}
_NET_CLIENT_LIST_STACKING_cookie = {sequence = 38}
_NET_CURRENT_DESKTOP_cookie = {sequence = 39}
_NET_NUMBER_OF_DESKTOPS_cookie = {sequence = 40}
_NET_DESKTOP_NAMES_cookie = {sequence = 41}
_NET_DESKTOP_VIEWPORT_cookie = {sequence = 42}
_NET_ACTIVE_WINDOW_cookie = {sequence = 43}
_NET_CLOSE_WINDOW_cookie = {sequence = 44}
_NET_MOVERESIZE_WINDOW_cookie = {sequence = 45}
_NET_WM_USER_TIME_cookie = {sequence = 46}
_NET_STARTUP_ID_cookie = {sequence = 47}
_NET_WORKAREA_cookie = {sequence = 48}
_NET_WM_ICON_cookie = {sequence = 49}
WM_PROTOCOLS_cookie = {sequence = 50}
WM_DELETE_WINDOW_cookie = {sequence = 51}
UTF8_STRING_cookie = {sequence = 52}
WM_STATE_cookie = {sequence = 53}
WM_CLIENT_LEADER_cookie = {sequence = 54}
WM_TAKE_FOCUS_cookie = {sequence = 55}
WM_WINDOW_ROLE_cookie = {sequence = 56}
I3_SOCKET_PATH_cookie = {sequence = 57}
I3_CONFIG_PATH_cookie = {sequence = 58}
I3_SYNC_cookie = {sequence = 59}
I3_SHMLOG_PATH_cookie = {sequence = 60}
I3_PID_cookie = {sequence = 61}
I3_LOG_STREAM_SOCKET_PATH_cookie = {sequence = 62}
I3_FLOATING_WINDOW_cookie = {sequence = 63}
_NET_REQUEST_FRAME_EXTENTS_cookie = {sequence = 64}
_NET_FRAME_EXTENTS_cookie = {sequence = 65}
_MOTIF_WM_HINTS_cookie = {sequence = 66}
WM_CHANGE_STATE_cookie = {sequence = 67}
MANAGER_cookie = {sequence = 68}
gcookie = {sequence = 73}
pointercookie = {sequence = 74}
ipc_socket = 8
cookie = {sequence = 83}
error = 0x0
greply = 0x55d0a2e527d0
extreply = 0x55d0a2e491a0
needs_tree_init = false
pointerreply = 0x55d0a2e53c50
output = 0x55d0a2ea8d00
ipc_io = 0x55d0a2e7ec00
log_stream_socket_path = 0x55d0a2eca570 "\312.\n]\005"
log_socket = 10
log_io = 0x55d0a2eca630
socket_ipc_io = 0x0
xcb_watcher = 0x55d0a2eca670
barconfig = 0x0
A debugging session is active.
Inferior 1 [process 87738] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (process 87738) detached]
Binary i3 version: 4.22-24-ga5da4d54 © 2009 Michael Stapelberg and contributors
Running i3 version: 4.22-24-ga5da4d54 (pid 90718)
Loaded i3 config:
/home/alpheratz/.config/i3/config (main) (last modified: Fri 04 Nov 2022 12:05:47 PM -03, 10667192 seconds ago)
The i3 binary you just called: /home/alpheratz/i3/build/i3
The i3 binary you are running: /home/alpheratz/i3/build/i3
set $mod Mod4
set $ws1 "1:I"
set $ws2 "2:II"
set $ws3 "3:III"
set $ws4 "4:IV"
set $ws5 "5:V"
set $ws6 "6:VI"
set $ws7 "7:VII"
set $ws8 "8:VIII"
set $ws9 "9:IX"
for_window [class=".*"] border pixel 0
gaps inner 0
exec --no-startup-id unclutter -idle 3
exec --no-startup-id redshift
exec --no-startup-id mpv --video=no ~/.config/i3/sound.wav
exec --no-startup-id xss-lock --transfer-sleep-lock -- slock
exec --no-startup-id feh --no-fehbg --bg-fill --randomize ~/.config/wallpapers/*
exec --no-startup-id picom -b --config ~/.config/picom/picom.conf
exec_always --no-startup-id autolayout -b
floating_modifier $mod
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
bindsym $mod+Shift+e exec i3-msg exit
bindsym $mod+Return exec st
bindsym $mod+Shift+q kill
bindsym $mod+Shift+space floating toggle
Logfile URL: https://logs.i3wm.org/logs/6300566904897536.bz2
- Linux Distribution & Version: arch linux
- Are you using a compositor (e.g., xcompmgr or compton): picom
Source: i3/i3