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

git hangs on pthread_join

From
IKIan Kumlien <pomac@vapor.com>
Date
May 23, 2013, 13:01 UTC
Message-ID
<20130523130143.GA6376@pomac.netswarm.net>
Hi,

I'm running a rather special configuration, basically i have a gerrit server pushing git data over openvpn connections (company regulations n' stuff)...

git 1.8.2.1 is started by xinetd
...
        port            = 9418
        socket_type     = stream
        wait            = no
        user            = gerrit2
        server          = /usr/bin/git
        server_args     =  daemon --inetd --syslog --export-all
--enable=receive-pack --init-timeout=3 --timeout=180 --base-path=<path>
...
        nice            = 10
        per_source      = UNLIMITED
        instances       = UNLIMITED
        flags           = KEEPALIVE NODELAY
---

Keepalive and nodelay has been added post fact, the same goes for the timeouts.

I have found "git receive-pack"s that has been running for days/weeks without terminating....

Attaching gdb and doing a trace results in: #0 0x0000003261207b35 in pthread_join () from /lib64/libpthread.so.0 #1 0x00000000004ce58b in finish_async () #2 0x000000000045744b in cmd_receive_pack () #3 0x0000000000404851 in handle_internal_command () #4 0x0000000000404c9d in main () (sorry don't have any debug data for the binary packages apparenlty (rpms was built from the official source))

(RHEL 5 machine with glibc 2.5-65.el5_7.1)
Anyone that has any clues about what could be going wrong?
Next: Martin Fick
Message 1 of 4 in “git hangs on pthread_join”
  1. Ian KumlienMay 23, 2013
  2. Martin FickMay 23, 2013
  3. Jeff KingMay 28, 2013
  4. Ian KumlienMay 29, 2013

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.