tmux segfaults en la clave de envío después de actualizar a 2.9a

tmux segfaults en la clave de envío después de actualizar a 2.9a

Acabo de actualizar un servidor Ubuntu de 18.10 a 19.04 y luego a 19.10. Creo que esta actualización también actualizó tmuxa una versión más nueva.

Desde entonces, mis tmuxscripts, que crean algunos paneles, ya no funcionan.

Al emitir un comando como

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

Recibo un lost servermensaje.

Esto sucede cuando no se ha adjuntado nada a la sesión que contiene el panel al que se dirige.

Cuando inicio una sesión y la adjunto, send-keysfunciona.

El syslog contiene la siguiente entrada

12 de marzo 23:27:33 kernel de la máquina: [27.074805] tmux: servidor[2657]: segfault en 751 ip 000056042469f029 sp 00007ffe602aa6f0 error 4 en tmux[560424675000+62000]

Así es como se ve mi script de creación, se invoca crontabcomo @reboot, pero el problema también existe al ejecutarlo manualmente.

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;

Y en algún momento posterior (horas o días) invoco

tmux attach-session -t stuff

para ver el contenido.

¿Alguien sabe que puedo seguir usándolo como antes?

Respuesta1

Si reemplazo sus scripts "./l*" con "sleep 10", el script no falla con tmux 3.1-rc, por lo que se trata de un error en 2.9a o el problema está en uno de sus scripts.

Por supuesto, el script tampoco funciona: no se pueden mezclar new -ty -n. ¿Quieres decir -sen lugar de -t? Y probablemente necesites agregarlo -do el resto del script no se ejecutará. Además, los números de sus paneles son incorrectos: solo divide una vez, pero luego apunta a los paneles 1 y 2 cuando solo existen 0 y 1. Entonces sospecho que este no es el script que realmente estás usando.

De todos modos, tmux 2.9a ya no es compatible, por lo que lo mejor que puede hacer es compilar tmux 3.0a o 3.1-rc y ver si el problema persiste. Si es así, puede abrir un problema enhttps://github.com/tmux/tmux/issues, preferiblemente con el script que realmente estás usando y algunos archivos de registro tmux.

Respuesta2

Este es un error en tmux.

El problema se está rastreando aquí.https://bugs.launchpad.net/ubuntu/+source/tmux/+bug/1847484y a ese se hace referencia aquíhttps://github.com/tmux/tmux/issues/1980

La solución es de baja prioridad ya que es un problema de "mala configuración", por lo que todavía existe al menos en 3.0-rc5.

Básicamente es este problema:

Entonces, el bloqueo parece ocurrir al enviar pulsaciones de teclas a un marco que todavía muestra mensajes de error al analizar la configuración.

Por lo tanto, debe asegurarse de tener un tmuxarchivo de configuración válido que no arroje errores, como

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

información relacionada