You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Sean Russell <se...@germane-software.com> on 2002/06/08 16:32:06 UTC

More memory issues

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I don't know if this is an Apache or a Subversion issue, but it is directly 
related to Subversion, so I'm reporting it here.  I don't think this is 
related to any of the memory problem threads in the list; this is definately 
a server-side issue, not a client-side one.  Also, please note that I haven't 
observed this behavior outside of Subversion; regular HTTPD requests, CGI, 
whatever, don't result in the same problems, so I'm therefore assuming it has 
something with mod_dav_svn.

I've been having these mysterious hangs (r 2075) of subversion, even after the 
upgrade, and I couldn't figure out why.  I've tracked it down to the fact 
that I'm running out of memory on the server.  The behavior is:

1) do some commits to SVN
2) at some point, the svn client times out on the server
3) stop apache, run db_recover, restart apache
4) GOTO 1

I noticed at some point that the server had almost no free memory -- swap or 
main -- so I started watching it.  When I fire up Apache, about 6Mb goes 
away.  No problem.  I commit a /single/ 45KB text file, and about 40MB 
disappears.  Well, oookay, I guess I can believe that.  

The thing is, that Apache process is still hanging around, consuming 40MB, 
after the commit ends.  If I commit again (maybe this time a 1.6KB file), I 
get /another/ Apache process that doesn't go away, consuming /another/ 40MB.  
In this way, Apache (or Subversion) eventually consumes all of the memory on 
the server and eventually fails.

I did strace -p on the culprits; the first process gave me 'poll(', and then 
sat there for 60 seconds, or whatever, until I got bored and ^C'd it.  The 
second process gave me 'semop(0x100, 0x1, 0, 0x400ebb84' and again sat there 
until a broke it.  I don't read strace output, so I have no idea what it 
means.  All I know is that, for every commit, I get another of these Apache 
processes that don't go away... and they aren't "phantom" Linux threads that 
are all sharing the same memory -- they're consuming a few dozen megs a 
piece.

Did I compile something incorrectly?  Is this a glibc problem, or some known 
bug in some random library on my system?

Oh, one last thing: I can kill -9 the offending processes, and it doesn't seem 
to affect the rest of Apache -- or subversion for that matter.  I can kill 
the processes, and do another commit.  I get another rampant Apache process, 
but it works.

- -- 
 |..  "It's not that I'm afraid to die. I just don't want to be there when
<|>    it happens."
/|\   -- Woody Allen
/|    
 |    
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9AjGGP0KxygnleI8RAidZAJ9thXpkxpkGPyRJmcpadX7FDg0D3wCdFBU1
JAMdVSdne6HQYdg+stMxhhQ=
=9Jx0
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org