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

svnserve hang on SMP

From: root <ebay_101011_0x2b_at_yahoo.com>
Date: 2004-01-27 21:03:12 CET

Hi,

I have been trying to track down this problem for
weeks.

Problem: On a large repository with mostly binary
files, doing a checkout from a network client will
hang in the middle of the checkot. This happens using
svn:// svn+ssh:// and https:// (regardless of
protocol). This does not happen with file:///

The server is the following:

Linux kafka.localdomain 2.4.20-28.9smp #1 SMP Thu Dec
18 13:37:36 EST 2003 i686 i686 i386 GNU/Linux (RedHat
9)

svn, version 0.36.0 (dev build)
   compiled Jan 23 2004, 09:46:28

The following repository access (RA) modules are
available:

* ra_dav : Module for accessing a repository via
WebDAV (DeltaV) protocol.
  - handles 'http' schema
* ra_local : Module for accessing a repository on
local disk.
  - handles 'file' schema
* ra_svn : Module for accessing a repository using the
svn network protocol.
  - handles 'svn' schema

apr-0.9.4-0.1
apr-util-0.9.4-0.1
berkeley-db-4.2.52
neon-0.24.3-1
openssl-0.9.7a-20
zlib-1.1.4-8

The client is the following (note problem occurs with
svn cmd line tools also):

TortoiseSVN 0.24.0, Build 554, UNICODE
Subversion 0.35.1, dev build
apr 0.9.5
apr-iconv 0.9.5
apr-utils 0.9.5
berkeley db 4.2.52
neon 0.24
OpenSSL 0.9.7c 30 Sep 2003
zlib 1.2.1

I have compiled subversion with
--enable-maintainer-mode. When the problem occurs
(hang) there is no output to stdout. I do not believe
that this is a permissions problem. I have a wrapper
script that sets umask on svnserve binary. I am the
only one accessing this repository. When it hangs,
the steps I take are:

Kill the client; see that the svnserve process exits
successfully on the server via ps command.

svnadmin recover..

fix the permissions, if necessary.

From the client, do an update, it will start
continuing where it left off, but again it will hang
half-way through.

I tried to run svnserve -d and then attach gdb to the
process.

Unfortunately, I'm not that familiar with the code,
and I really don't know where to set breakpoints to
see anything useful. I am hoping someone on this list
can help me track it down by making suggestions on
where to look in gdb. If I just do:

(gdb) continue

It runs - and my client connects, and then it hangs as
usual through a checkout (typically after downloading
a number of repository files first)...then I have to
CTRL-C in gdb, and if I do

(gdb) backtrace
#0 0xffffe002 in ?? ()
#1 0x0804aca7 in main (argc=2, argv=0xbfffef84) at
subversion/svnserve/main.c:353
#2 0x42015704 in __libc_start_main () from
/lib/tls/libc.so.6

Which doesn't seem to useful. Not being an expert
with gdb, or the source code, can someone tell me
where some useful places would be to place breakpoints
to try to narrow down where it is getting stuck?

With an SMP machine and also the fact that it seems
the subversion code uses threads, any help is
appreciated in tracking down this issue.

Thanks in advance,
Davis

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Jan 27 21:04:15 2004

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.