Certain git commands fail with "returned error: 128" running via Git.pm under mod_perl

Previous thread: [PATCH] Make rev_compare_tree less confusing. by Bo Yang on Thursday, April 15, 2010 - 1:46 am. (3 messages)

Next thread: [PATCH v2] tag -v: use RUN_GIT_CMD to run verify-tag by Jonathan Nieder on Thursday, April 15, 2010 - 2:36 am. (1 message)
From: Thomas Adam
Date: Thursday, April 15, 2010 - 2:22 am

Hello all,

I've got a problem running certain git commands via Git.pm under
mod_perl.  Specifically so far, these commands are "push" and "fetch"
(by way of "git pull").  Running the same command set without mod_perl
works as expected, including running these commands manually.

I won't bother to describe the application, but most web pages within
it will "git pull" and "git push" various bits of information once
they're entered.  When I initially try this out, these commands work
fine, until a point in time when they stop and error with the
following:

trace: built-in: git 'push'
trace: run_command: 'git-receive-pack '\''/var/repository'\'''
trace: exec: 'sh' '-c' 'git-receive-pack '\''/var/repository'\'''
'git-receive-pack '\''/var/repository'\'''
trace: built-in: git 'receive-pack' '/var/repository'
fatal: read error: Bad file descriptor
fatal: write error: Broken pipe
Git command failure:  push: command returned error: 128

Note that in the environment, I have enabled "GIT_TRACE=1", so that I
could at least make some sense of what's going on.  When this happens
-- git will remain failing on this command until I restart Apache.

I said I am using Git.pm -- I am doing nothing fancy other than calling:

Git::command()

What do people think is happening?  The fact that it's intermittent
would suggest to me there's either some global state running these
commands under mod_perl -- and perhaps the reason push returns error
128 with a broken pipe is that it's trying to write to a file handle
that's since closed (STDOUT or STDERR)?  It's a little tricky knowing
where/how to diagnose this.

So any help/pointers would be greatly appreciated.

Kindly,

-- Thomas Adam
--

Previous thread: [PATCH] Make rev_compare_tree less confusing. by Bo Yang on Thursday, April 15, 2010 - 1:46 am. (3 messages)

Next thread: [PATCH v2] tag -v: use RUN_GIT_CMD to run verify-tag by Jonathan Nieder on Thursday, April 15, 2010 - 2:36 am. (1 message)