[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

More memory issues

From: Sean Russell <ser_at_germane-software.com>
Date: 2002-06-08 18:32:06 CEST

-----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
Received on Sat Jun 8 18:32:47 2002

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.