2.9a로 업그레이드한 후 send-key의 tmux segfault

2.9a로 업그레이드한 후 send-key의 tmux segfault

방금 Ubuntu 서버를 18.10에서 19.04로 업그레이드한 다음 19.10으로 업그레이드했습니다. 이번 업그레이드도 tmux최신 버전으로 업그레이드 된 것 같아요 .

그 이후로 tmux일부 대시보드를 구축하는 스크립트는 더 이상 작동하지 않습니다.

다음과 같은 명령을 내릴 때

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

메시지 를 받았습니다 lost server.

이는 대상이 되는 창을 포함하는 세션에 아무 것도 연결되지 않은 경우 발생합니다.

세션을 시작하고 연결하면 send-keys작동합니다.

syslog에는 다음 항목이 포함되어 있습니다.

3월 12일 23:27:33 머신 커널: [ 27.074805] tmux: 서버[2657]: 751 ip 000056042469f029 sp 00007ffe602aa6f0 tmux[560424675000+62000]의 segfault 오류 4

이것이 내 생성 스크립트의 모습이며 crontabas 에서 호출되지만 @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그렇지 않으면 나머지 스크립트가 실행되지 않습니다. 또한 창 번호가 잘못되었습니다. 한 번만 분할했지만 0과 1만 존재할 때 창 1과 2를 대상으로 합니다. 따라서 이것이 실제로 사용하고 있는 스크립트가 아닌 것 같습니다.

어쨌든 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

관련 정보