On Sat, Aug 27, 2011 at 10:30:06PM +0900, Vladimir Lomov wrote: > Hello, > ** Nicholas Marriott [2011-08-27 00:26:52 +0100]: > > > If you use libevent 2.x, you STILL need to set EVENT_NOEPOLL=1. > > > The hanging bug is an epoll bug in the Linux kernel, so you have to make > > libevent use poll or select instead. > > > The reason you can't just do this with libevent 1.4 is because there is > > a bug in the poll and select backends which is worse (makes the server > > hang not just client); this is fixed in libevent 2.x. > > Sorry, my fault. I was try to say that on my box (Archlinux x86_64) > with given kernel, having libevent2 _and_ setting EVENT_NOEPOLL=1 don't help > to avoid hanging.
Show me ldd on tmux binary and strace output from hanging client please. > > > On Sat, Aug 27, 2011 at 01:18:55AM +0900, Vladimir Lomov wrote: > >> Hello, > > >> I want to add my 2 cents to the topic... > > >> ** Nicholas Marriott 2011-06-28 07:07 > >> on topic "tmux has-session -t MYSESSION 2> /dev/null" said > > >>> This is a bug in epoll on Linux, you have several choices: > > >>> - Build tmux against libevent 2 and set EVENT_NOEPOLL=1 in the > >>> environment before starting it. (libevent 1.4 has a another bug which > >>> is worse, so only do this if you use libevent 2.) > > >>> - Avoid redirecting to /dev/null. IIRC you can workaround it with > >>> for example tmux info|cat >/dev/null. > > Actually this advice don't help me too. If I run in terminal > > <code> > $ tmux -2 -u -L docs has-session -t tooll | cat > /dev/null > session not found: tooll > </code> > > as well as > > <code> > $ tmux -2 -u -L docs has-session -t tooll | cat > /dev/null 2>&1 > session not found: tooll > </code> > > The list of existing sessions > <code> > $ tmux -2 -u -L docs ls > editors: 4 windows (created...) [...] > tools: 3 windows (created...) [...] > vcs: 2 windows (created...) [...] > </code> > > I'm using bash shell > <code> > $ [C-x C-v] > GNU bash, version 4.2.10(2)-release (x86_64-unknown-linux-gnu) > </code> > > The worse I can't rely on that code, because exit status from pipe is > exit status of last executed command (man bash). > > >> I report following: > > >> 1) system: Archlinux x86_64, > >> gcc: 4.6.1, > >> kernel (uname -s -r -v): > >> Linux 2.6.39.1-zen-ARCH-00324-g6d6d304 #1 ZEN SMP PREEMPT Wed Jun 15 > >> 14:45:20 IRKST 2011 > >> tmux: compiled from svn (revno. 2588) > >> libevent: 2.0.12 and 2.0.13 (tried on two hosts) > > >> 2) several sessions: 'tools', 'editors', 'vcs' on socket 'docs': tmux -2 > >> -u -L docs > > >> 3) in terminal > >> $ tmux -2 -u -L docs has-session -t tools > >> $ > >> $ tmux -2 -u -L docs has-session -t tool > >> $ > >> $ tmux -2 -u -L docs has-session -t tooll > >> session not found: tooll > >> $ tmux -2 -u -L docs has-session -t tools 2> /dev/null > >> $ > >> $ tmux -2 -u -L docs has-session -t tooll 2> /dev/null > > >> ... hanging, have to kill terminal and start new one > >> $ export EVENT_NOEPOLL=1 > >> $ tmux -2 -u -L docs has-session -t tools > >> $ > >> $ tmux -2 -u -L docs has-session -t tooll > >> session not found: tooll > >> $ tmux -2 -u -L docs has-session -t tools 2> /dev/null > >> $ tmux -2 -u -L docs has-session -t tooll 2> /dev/null > > >> ... hanging > > >> So, if I'm right, only second solution is working and libevent2 > >> [completely] broken in that respect. > > To summarize: I just want to say that on my box advice with > EVENT_NOEPOLL don't work. > > And thank you for this incredible software! > > --- > WBR, Vladimir Lomov > > -- > "I don't care who does the electing as long as I get to do the nominating." > -- Boss Tweed ------------------------------------------------------------------------------ EMC VNX: the world's simplest storage, starting under $10K The only unified storage solution that offers unified management Up to 160% more powerful than alternatives and 25% more efficient. Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev _______________________________________________ tmux-users mailing list tmux-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-users