Package: tmux
Version: 1.4-2
Severity: normal

When the session is ended by closing the last shell within tmux, tmux hangs.
It also hangs when a new session is started (this time with an existing
socket):

teyth...@ganymede:~$ id
uid=1000(teythoon) gid=1000(teythoon) groups=1000(teythoon),4(adm)
teyth...@ganymede:~$ ls /var/run/tmux/tmux-1000
teyth...@ganymede:~$ tmux
[... session starts, enter exit ...]
[... tmux hangs, so you need to kill it ...]
[server exited]
teyth...@ganymede:~$ stat /var/run/tmux/tmux-1000/default 
  File: `/var/run/tmux/tmux-1000/default'
  Size: 0               Blocks: 0          IO Block: 8192   socket
Device: 3h/3d   Inode: 542761      Links: 1
Access: (0660/srw-rw----)  Uid: ( 1000/teythoon)   Gid: ( 1000/teythoon)
Access: 2011-01-09 14:54:31.000000000 +0000
Modify: 2011-01-09 14:54:31.000000000 +0000
Change: 2011-01-09 14:55:16.000000000 +0000
teyth...@ganymede:~$ tmux
[... tmux hangs immediately ...]

Removing that socket leads to the first behaviour.

(OTOH joining a running session with 'tmux attach' works as expected.)

I optained one stack trace using gdb, but I am not sure whether this is tmux
hanging at the first or second point described above. Unfortunately all the
traces I'm getting now are looking weird and wrong... well, here it is:

(gdb) bt
#0  0x010a5f4c in mach_msg_trap ()
    at 
/build/buildd-eglibc_2.11.2-7-hurd-i386-6JVoJz/eglibc-2.11.2/build-tree/hurd-i386-libc/mach/mach_msg_trap.S:2
#1  0x010a6749 in __mach_msg (msg=0x15ff278, option=2, send_size=0, 
    rcv_size=40, rcv_name=129, timeout=0, notify=0) at msg.c:110
#2  0x010ad221 in _hurd_select (nfds=2, pollfds=0x80b5d60, readfds=0x0, 
    writefds=0x0, exceptfds=0x0, timeout=0x0, sigmask=0x0) at hurdselect.c:324
#3  0x0118fcdb in __poll (fds=0x80b5d60, nfds=2, timeout=-1)
    at ../sysdeps/mach/hurd/poll.c:48
#4  0x01080ee5 in ?? () from /usr/lib/libevent-1.4.so.2
#5  0x010744da in event_base_loop () from /usr/lib/libevent-1.4.so.2
#6  0x010748b9 in event_loop () from /usr/lib/libevent-1.4.so.2
#7  0x010748de in event_dispatch () from /usr/lib/libevent-1.4.so.2
#8  0x0804c781 in client_main (argc=0, argv=0x15ffd9c, flags=1) at client.c:197
#9  0x0807cf75 in main (argc=0, argv=0x15ffd9c) at tmux.c:518

One more weird thing I just found out by accident: When I start an tmux session
and then attach to it using gdb and kill it using gdbs kill command, tmux
would exit leaving an socket behind:

teyth...@ganymede:~$ stat /var/run/tmux/tmux-1000/default 
  File: `/var/run/tmux/tmux-1000/default'
  Size: 0               Blocks: 0          IO Block: 8192   socket
Device: 3h/3d   Inode: 542768      Links: 1
Access: (0660/srw-rw----)  Uid: ( 1000/teythoon)   Gid: ( 1000/teythoon)
Access: 2011-01-09 15:10:05.000000000 +0000
Modify: 2011-01-09 15:10:05.000000000 +0000
Change: 2011-01-09 15:10:45.000000000 +0000

But now tmux works as expected, I can create and exit as many sessions as I
want. I tried to reproduce this with kill but both SIGINT and SIGKILL lead
to tmux hanging when restarting it. Not sure why it is different when using
gdb.

This might not even be a tmux bug but one in libevent or the hurd itself, but
it surfaces when using tmux and is quite annoying.

-- System Information:
Debian Release: 6.0
  APT prefers unstable
  APT policy: (900, 'unstable'), (300, 'experimental')
Architecture: hurd-i386 (i686-AT386)

Kernel: GNU-Mach 1.3.99/Hurd-0.3
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages tmux depends on:
ii  libc0.3                   2.11.2-7       Embedded GNU C Library: Shared lib
ii  libevent2                 2.0.3-alpha-1  An asynchronous event notification
ii  libncurses5               5.7+20100313-5 shared libraries for terminal hand

tmux recommends no packages.

tmux suggests no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to