this is a linux bug in epoll

unfortunately there is a bug in libevent 1.4 which means we can't drop
back to poll or select on linux until libevent 2 becomes widespread

if you use libevent 2 instead of 1.4 you can export EVENT_NOEPOLL=1 and
that should fix this


On Fri, Feb 18, 2011 at 06:16:03PM -0500, mbm329 wrote:
> Seems like if I run a command that gives output, and I try to send
> that output to /dev/null, it hangs the command.  This occurs with at
> least "set" and "setw" commands.  I'm running tmux v1.4.  I'm not sure
> if the following output will help, but thought I'd include it anyways.
> 
> Example:
> $ tmux setw mode-keys vi >/dev/null
> $ tmux set mouse-select-pane on >/dev/null
> 
> Upon running strace on the command, where it stops is an event poll on fd 3.
> 
> $ strace -f setw mode-keys vi >/dev/null
> <snip>
> epoll_ctl(3, EPOLL_CTL_ADD, 6, {EPOLLIN|EPOLLOUT, {u32=6, u64=6}}) = 0
> epoll_wait(3, {{EPOLLOUT, {u32=6, u64=6}}}, 32, 4294967295) = 1
> clock_gettime(CLOCK_MONOTONIC, {6320894, 944207637}) = 0
> epoll_ctl(3, EPOLL_CTL_DEL, 6, {EPOLLIN|EPOLLOUT, {u32=6, u64=6}}) = 0
> sendmsg(6, {msg_name(0)=NULL,
> msg_iov(1)=[{"\0\0\0\0\34\10\0\0\6\0\0\0\377\377\377\377,a\0\0\0\0\0\0\3\0\0\0setw"...,
> 2076}], msg_controllen=0, msg_flags=0}, 0) = 2076
> epoll_ctl(3, EPOLL_CTL_ADD, 6, {EPOLLIN, {u32=6, u64=6}}) = 0
> epoll_wait(3,
> 
> 
> $ lsof -p 27629
> COMMAND   PID USER   FD   TYPE             DEVICE    SIZE     NODE NAME
> tmux    27629  mbm  cwd    DIR              253,6    4096   313345 /home/mbm
> tmux    27629  mbm  rtd    DIR              253,0    4096        2 /
> tmux    27629  mbm  txt    REG              253,3  472881   196646
> /usr/local/bin/tmux
> tmux    27629  mbm  mem    REG              253,0  139416    31750
> /lib64/ld-2.5.so
> tmux    27629  mbm  mem    REG              253,0 1718120    31757
> /lib64/libc-2.5.so
> tmux    27629  mbm  mem    REG              253,0   23360    31773
> /lib64/libdl-2.5.so
> tmux    27629  mbm  mem    REG              253,0  145824    31765
> /lib64/libpthread-2.5.so
> tmux    27629  mbm  mem    REG              253,0   18152    32080
> /lib64/libutil-2.5.so
> tmux    27629  mbm  mem    REG              253,0  114352    32067
> /lib64/libnsl-2.5.so
> tmux    27629  mbm  mem    REG              253,3  380464  1180532
> /usr/lib64/libncurses.so.5.5
> tmux    27629  mbm  mem    REG              253,0   92736    31783
> /lib64/libresolv-2.5.so
> tmux    27629  mbm  mem    REG              253,3  106696  1182989
> /usr/lib64/libevent-1.4.so.2.1.3
> tmux    27629  mbm  mem    REG              253,0   53448    31782
> /lib64/librt-2.5.so
> tmux    27629  mbm    0u   CHR              136,1                3 /dev/pts/1
> tmux    27629  mbm    1w   CHR                1,3             1910 /dev/null
> tmux    27629  mbm    2u   CHR              136,1                3 /dev/pts/1
> tmux    27629  mbm    3r  0000               0,11       0 44807216 eventpoll
> tmux    27629  mbm    4u  unix 0xffff810013970440         44807217 socket
> tmux    27629  mbm    5u  unix 0xffff810013971780         44807218 socket
> tmux    27629  mbm    6u  unix 0xffff8100139714c0         44807219 socket
> 
> ------------------------------------------------------------------------------
> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
> Pinpoint memory and threading errors before they happen.
> Find and fix more than 250 security defects in the development cycle.
> Locate bottlenecks in serial and parallel code that limit performance.
> http://p.sf.net/sfu/intel-dev2devfeb
> _______________________________________________
> tmux-users mailing list
> tmux-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/tmux-users

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to