Skip to content
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

Crashes with a couple windows and layout: main-vertical #810

Open
coaxial opened this issue Mar 21, 2021 · 6 comments
Open

Crashes with a couple windows and layout: main-vertical #810

coaxial opened this issue Mar 21, 2021 · 6 comments

Comments

@coaxial
Copy link

coaxial commented Mar 21, 2021

Describe the bug
Having more than a couple windows with layout: main-vertical often crashes tmuxinator.

To Reproduce
Given this config file:

name: layout-repro
root: ~/
windows:
  - editor:
      layout: main-vertical
      panes:
        - nvim
        - nvim
  - server: nvim
  - logs: nvim
  - other:
      layout: main-vertical
      panes:
        - nvim
        - nvim
  - another:
      layout: main-vertical
      panes:
        - nvim
        - nvim
   - more:
      layout: main-vertical
      panes:
        - nvim
        - nvim
  - andmore:
      layout: main-vertical
      panes:
        - nvim
        - nvim

Run mux start layout-repro

Observe tmuxinator start and then crash half-way through after a few seconds with [server exited unexpectedly].

The terminal must be reset with reset before it operates again normally.

It doesn't crash every time, about once every five times or so on my machine.

Expected behavior
tmuxinator to start properly without errors or crashes.

Environment

$ tmuxinator -v
tmuxinator 2.0.2

 $ tmux -V
tmux 3.0a

$ ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.2 LTS
Release:	20.04
Codename:	focal

Additional information
See https://asciinema.org/a/vLXSTDZEb08o4iHwjz7rx7oTT

@ethagnawl
Copy link
Member

Could you try the following and see if you can reproduce the issue using only tmux at run time?

Create a shell script which emulates tmuxinator:
tmuxinator debug layout-repro > layout-repro.sh && chmod +x layout-repro.sh

Run that shell script a few times and see whether or not the bug presents itself: ./layout-repro.sh

@coaxial
Copy link
Author

coaxial commented Mar 23, 2021

It happens using that method as well.

@ethagnawl
Copy link
Member

ethagnawl commented Mar 23, 2021

So, the problem is most likely not tmuxinator specific. I'd recommend adding -vv flags to the script you created (e.g. ``) to see if that produces any useful information regarding the crash. You can add tmux_options: -vv to your tmuxinator config file and log files will be created in the directory from which you started tmuxinator.

See: https://linux.die.net/man/1/tmux and https://unix.stackexchange.com/questions/146228/is-there-a-way-to-find-out-why-tmux-crashed

@nomasprime
Copy link

nomasprime commented Mar 26, 2021

Having similar issue. Log:

1616800516.654565 client started (78338): version 3.1c, socket /private/tmp/tmux-501/default, protocol 8
1616800516.654605 on Darwin 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64; libevent 2.1.12-stable (select)
1616800516.654643 socket is /private/tmp/tmux-501/default
1616800516.654660 trying connect
1616800516.654739 add peer 0x7fbdc8048000: 6 (0x0)
1616800516.655815 sending message 100 to peer 0x7fbdc8048000 (4 bytes)
1616800516.655832 sending message 101 to peer 0x7fbdc8048000 (16 bytes)
1616800516.655839 sending message 102 to peer 0x7fbdc8048000 (13 bytes)
1616800516.655845 sending message 108 to peer 0x7fbdc8048000 (52 bytes)
1616800516.655858 sending message 104 to peer 0x7fbdc8048000 (0 bytes)
1616800516.655864 sending message 107 to peer 0x7fbdc8048000 (4 bytes)
1616800516.655870 sending message 105 to peer 0x7fbdc8048000 (17 bytes)
1616800516.655876 sending message 105 to peer 0x7fbdc8048000 (25 bytes)
1616800516.655882 sending message 105 to peer 0x7fbdc8048000 (23 bytes)
1616800516.655888 sending message 105 to peer 0x7fbdc8048000 (25 bytes)
1616800516.655894 sending message 105 to peer 0x7fbdc8048000 (21 bytes)
1616800516.655900 sending message 105 to peer 0x7fbdc8048000 (52 bytes)
1616800516.655906 sending message 105 to peer 0x7fbdc8048000 (25 bytes)
1616800516.655911 sending message 105 to peer 0x7fbdc8048000 (21 bytes)
1616800516.655917 sending message 105 to peer 0x7fbdc8048000 (29 bytes)
1616800516.655923 sending message 105 to peer 0x7fbdc8048000 (57 bytes)
1616800516.655928 sending message 105 to peer 0x7fbdc8048000 (40 bytes)
1616800516.655934 sending message 105 to peer 0x7fbdc8048000 (42 bytes)
1616800516.655940 sending message 105 to peer 0x7fbdc8048000 (52 bytes)
1616800516.655946 sending message 105 to peer 0x7fbdc8048000 (60 bytes)
1616800516.655951 sending message 105 to peer 0x7fbdc8048000 (21 bytes)
1616800516.655957 sending message 105 to peer 0x7fbdc8048000 (16 bytes)
1616800516.655963 sending message 105 to peer 0x7fbdc8048000 (1519 bytes)
1616800516.655969 sending message 105 to peer 0x7fbdc8048000 (22 bytes)
1616800516.655974 sending message 105 to peer 0x7fbdc8048000 (21 bytes)
1616800516.655980 sending message 105 to peer 0x7fbdc8048000 (66 bytes)
1616800516.655986 sending message 105 to peer 0x7fbdc8048000 (38 bytes)
1616800516.655992 sending message 105 to peer 0x7fbdc8048000 (11 bytes)
1616800516.655997 sending message 105 to peer 0x7fbdc8048000 (263 bytes)
1616800516.656003 sending message 105 to peer 0x7fbdc8048000 (30 bytes)
1616800516.656009 sending message 105 to peer 0x7fbdc8048000 (43 bytes)
1616800516.656015 sending message 105 to peer 0x7fbdc8048000 (25 bytes)
1616800516.656020 sending message 105 to peer 0x7fbdc8048000 (387 bytes)
1616800516.656026 sending message 105 to peer 0x7fbdc8048000 (54 bytes)
1616800516.656032 sending message 105 to peer 0x7fbdc8048000 (22 bytes)
1616800516.656037 sending message 105 to peer 0x7fbdc8048000 (43 bytes)
1616800516.656043 sending message 105 to peer 0x7fbdc8048000 (56 bytes)
1616800516.656049 sending message 105 to peer 0x7fbdc8048000 (12 bytes)
1616800516.656055 sending message 105 to peer 0x7fbdc8048000 (17 bytes)
1616800516.656060 sending message 105 to peer 0x7fbdc8048000 (20 bytes)
1616800516.656066 sending message 105 to peer 0x7fbdc8048000 (22 bytes)
1616800516.656072 sending message 105 to peer 0x7fbdc8048000 (13 bytes)
1616800516.656077 sending message 105 to peer 0x7fbdc8048000 (14 bytes)
1616800516.656083 sending message 105 to peer 0x7fbdc8048000 (19 bytes)
1616800516.656089 sending message 105 to peer 0x7fbdc8048000 (14 bytes)
1616800516.656094 sending message 105 to peer 0x7fbdc8048000 (23 bytes)
1616800516.656100 sending message 105 to peer 0x7fbdc8048000 (8 bytes)
1616800516.656106 sending message 105 to peer 0x7fbdc8048000 (41 bytes)
1616800516.656111 sending message 105 to peer 0x7fbdc8048000 (27 bytes)
1616800516.656117 sending message 105 to peer 0x7fbdc8048000 (61 bytes)
1616800516.656123 sending message 105 to peer 0x7fbdc8048000 (19 bytes)
1616800516.656128 sending message 105 to peer 0x7fbdc8048000 (39 bytes)
1616800516.656143 sending message 105 to peer 0x7fbdc8048000 (12 bytes)
1616800516.656148 sending message 105 to peer 0x7fbdc8048000 (28 bytes)
1616800516.656151 sending message 105 to peer 0x7fbdc8048000 (13 bytes)
1616800516.656155 sending message 105 to peer 0x7fbdc8048000 (34 bytes)
1616800516.656159 sending message 105 to peer 0x7fbdc8048000 (17 bytes)
1616800516.656163 sending message 105 to peer 0x7fbdc8048000 (19 bytes)
1616800516.656166 sending message 105 to peer 0x7fbdc8048000 (19 bytes)
1616800516.656170 sending message 105 to peer 0x7fbdc8048000 (24 bytes)
1616800516.656174 sending message 105 to peer 0x7fbdc8048000 (20 bytes)
1616800516.656178 sending message 105 to peer 0x7fbdc8048000 (21 bytes)
1616800516.656181 sending message 106 to peer 0x7fbdc8048000 (0 bytes)
1616800516.656186 cmd_pack_argv: argv[0]=start-server;
1616800516.656189 cmd_pack_argv: argv[1]=show-option
1616800516.656193 cmd_pack_argv: argv[2]=-g
1616800516.656196 cmd_pack_argv: argv[3]=base-index;
1616800516.656199 cmd_pack_argv: argv[4]=show-window-option
1616800516.656202 cmd_pack_argv: argv[5]=-g
1616800516.656206 cmd_pack_argv: argv[6]=pane-base-index;
1616800516.656213 sending message 200 to peer 0x7fbdc8048000 (84 bytes)
1616800516.656218 client loop enter
1616800516.656568 peer 0x7fbdc8048000 message 303
1616800516.656577 open write file 1 -
1616800516.656596 sending message 305 to peer 0x7fbdc8048000 (8 bytes)
1616800516.656602 peer 0x7fbdc8048000 message 304
1616800516.656606 write 31 to file 1
1616800516.656614 peer 0x7fbdc8048000 message 203
1616800516.656620 file 1 31 bytes left
1616800516.656652 client loop exit

Have same tmux config on another machine and it works.

@nomasprime
Copy link

nomasprime commented Mar 27, 2021

Actually think my issue might be different. It's changing directory in first pane but not creating other panes and running subsequent commands.

I'll create a separate issue.

@delucca
Copy link

delucca commented May 16, 2021

So, the problem is most likely not tmuxinator specific. I'd recommend adding -vv flags to the script you created (e.g. ``) to see if that produces any useful information regarding the crash. You can add tmux_options: -vv to your tmuxinator config file and log files will be created in the directory from which you started tmuxinator.

See: https://linux.die.net/man/1/tmux and https://unix.stackexchange.com/questions/146228/is-there-a-way-to-find-out-why-tmux-crashed

I have the same issue here.

Running only tmux the error happens (it crashes tmux). Running with -vv the error won't happen 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants