#5447·i3

i3 crashes when an interactive resize is performed

Author: alpheratz0Created Mar 8, 2023Updated Jun 19, 2026
Labelsbugreproducible4.22
## I'm submitting a…

[x] Bug
[ ] Feature Request
[ ] Documentation Request
[ ] Other (Please describe in detail)
## 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

#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]
See a demo here: https://user-images.githubusercontent.com/93066036/223601614-4005c298-5ec6-43c3-9d4d-72425a29f0bb.mp4 ## Environment Output of `i3 --moreversion 2>&-`:

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

Config file

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