tmux segfaults на send-key после обновления до 2.9a

tmux segfaults на send-key после обновления до 2.9a

Я только что обновил Ubuntu Server с 18.10 до 19.04, а затем до 19.10. Я думаю, что это обновление также обновило его tmuxдо более новой версии.

С тех пор мои tmuxскрипты, которые создают некоторые панели мониторинга, больше не работают.

При выдаче команды типа

tmux send-keys "echo 'test'" C-m;

Я получаю lost serverсообщение.

Это происходит, когда к сеансу, содержащему целевую панель, ничего не прикреплено.

Когда я начинаю сессию и присоединяюсь к ней, то send-keysвсе работает.

Системный журнал содержит следующую запись

12 марта 23:27:33 ядро ​​машины: [ 27.074805] tmux: server[2657]: segfault at 751 ip 000056042469f029 sp 00007ffe602aa6f0 ошибка 4 в tmux[560424675000+62000]

Вот как выглядит мой скрипт создания, он вызывается crontabкак @reboot, но проблема возникает и при ручном запуске.

SESSION=stuff

tmux new-session -d -s $SESSION -n 'homepage'
tmux split-window -h -p 50
tmux select-pane -t 1; tmux send-keys "./lhp.sh" C-m;
tmux select-pane -t 2; tmux send-keys "./lnginx.sh" C-m;
tmux split-window -v -p 50
tmux select-pane -t 3; tmux send-keys "./lsmr.sh" C-m;

tmux new-window -t $SESSION -n 'shells'
tmux split-window -h -p 50

tmux select-window -t :1;

И в какой-то более поздний момент времени (часы или дни) я призываю

tmux attach-session -t stuff

для просмотра содержимого.

Кто-нибудь знает, могу ли я продолжать пользоваться им, как раньше?

решение1

Если я заменю ваши скрипты "./l*" на "sleep 10", скрипт не даст сбоя в tmux 3.1-rc, так что либо это ошибка в 2.9a, либо проблема в одном из ваших скриптов.

Конечно, скрипт тоже не работает — вы не можете смешивать new -tи -n. Вы имеете в виду -sвместо -t? И вам, вероятно, нужно добавить , -dиначе остальная часть скрипта не запустится. Также ваши номера панелей неверны — вы разделяете только один раз, но затем выбираете панели 1 и 2, когда существуют только 0 и 1. Так что я подозреваю, что это не тот скрипт, который вы на самом деле используете.

В любом случае tmux 2.9a больше не поддерживается, поэтому лучше всего собрать tmux 3.0a или 3.1-rc и посмотреть, сохранилась ли проблема. Если она сохранилась, вы можете открыть вопрос наhttps://github.com/tmux/tmux/issues, желательно со скриптом, который вы действительно используете, и некоторыми файлами журнала tmux.

решение2

Это ошибка в tmux.

Проблема отслеживается здесьhttps://bugs.launchpad.net/ubuntu/+source/tmux/+bug/1847484и на это есть ссылка здесьhttps://github.com/tmux/tmux/issues/1980

Исправление имеет низкий приоритет, поскольку это проблема «плохой конфигурации», поэтому она все еще существует как минимум в версии 3.0-rc5.

По сути, проблема заключается в следующем:

Таким образом, сбой, по-видимому, происходит при отправке нажатий клавиш во фрейм, который все еще показывает сообщения об ошибках при анализе конфигурации.

Поэтому вам нужно убедиться, что у вас есть действительный tmuxфайл конфигурации, который не выдает ошибок, таких как

.tmux.conf:33: invalid option: pane-border-fg

Связанный контент