Subject: Re: git-gui hangs on read

From: "Shawn O. Pearce" <[email-masked]>
Date: Mon, 21 Apr 2008 20:13:11 -0400

Benjamin Collins <[email-masked]> wrote:
> I just upgraded a few machines (RHEL 4.4) to the latest stable, and
> git-gui stopped working.  It just hangs forever if it's in a git
> repository.
...
> [pid 16903] write(1, "@(#) International Ispell Versio"..., 68 <unfinished ...>
> [pid 16897] <... read resumed> "@(#) International Ispell Versio"..., 4096) = 68
> [pid 16903] <... write resumed> )       = 68
> [pid 16903] fstat(0, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
> [pid 16903] mmap(NULL, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a983cf000
> [pid 16903] read(0,  <unfinished ...>
> [pid 16897] write(5, "!\n$$cr master\n", 14) = 14
> [pid 16903] <... read resumed> "!\n$$cr master\n", 4096) = 14
> [pid 16897] read(6,  <unfinished ...>
> [pid 16903] read(0,
> 
> Has anyone seen this before?

Nope.  This was a new feature of git-gui 0.10; we now launch an
aspell session in the background via a bi-directional pipe and
use it to spell check the commit message area on the fly.  The
reason Git 1.5.4 doesn't have this problem is because it ships
with git-gui 0.9.x, which doesn't have this spell check.

I'm not sure why your system is hanging.  I've used git-gui 0.10
on Mac OS 10.4, 10.5 and Windows without any issues for many weeks
prior to the 1.5.5 release.  Doesn't mean there isn't possibly
something wrong here, I just had thought this was pretty stable
code at this point.

>>From the strace it looks like your aspell is not giving us a
reply to the "$$cr master" command.  What does this give you?

	aspell --mode=none --encoding=UTF-8 pipe <<EOF
	!
	$$cr master
	EOF

-- 
Shawn.