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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/tmux-users