[issue2325] inotify: hg pull -u frozen after updating
Greg Ward
bugs at mercurial.selenic.com
Thu Aug 12 14:34:06 UTC 2010
New submission from Greg Ward <greg-hg at gerg.ca>:
If I run "hg pull -u" in an inotify-enabled repo where the server isn't
running, then hg pulls and updates as requested. Then it hangs.
This does not happen all the time. I suspect it happens whenever the server
is not running and inotify has to start it. For example, if I rollback the
pull and repeat "hg pull -u", it works fine. Repeat a couple of times,
still no problem.
But then if I rollback the pull, kill the inserve process, and rerun "hg
pull -u", it hangs again.
Here's how things look in the hanging state:
"""
$ ps -fwwC python
UID PID PPID C STIME TTY TIME CMD
gward 7499 3259 4 10:27 pts/4 00:00:03 python /home/gward/bin/hg
pull -u --debug
gward 7501 7499 5 10:27 ? 00:00:03 python /home/gward/bin/hg
inserve -R /home/gward/repos/sandbox --daemon-pipefds=/tmp/hg-service-YC3W9n
$ pstree -p 7499
python(7499)─┬─python(7501)
└─ssh(7500)
"""
The parent (7499) is stuck waiting for ssh:
$ strace -tt -p 7499
Process 7499 attached - interrupt to quit
10:30:13.223423 read(7, <unfinished ...>
[...wait 20 sec or so... then kill strace]
$ lsof -p 7499
[...]
python 7499 gward 7r FIFO 0,6 28626 pipe
That pipe is to the ssh child. Hmmmm!
If I kill the ssh child, process 7500, hg immediately exits.
----------
messages: 13319
nosy: gward, nicdumz
priority: bug
status: unread
title: inotify: hg pull -u frozen after updating
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2325>
____________________________________________________
More information about the Mercurial-devel
mailing list