New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i3 crashes when moving a second window to a mark in my tabbed container layout #3554

Open
epakai opened this Issue Dec 10, 2018 · 2 comments

Comments

Projects
None yet
4 participants
@epakai
Copy link

epakai commented Dec 10, 2018

I'm submitting a…

[ x] Bug
[ ] Feature Request
[ ] Documentation Request
[ ] Other (Please describe in detail)

Current Behavior

i3 crashes when a second window is launched that matches my rule to move windows to a mark in my custom layout. The test.json file is the layout in question. I also use the script ws_test.sh to create a workspace, add layout, and launch an app.

Note: The mark in test.json was added manually. ws_test.sh and test.json could be modified to use your preferred apps for testing.

test.json.txt
ws_test.sh.txt
i3-backtrace.2656.8.txt
i3_crash_log.txt

Expected Behavior

Windows are moved to the mark without crashing when launched on the matching workspace name.

Reproduction Instructions

  1. add this to i3 config:
for_window [workspace="^\d+:doc$" class="^Atril$|^Devhelp$|^Evince$|^Gvim$|^calibre$"] move window to mark doc
  1. run ws_test.sh to create a new workspace named ##:doc and load the layout in ~/.config/i3/test.json
  2. from rox-filer open an app with matching class/instance (atril, devhelp, evince, gvim, calibre in my example)
  3. open a second app with matching class/instance
  4. crash

Environment

Output of i3 --moreversion 2>&-:

Binary i3 version:  4.16 (2018-11-04) © 2009 Michael Stapelberg and contributors
Running i3 version: 4.16 (2018-11-04) (pid 2656)o abort…)
Loaded i3 config: /home/username/.config/i3/config (Last modified: Mon 10 Dec 2018 02:15:13 PM CST, 843 seconds ago)

The i3 binary you just called: /usr/bin/i3
The i3 binary you are running: i3

i3 config

set $mod Mod4

# kill focused window
bindsym $mod+Shift+apostrophe kill
bindsym $mod+Shift+o kill
#bindsym $mod+w kill

# start dmenu
bindsym $mod+p exec dmenu_run
bindsym $mod+y exec --no-startup-id i3-dmenu-desktop

# change focus
bindsym $mod+h focus left
bindsym $mod+l focus right
bindsym $mod+k focus up
bindsym $mod+j focus down

# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+l move right
bindsym $mod+Shift+k move up
bindsym $mod+Shift+j move down

# switch workspaces
bindsym $mod+Left workspace prev
bindsym $mod+Right workspace next

# Rearrange workspaces
bindsym $mod+Shift+Left move workspace to output left
bindsym $mod+Shift+Down move workspace to output down
bindsym $mod+Shift+Up move workspace to output up
bindsym $mod+Shift+Right move workspace to output right

# split in horizontal orientation
bindsym $mod+s split h

# split in vertical orientation
bindsym $mod+v split v

# enter fullscreen mode for the focused container
bindsym $mod+u fullscreen toggle

# change container layout (stacked, tabbed, toggle split)
bindsym $mod+apostrophe layout stacking
bindsym $mod+comma layout tabbed
bindsym $mod+period layout toggle split

# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod

# toggle tiling / floating
bindsym $mod+Shift+space floating toggle

# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle

# always float geeqie
for_window [class="Geeqie"] floating enable
for_window [class="Remmina"] floating enable

# focus the parent container
bindsym $mod+a focus parent

# focus the child container
bindsym $mod+d focus child

# work with workspaces
bindsym $mod+Mod1+Shift+t exec "~/.config/i3/ws_test.sh"
for_window [workspace="^\d+:doc$" class="^Atril$|^Devhelp$|^Evince$|^Gvim$|^calibre$"] move window to mark doc

# reload the configuration file
bindsym $mod+Shift+y reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+p restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+period exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"

# mouse actions
bindsym --release $mod+button2 kill
bindsym --release Mod2+button10 kill 
bindsym --release button10 kill 
bindsym --release $mod+button3 floating toggle
https://logs.i3wm.org/logs/5663773708779520.bz2
- Linux Distribution & Version: Debian 9 (using i3 package built from testing source)
- Are you using a compositor (e.g., xcompmgr or compton): no

@i3bot i3bot added bug 4.16 labels Dec 10, 2018

@Airblader

This comment has been minimized.

Copy link
Member

Airblader commented Dec 11, 2018

Thanks for filing this issue. Though I cannot look at it at the moment I just wanted to show my appreciation for the thorough bug report – I wish they were all this detailed!

@epakai

This comment has been minimized.

Copy link

epakai commented Dec 13, 2018

I found a slightly different crash using atril's help dialog (Help->About) instead of launching a second instance. This usually spawns a floating window. During this crash i3 fails to recover when I choose 'r' and the X session ends. Choosing 'f' to forget the current layout is ok (with layout lost).

floating_window_crash.txt
i3-backtrace.6029.0.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment