Oops, must have been on crack for this one: Index: window.c =================================================================== RCS file: /cvs/src/usr.bin/tmux/window.c,v retrieving revision 1.101 diff -u -p -r1.101 window.c --- window.c 28 Jan 2014 23:07:09 -0000 1.101 +++ window.c 22 Feb 2014 01:54:04 -0000 @@ -410,8 +410,9 @@ window_pane_active_set(struct window_pan * Previously active pane, if any, must not be the same as the source * pane. */ - if (nextwp->layout_cell->parent != NULL) { - lastwp = nextwp->layout_cell->parent->lastwp; + lc = nextwp->layout_cell->parent; + if (lc != NULL && lc->lastwp != NULL) { + lastwp = lc->lastwp; if (lastwp != wp && window_pane_visible(lastwp)) return (lastwp); } Index: layout.c =================================================================== RCS file: /cvs/src/usr.bin/tmux/layout.c,v retrieving revision 1.20 diff -u -p -r1.20 layout.c --- layout.c 10 Oct 2013 12:08:14 -0000 1.20 +++ layout.c 22 Feb 2014 01:54:04 -0000 @@ -53,6 +53,7 @@ layout_create_cell(struct layout_cell *l lc->yoff = UINT_MAX; lc->wp = NULL; + lc->lastwp = NULL; return (lc); }
On Fri, Feb 21, 2014 at 10:26:52PM +0000, Balazs Kezes wrote: > Commit [1] has broken tmux 1.9 so that it leads to crash. You can > reproduce the crash the following way. Let's assume we have a tmux with > an empty configuration. Start up a new session and enter the following > commands via <Ctrl>b<colon>: > > split-window > split-window > split-window > select-layout tiled > select-pane -L > select-pane -U > > Now your tmux server has crashed. Here's what the backtrace looks like: > > Program received signal SIGSEGV, Segmentation fault. > 0x000695bc in window_pane_visible (wp=0x6569646f) at window.c:1145 > 1145 struct window *w = wp->window; > (gdb) bt > #0 0x000695bc in window_pane_visible (wp=0x6569646f) at window.c:1145 > #1 0x00067340 in window_pane_active_set (wp=0x17aa0e8, > nextwp=0x178cbe8) at window.c:412 > #2 0x00069884 in window_pane_find_up (wp=0x17aa0e8) at window.c:1202 > #3 0x0001aca0 in cmd_select_pane_exec (self=0x17a3840, cmdq=0x179e440) > at cmd-select-pane.c:103 > #4 0x000182d4 in cmdq_continue (cmdq=0x179e440) at cmd-queue.c:227 > #5 0x000180b0 in cmdq_run (cmdq=0x179e440, cmdlist=0x17a37e0) at > cmd-queue.c:176 > #6 0x00033cc4 in key_bindings_dispatch (bd=0x17a3730, c=0x178df38) at > key-bindings.c:219 > #7 0x00043898 in server_client_handle_key (c=0x178df38, key=8299) at > server-client.c:445 > #8 0x000549b8 in tty_keys_next (tty=0x179dfd4) at tty-keys.c:586 > #9 0x0005682c in tty_read_callback (bufev=0x17a1468, data=0x179dfd4) > at tty.c:168 > #10 0xb6e6d2ac in _bufferevent_run_readcb () from > /usr/lib/libevent-2.0.so.5 > > When I revert [1] the crashing stops. > > [1] "Remember the last active pane in the top-bottom or left-right cell" > http://sourceforge.net/p/tmux/tmux-code/ci/c930fd5ff696f5a60e93ed503f0ff57e0bbf6e4d/ > > -- > Balazs > > ------------------------------------------------------------------------------ > Managing the Performance of Cloud-Based Applications > Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. > Read the Whitepaper. > http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk > _______________________________________________ > tmux-users mailing list > tmux-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/tmux-users ------------------------------------------------------------------------------ Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk _______________________________________________ tmux-users mailing list tmux-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-users