tmux verursacht Segmentierungsfehler beim Senden der Taste nach dem Upgrade auf 2.9a

tmux verursacht Segmentierungsfehler beim Senden der Taste nach dem Upgrade auf 2.9a

Ich habe gerade einen Ubuntu-Server von 18.10 auf 19.04 und dann auf 19.10 aktualisiert. Ich glaube, dass dieses Upgrade auch ein Upgrade tmuxauf eine neuere Version war.

Seitdem tmuxfunktionieren meine Skripte, die einige Dashboards erstellen, nicht mehr.

Wenn Sie einen Befehl wie

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

Ich bekomme eine lost serverNachricht.

Dies geschieht, wenn der Sitzung, die den Zielbereich enthält, nichts zugeordnet ist.

Wenn ich eine Sitzung starte und eine Verbindung dazu herstelle, send-keysfunktioniert es.

Das Syslog enthält folgenden Eintrag

12. März 23:27:33 Maschinenkernel: [27.074805] tmux: Server [2657]: Segmentierungsfehler bei 751 IP 000056042469f029 SP 00007ffe602aa6f0 Fehler 4 in tmux [560424675000 + 62000]

So sieht mein Erstellungsskript aus, es wird in aufgerufen crontab, @rebootaber das Problem besteht auch bei der manuellen Ausführung.

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;

Und zu einem späteren Zeitpunkt (Stunden oder Tage) rufe ich

tmux attach-session -t stuff

, um den Inhalt anzuzeigen.

Weiß jemand, ob ich es weiterhin wie bisher verwenden kann?

Antwort1

Wenn ich Ihre „./l*“-Skripte durch „sleep 10“ ersetze, stürzt das Skript mit tmux 3.1-rc nicht ab. Entweder handelt es sich also um einen Fehler in 2.9a oder das Problem liegt in einem Ihrer Skripte.

Natürlich funktioniert das Skript auch nicht – Sie können new -tund nicht mischen -n. Meinen Sie -sstatt -t? Und Sie müssen wahrscheinlich hinzufügen, sonst -dwird der Rest des Skripts nicht ausgeführt. Auch Ihre Fensternummern sind falsch – Sie teilen nur einmal, zielen dann aber auf die Fenster 1 und 2, obwohl nur 0 und 1 vorhanden sind. Ich vermute also, dass dies nicht das Skript ist, das Sie tatsächlich verwenden.

Da tmux 2.9a nicht mehr unterstützt wird, ist es am besten, tmux 3.0a oder 3.1-rc zu erstellen und zu prüfen, ob das Problem weiterhin besteht. Wenn ja, können Sie ein Problem unterhttps://github.com/tmux/tmux/issues, vorzugsweise mit dem Skript, das Sie wirklich verwenden, und einigen tmux-Protokolldateien.

Antwort2

Dies ist ein Fehler in tmux.

Das Problem wird hier verfolgthttps://bugs.launchpad.net/ubuntu/+source/tmux/+bug/1847484und auf diesen wird hier verwiesenhttps://github.com/tmux/tmux/issues/1980

Die Fehlerbehebung hat eine niedrige Priorität, da es sich um ein Problem mit einer „fehlerhaften Konfiguration“ handelt. Daher ist es zumindest in 3.0-rc5 noch vorhanden.

Im Grunde handelt es sich um folgendes Problem:

Der Absturz scheint also beim Senden von Tastatureingaben an einen Frame aufzutreten, der immer noch Fehlermeldungen vom Parsen der Konfiguration anzeigt.

Sie müssen also sicherstellen, dass Sie eine gültige tmuxKonfigurationsdatei haben, die keine Fehler ausgibt, wie

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

verwandte Informationen