I doubt this is the problem here but we might as well fix it. Can you
send a patch?



On Thu, Oct 10, 2013 at 04:43:07AM -0500, Chris Johnsen wrote:
>    I found an fd leak recently; it is not specific to jobs, but attempting to
>    use a version-mismatched tmux client from run-shell or if-shell might
>    create a situation like this.
>    The "identify" message(s) sent by the client pass their stdin (and cwd in
>    the latest commits). The server automatically accepts the fds, but in the
>    case of a mismatched protocol version the fd will never be closed.
>    Doing something like this when sending MSG_VERSION fixes this particular
>    leak:
>    * * if (imsg.fd != -1) close(imsg.fd);
>    Usually a client would have a tty for the stdin that it passes, but it
>    would have a socket if it was started under run-shell or if-shell (or
>    possibly other contexts that are not specific to tmux).
>    Jan, have you ever noticed a message like the following when you use the
>    bindings that use tmux inside run-shell?
>    * **protocol version mismatch (client 7, server 8)
>    --*
>    Chris
>    On Thu, Oct 10, 2013 at 3:21 AM, Nicholas Marriott
>    <[1]nicholas.marri...@gmail.com> wrote:
>    >
>    > Hmm have you got 6 clients attached?
>    >
>    > All the sockets must be the stdin/stdout/stderr from the jobs.
>    >
>    > What libevent version did you build tmux against?
>    >
>    > Can you run tmux -Lxyz -vvvv for long enough for your status line to
>    > update a few times (a couple of minutes would probably do) and then send
>    > me the server log?
>    >
>    >
>    >
>    > On Thu, Oct 10, 2013 at 01:32:22PM +1300, Jan Larres wrote:
>    > > On 02/10/13 11:51, Nicholas Marriott wrote:
>    > > > Ok I'm back and can take a better look at this...
>    > >
>    > > I'm back now too and can do more experimenting.
>    > >
>    > > > Are you sure they are not still there even as zombies?
>    > >
>    > > Yes, they're really gone. Assuming I can trust the output of ps, that
>    is.
>    > >
>    > > > What was the outcome of killing all the panes but one once it starts
>    > > > getting slow? Does it fix it?
>    > >
>    > > I don't think it made a real difference, but at the moment I can't
>    test
>    > > it due to some interesting behaviour in my test server instance that I
>    > > left running for the last two weeks. The program call in the
>    statusline
>    > > doesn't seem to get executed any more, and if I try to open a new
>    window
>    > > I get this message:
>    > >
>    > > * Create window failed: zsh -l: Too many open files
>    > >
>    > > And indeed, looking at the lsof output there are a lot of sockets
>    open:
>    > >
>    > > * $ lsof -p 6684
>    > > * COMMAND *PID USER * FD * TYPE * * * * * * DEVICE SIZE/OFF * * * NODE
>    NAME
>    > > * tmux * *6684 *jan *cwd * *DIR * * * * * * * *8,2 * *12288 * *3145730
>    /home/user/jan
>    > > * tmux * *6684 *jan *rtd * *DIR * * * * * * * *8,2 * * 4096 * * * * *2
>    /
>    > > * tmux * *6684 *jan *txt * *REG * * * * * * * *8,2 *2184674 * *3694724
>    /home/user/jan/src/tmux/tmux
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 * 131593 * 35127321
>    /lib/x86_64-linux-gnu/[2]libpthread-2.17.so
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 * *14664 * 35127362
>    /lib/x86_64-linux-gnu/[3]libdl-2.17.so
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 *1742520 * 35127343
>    /lib/x86_64-linux-gnu/[4]libc-2.17.so
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 * *84856 * 35127644
>    /lib/x86_64-linux-gnu/[5]libresolv-2.17.so
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 * 289168 * 23113902
>    /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5.1.9
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 * 167608 * 35127670
>    /lib/x86_64-linux-gnu/libtinfo.so.5.9
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 * 138808 * 35127671
>    /lib/x86_64-linux-gnu/libncurses.so.5.9
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 * *10680 * 35127649
>    /lib/x86_64-linux-gnu/[6]libutil-2.17.so
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 * 145160 * 35127324
>    /lib/x86_64-linux-gnu/[7]ld-2.17.so
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 * 217032 * 12321002
>    /var/cache/nscd/group
>    > > * tmux * *6684 *jan *mem * *REG * * * * * * * *8,2 *1607600 * 23074462
>    /usr/lib/locale/locale-archive
>    > > * tmux * *6684 *jan * *0u * CHR * * * * * * * *1,3 * * *0t0 * * * 2052
>    /dev/null
>    > > * tmux * *6684 *jan * *1u * CHR * * * * * * * *1,3 * * *0t0 * * * 2052
>    /dev/null
>    > > * tmux * *6684 *jan * *2u * CHR * * * * * * * *1,3 * * *0t0 * * * 2052
>    /dev/null
>    > > * tmux * *6684 *jan * *3u *0000 * * * * * * * *0,9 * * * *0 * * * 4405
>    anon_inode
>    > > * tmux * *6684 *jan * *4u *unix 0xffff88019f4b2800 * * *0t0 2718632052
>    socket
>    > > * tmux * *6684 *jan * *5u *unix 0xffff8802106cf400 * * *0t0 2718632053
>    socket
>    > > * tmux * *6684 *jan * *6u * CHR * * * * * * 136,25 * * *0t0 * * * * 28
>    /dev/pts/25
>    > > * tmux * *6684 *jan * *7u *unix 0xffff8802106ce3c0 * * *0t0 2718632065
>    /tmp/tmux-1179/foo
>    > > * tmux * *6684 *jan * *8u *unix 0xffff88019f4b2b40 * * *0t0 2718632051
>    socket
>    > > * tmux * *6684 *jan * *9u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 10u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 11u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 12u *unix 0xffff8801101841c0 * * *0t0 2718658801
>    /tmp/tmux-1179/foo
>    > > * tmux * *6684 *jan * 13u * CHR * * * * * * 136,44 * * *0t0 * * * * 47
>    /dev/pts/44
>    > > * tmux * *6684 *jan * 14u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 15u *unix 0xffff880212ab7780 * * *0t0 2718661229
>    /tmp/tmux-1179/foo
>    > > * tmux * *6684 *jan * 16u * CHR * * * * * * 136,46 * * *0t0 * * * * 49
>    /dev/pts/46
>    > > * tmux * *6684 *jan * 17u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 18u *unix 0xffff88011099c280 * * *0t0 2764091289
>    /tmp/tmux-1179/foo
>    > > * tmux * *6684 *jan * 19u * CHR * * * * * * 136,48 * * *0t0 * * * * 51
>    /dev/pts/48
>    > > * tmux * *6684 *jan * 20u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 21u *unix 0xffff88003997d780 * * *0t0 2718680652
>    /tmp/tmux-1179/foo
>    > > * tmux * *6684 *jan * 22u * CHR * * * * * * 136,50 * * *0t0 * * * * 53
>    /dev/pts/50
>    > > * tmux * *6684 *jan * 23u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 24u *unix 0xffff880110184840 * * *0t0 2718688142
>    /tmp/tmux-1179/foo
>    > > * tmux * *6684 *jan * 25u * CHR * * * * * * 136,52 * * *0t0 * * * * 55
>    /dev/pts/52
>    > > * tmux * *6684 *jan * 26u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 27u *unix 0xffff8800371ac440 * * *0t0 1266248685
>    socket
>    > > * tmux * *6684 *jan * 28u *unix 0xffff8802131b7b80 * * *0t0 1266248686
>    socket
>    > > * tmux * *6684 *jan * 29u *unix 0xffff880115639540 * * *0t0 1266289585
>    socket
>    > > * tmux * *6684 *jan * 30u *unix 0xffff88010c404440 * * *0t0 *329379488
>    socket
>    > > * tmux * *6684 *jan * 31u *unix 0xffff88010c4057c0 * * *0t0 *329379489
>    socket
>    > > * tmux * *6684 *jan * 32u *unix 0xffff8800aac99900 * * *0t0 *329379490
>    socket
>    > > * tmux * *6684 *jan * 33u *unix 0xffff8800aac98580 * * *0t0 *329379491
>    socket
>    > > * tmux * *6684 *jan * 34u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 35u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 36u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 38u * CHR * * * * * * * *5,2 * * *0t0 * * * * *3
>    /dev/ptmx
>    > > * tmux * *6684 *jan * 39u *unix 0xffff880115638840 * * *0t0 1266289586
>    socket
>    > > * tmux * *6684 *jan * 40u *unix 0xffff88004f6ce3c0 * * *0t0 1266246944
>    socket
>    > > * tmux * *6684 *jan * 41u *unix 0xffff880213477880 * * *0t0 *329379492
>    socket
>    > > * tmux * *6684 *jan * 42u *unix 0xffff8801fe9f6540 * * *0t0 *329379493
>    socket
>    > >
>    > > * [...]
>    > >
>    > > * tmux * *6684 *jan 1021u *unix 0xffff880036f4f440 * * *0t0 *338483052
>    socket
>    > > * tmux * *6684 *jan 1022u *unix 0xffff880036f4f100 * * *0t0 *338483053
>    socket
>    > > * tmux * *6684 *jan 1023u *unix 0xffff880036f4edc0 * * *0t0 *338483054
>    socket
>    > >
>    > > After closing all windows/sessions but one and trying to open a new
>    > > window I curiously get:
>    > >
>    > > * Create window failed: zsh -l: No such file or directory
>    > >
>    > > and creating a new session with 'tmux -L' just hangs.
>    > >
>    > > If I try to open a new window in my other, main server I get this:
>    > >
>    > > * Create window failed: zsh -l: Cannot allocate memory
>    > >
>    > > > Also did you send your config before, if not can you send it now?
>    > >
>    > > My configuration is here:
>    > > [8]https://github.com/majutsushi/etc/blob/master/tmux/tmux.conf
>    > >
>    > > But note that for my test server I have the right statusline
>    configured
>    > > like so:
>    > >
>    > > * set-option -g status-right "] <#(date)> #[fg=default,bold]#S
>    #[fg=default,default]%H:%M:%S"
>    > >
>    > > I'll update to latest Git and see if it changes anything, but judging
>    > > from the commit messages I kind of doubt it.
>    > >
>    > > Jan
>    > >
>    > >
>    > >
>    
> ------------------------------------------------------------------------------
>    > > October Webinars: Code for Performance
>    > > Free Intel webinars can help you accelerate application performance.
>    > > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the
>    most from
>    > > the latest Intel processors and coprocessors. See abstracts and
>    register >
>    > >
>    
> [9]http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
>    > > _______________________________________________
>    > > tmux-users mailing list
>    > > [10]tmux-users@lists.sourceforge.net
>    > > [11]https://lists.sourceforge.net/lists/listinfo/tmux-users
>    >
>    >
>    
> ------------------------------------------------------------------------------
>    > October Webinars: Code for Performance
>    > Free Intel webinars can help you accelerate application performance.
>    > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
>    from
>    > the latest Intel processors and coprocessors. See abstracts and register
>    >
>    >
>    
> [12]http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
>    > _______________________________________________
>    > tmux-users mailing list
>    > [13]tmux-users@lists.sourceforge.net
>    > [14]https://lists.sourceforge.net/lists/listinfo/tmux-users
> 
> References
> 
>    Visible links
>    1. mailto:nicholas.marri...@gmail.com
>    2. http://libpthread-2.17.so/
>    3. http://libdl-2.17.so/
>    4. http://libc-2.17.so/
>    5. http://libresolv-2.17.so/
>    6. http://libutil-2.17.so/
>    7. http://ld-2.17.so/
>    8. https://github.com/majutsushi/etc/blob/master/tmux/tmux.conf
>    9. 
> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
>   10. mailto:tmux-users@lists.sourceforge.net
>   11. https://lists.sourceforge.net/lists/listinfo/tmux-users
>   12. 
> http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
>   13. mailto:tmux-users@lists.sourceforge.net
>   14. https://lists.sourceforge.net/lists/listinfo/tmux-users

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&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