git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Thomas Adam <thomas@xteddy.org>
Date
Apr 15, 2010, 09:22 UTC
Message-ID
<x2k18071eea1004150222x2980feb5ub9b15ec0522dd5ff@mail.gmail.com>
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
Message 1 of 1 in “Certain git commands fail with "returned error: 128" running via Git.pm under mod_perl”
  1. Thomas AdamApr 15, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.