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

Reply via email to