On Sat, Apr 22, 2017 at 10:35:50PM +0200, Erling Westenvik wrote: > Hi! > > After upgrading to today's snapshot (amd64, April 22) tmux refused to > load with exit status 1 and error message 'lost server'. I quickly found the > culprit in my .tmux.conf; a left over experimental if-shell statement I > used a while ago when I needed nested tmux sessions: > > if-shell "echo $SSH_TTY | grep /dev/ttyp" "set -g prefix C-r" "set -g prefix > C-Space" > > After commenting out the if-shell statement tmux loads fine, but – why > did this cause tmux not to load in the first place? Running the > statement as a command in tmux as soon tmux is running works just fine!?
I ran into this as well; nicm fixed this bug in -current (cmd-if-sh.c r1.54). There was a change (cfg.c r1.56) that causes the commands in the config file run outside of any client. A bug in the if-sh implementation led to a NULL dereference in that situation, and this segfault killed the tmux server (as indicated by the 'lost server' message you saw). When run inside a tmux client, the pointer that was NULL in the previous paragraph points to the client, and now the dereference is valid, so the command worked properly.

