Edgewall Software

Opened 10 years ago

Last modified 9 years ago

#836 new defect

bitten-slave triggers git repository accesses that stay open forever

Reported by: Martin Schulze <spam.martin.schulze@…> Owned by:
Priority: major Milestone: 0.7
Component: Trac plugin Version: dev
Keywords: Cc: spam.martin.schulze@…
Operating System: Linux


I recently noticed that my server started to slow down and on investigation found that my httpd process had many childprocesses like these:

/usr/bin/git --git-dir=/var/trac/git log --pretty=format:%n%H --name-status a8468e820855db3bef663321b0e4ce315351bfed --
/usr/bin/git --git-dir=/var/trac/git log --pretty=format:%n%H --name-status 192de0611cf3000e74481fb5bbce53407529153e --
/usr/bin/git --git-dir=/var/trac/git log --pretty=format:%n%H --name-status a8468e820855db3bef663321b0e4ce315351bfed --
/usr/bin/git --git-dir=/var/trac/git log --pretty=format:%n%H --name-status 192de0611cf3000e74481fb5bbce53407529153e --

Some testing showed that each visit of a bitten-slave to my server adds these 4 entries (two of which are obviously duplicate) which reference the last two commits in my repository (they both have been built successfully in two distinct build configurations so I assume that the references are to the last two (successfully) built changesets per build configuration).

The problem is that these processes don't go away and accumulate over time, finally leading to a system that is very slow because it is swapping.

I was not able to pin down the origin of the problem as I have several recent changes on the system (other linux distribution, git updates, enabled bitten-slave, bitten version update). However, I am sure that this was no problem about half a year ago.

Attachments (0)

Change History (3)

comment:1 Changed 10 years ago by Martin Schulze <spam.martin.schulze@…>

  • Cc spam.martin.schulze@… added

comment:2 Changed 9 years ago by anders@…

I think this is a problem with the Trac Git? plugin. I have seen it myself with Trac 0.12 and Trac Git?-, FreeBSD 9.1, Apache 2.2, python 2.7.

There is a statement in Trac Git?, in the file tracext/git/PyGIT.py, that initiates these git-log processes. I added --no-pager to that statement and the problem seems to be gone, so I think those processes hang because of the pager waiting forever for a key to be pressed.

comment:3 Changed 9 years ago by jomae

That's a Trac issue, trac:#11973. Fixed in trac:milestone:1.0.5.

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
as new The ticket will remain with no owner.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.