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

Re: svnserve hang on SMP

From: root <ebay_101011_0x2b_at_yahoo.com>
Date: 2004-01-27 22:23:41 CET

Philip -- thx for that. svnserve spawns two child
processes when the client does a checkout. I ran gdb
backtrace on both (output below). This particular
repository just contains .jpeg images -- but the
problem happens on any of my repositories that are
exceptionally large. It seems both pids are doing:

readbuf_input and writebuf_output at which point the
code jumps to 0xffffe002 for both of them, and then
gets stuck.

Any ideas on what might be happening here?

Thanks for any and all help.

Regards,
Davis

[root@kafka dford]# gdb -p 2997
GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General
Public License, and you are
welcome to change it and/or distribute copies of it
under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show
warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
Attaching to process 2997
Reading symbols from
/usr/local/bin/svnserve.bin...done.
Reading symbols from
/usr/local/lib/libsvn_repos-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_repos-1.so.0
Reading symbols from
/usr/local/lib/libsvn_fs-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_fs-1.so.0
Reading symbols from
/usr/local/lib/libsvn_delta-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_delta-1.so.0
Reading symbols from
/usr/local/lib/libsvn_subr-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_subr-1.so.0
Reading symbols from
/usr/local/lib/libsvn_ra_svn-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_ra_svn-1.so.0
Reading symbols from
/usr/local/apache2/lib/libaprutil-0.so.0...done.
Loaded symbols for
/usr/local/apache2/lib/libaprutil-0.so.0
Reading symbols from /usr/lib/libgdbm.so.2...done.
Loaded symbols for /usr/lib/libgdbm.so.2
Reading symbols from /lib/libdb-4.0.so...done.
Loaded symbols for /lib/libdb-4.0.so
Reading symbols from /lib/tls/libpthread.so.0...done.
[New Thread 1075969248 (LWP 2997)]
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /usr/lib/libexpat.so.0...done.
Loaded symbols for /usr/lib/libexpat.so.0
Reading symbols from
/usr/local/apache2/lib/libapr-0.so.0...done.
Loaded symbols for
/usr/local/apache2/lib/libapr-0.so.0
Reading symbols from /lib/tls/librt.so.1...done.
Loaded symbols for /lib/tls/librt.so.1
Reading symbols from /lib/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
---Type <return> to continue, or q <return> to quit---
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
0xffffe002 in ?? ()
(gdb) bt
#0 0xffffe002 in ?? ()
#1 0x4007dd98 in readbuf_input (conn=0x8057c30,
data=0x8057c40 "( check-path ( 0: ( 1 ) ) ) or ) )
168.1.10/svn/pictures ) ", len=0xbfffeed0)
    at subversion/libsvn_ra_svn/marshal.c:243
#2 0x4007dedf in readbuf_fill (conn=0x8057c30,
pool=0x80641d0) at
subversion/libsvn_ra_svn/marshal.c:264
#3 0x4007df4b in readbuf_getchar (conn=0x8057c30,
pool=0x80641d0, result=0xbfffef3f "@L\e\b@
P\001@x\a@0|\005\bA\006\bl\a@")
    at subversion/libsvn_ra_svn/marshal.c:274
#4 0x4007df99 in readbuf_getchar_skip_whitespace
(conn=0x8057c30, pool=0x80641d0, result=0xbfffef3f
"@L\e\b@ P\001@x\a@0|\005\bA\006\bl\a@")
    at subversion/libsvn_ra_svn/marshal.c:284
#5 0x4007eb6c in svn_ra_svn_read_item
(conn=0x8057c30, pool=0x80641d0, item=0xbfffef6c) at
subversion/libsvn_ra_svn/marshal.c:570
#6 0x4007efd3 in svn_ra_svn_read_tuple
(conn=0x8057c30, pool=0x80641d0, fmt=0x40080798 "wl")
at subversion/libsvn_ra_svn/marshal.c:687
#7 0x4007f2de in svn_ra_svn_handle_commands
(conn=0x8057c30, pool=0x8055c28, commands=0x804ec60,
baton=0xbffff000)
    at subversion/libsvn_ra_svn/marshal.c:759
#8 0x0804e222 in serve (conn=0x8057c30,
root=0x804e612 "/", tunnel=0, read_only=0,
pool=0x8055c28) at subversion/svnserve/serve.c:1122
#9 0x0804ae4a in main (argc=2, argv=0xbffff274) at
subversion/svnserve/main.c:395
#10 0x42015704 in __libc_start_main () from
/lib/tls/libc.so.6

[root@kafka dford]# gdb -p 2998
GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General
Public License, and you are
welcome to change it and/or distribute copies of it
under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show
warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
Attaching to process 2998
Reading symbols from
/usr/local/bin/svnserve.bin...done.
Reading symbols from
/usr/local/lib/libsvn_repos-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_repos-1.so.0
Reading symbols from
/usr/local/lib/libsvn_fs-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_fs-1.so.0
Reading symbols from
/usr/local/lib/libsvn_delta-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_delta-1.so.0
Reading symbols from
/usr/local/lib/libsvn_subr-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_subr-1.so.0
Reading symbols from
/usr/local/lib/libsvn_ra_svn-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_ra_svn-1.so.0
Reading symbols from
/usr/local/apache2/lib/libaprutil-0.so.0...done.
Loaded symbols for
/usr/local/apache2/lib/libaprutil-0.so.0
Reading symbols from /usr/lib/libgdbm.so.2...done.
Loaded symbols for /usr/lib/libgdbm.so.2
Reading symbols from /lib/libdb-4.0.so...done.
Loaded symbols for /lib/libdb-4.0.so
Reading symbols from /lib/tls/libpthread.so.0...done.
[New Thread 1075969248 (LWP 2998)]
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /usr/lib/libexpat.so.0...done.
Loaded symbols for /usr/lib/libexpat.so.0
Reading symbols from
/usr/local/apache2/lib/libapr-0.so.0...done.
Loaded symbols for
/usr/local/apache2/lib/libapr-0.so.0
Reading symbols from /lib/tls/librt.so.1...done.
Loaded symbols for /lib/tls/librt.so.1
Reading symbols from /lib/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
---Type <return> to continue, or q <return> to quit---
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
0xffffe002 in ?? ()
(gdb) bt
#0 0xffffe002 in ?? ()
#1 0x4007da5f in writebuf_output (conn=0x8057c30,
pool=0x8275b30,
    data=0x40e804e0 "Z2%
\t\002J\230\bL\232\215\227:qp\237?nrsұ\2234\003\002{\217O-9\006kA\037\231c?\220EC\233\"C\177",
len=95311) at subversion/libsvn_ra_svn/marshal.c:155
#2 0x4007dc30 in writebuf_write (conn=0x8057c30,
pool=0x8275b30,
    data=0x40e804e0 "Z2%
\t\002J\230\bL\232\215\227:qp\237?nrsұ\2234\003\002{\217O-9\006kA\037\231c?\220EC\233\"C\177",
len=96527) at subversion/libsvn_ra_svn/marshal.c:200
#3 0x4007e2be in svn_ra_svn_write_string
(conn=0x8057c30, pool=0x8275b30, str=0xbfffe8f0) at
subversion/libsvn_ra_svn/marshal.c:367
#4 0x4007e563 in vwrite_tuple (conn=0x8057c30,
pool=0x8275b30, fmt=0x40080330 "s", ap=0xbfffe8d8
"-\a@\020=(\b\017")
    at subversion/libsvn_ra_svn/marshal.c:429
#5 0x4007f4f1 in svn_ra_svn_write_cmd
(conn=0x8057c30, pool=0x8275b30, cmdname=0x40080332
"textdelta-chunk", fmt=0x4008032f "cs")
    at subversion/libsvn_ra_svn/marshal.c:800
#6 0x4007bd9b in ra_svn_svndiff_handler
(baton=0x8275c08, data=0x40e80020 "",
len=0xbfffe950) at
subversion/libsvn_ra_svn/editorp.c:252
#7 0x400652c7 in svn_stream_write (stream=0x40df5040,
data=0x40e80020 "", len=0xbfffe950) at
subversion/libsvn_subr/stream.c:105
#8 0x4004ee41 in window_handler (window=0x82c2e50,
baton=0x827bbc0) at
subversion/libsvn_delta/svndiff.c:181
#9 0x4005086a in svn_txdelta_send_txstream
(txstream=0x8277c80, handler=0x4004ead3
<window_handler>, handler_baton=0x827bbc0,
pool=0x8277b78)
    at subversion/libsvn_delta/text_delta.c:601
#10 0x4001c369 in send_text_delta (c=0xbfffed90,
file_baton=0x8275c08, base_checksum=0x0,
delta_stream=0x8277c80, pool=0x8277b78)
    at subversion/libsvn_repos/delta.c:590
#11 0x4001c87c in delta_files (c=0xbfffed90,
file_baton=0x8275c08, source_path=0x0,
target_path=0x8275b68 "2001/Honeymoon/Spring Bay
02.jpg",
    pool=0x8275b30) at
subversion/libsvn_repos/delta.c:746
#12 0x4001ca63 in add_file_or_dir (c=0xbfffed90,
dir_baton=0x81d37e0, target_path=0x8275b68
"2001/Honeymoon/Spring Bay 02.jpg",
    edit_path=0x8275b90 "2001/Honeymoon/Spring Bay
02.jpg", tgt_kind=svn_node_file, pool=0x8275b30) at
subversion/libsvn_repos/delta.c:817
---Type <return> to continue, or q <return> to quit---
#13 0x4001d092 in delta_dirs (c=0xbfffed90,
dir_baton=0x81d37e0, source_path=0x0,
target_path=0x81d3780 "2001/Honeymoon",
    edit_path=0x81d3790 "2001/Honeymoon",
pool=0x81d3748) at
subversion/libsvn_repos/delta.c:1015
#14 0x4001c9d3 in add_file_or_dir (c=0xbfffed90,
dir_baton=0x80934d8, target_path=0x81d3780
"2001/Honeymoon", edit_path=0x81d3790
"2001/Honeymoon",
    tgt_kind=svn_node_dir, pool=0x81d3748) at
subversion/libsvn_repos/delta.c:806
#15 0x4001d092 in delta_dirs (c=0xbfffed90,
dir_baton=0x80934d8, source_path=0x0,
target_path=0x8093498 "2001", edit_path=0x80934a0
"2001",
    pool=0x8093460) at
subversion/libsvn_repos/delta.c:1015
#16 0x4001c9d3 in add_file_or_dir (c=0xbfffed90,
dir_baton=0x8064570, target_path=0x8093498 "2001",
edit_path=0x80934a0 "2001", tgt_kind=svn_node_dir,
    pool=0x8093460) at
subversion/libsvn_repos/delta.c:806
#17 0x4001d092 in delta_dirs (c=0xbfffed90,
dir_baton=0x8064570, source_path=0x8064468 "",
target_path=0x8064460 "", edit_path=0x400252eb "",
    pool=0x8064188) at
subversion/libsvn_repos/delta.c:1015
#18 0x4001be0e in svn_repos_dir_delta
(src_root=0x80709a8, src_parent_dir=0x80643c8 "",
src_entry=0x80643d0 "", tgt_root=0x8076bd0,
    tgt_fullpath=0x8064460 "", editor=0x8064320,
edit_baton=0x8064360, authz_read_func=0,
authz_read_baton=0x0, text_deltas=1, recurse=1,
entry_props=1,
    ignore_ancestry=0, pool=0x8064188) at
subversion/libsvn_repos/delta.c:357
#19 0x4002330f in finish_report
(report_baton=0x8064378, pool=0x8066190) at
subversion/libsvn_repos/reporter.c:484
#20 0x40023353 in svn_repos_finish_report
(report_baton=0x8064378, pool=0x8066190) at
subversion/libsvn_repos/reporter.c:495
#21 0x0804b938 in finish_report (conn=0x8057c30,
pool=0x8066190, params=0x8066250, baton=0xbfffef10) at
subversion/svnserve/serve.c:293
#22 0x4007f386 in svn_ra_svn_handle_commands
(conn=0x8057c30, pool=0x8064188, commands=0x804ea60,
baton=0xbfffef10)
    at subversion/libsvn_ra_svn/marshal.c:766
#23 0x0804ba4d in accept_report (conn=0x8057c30,
pool=0x8064188, b=0xbffff000, rev=1, target=0x80642a0
"", tgt_path=0x0, text_deltas=1, recurse=1,
    ignore_ancestry=0) at
subversion/svnserve/serve.c:344
#24 0x0804d0aa in update (conn=0x8057c30,
pool=0x8064188, params=0x8064238, baton=0xbffff000) at
subversion/svnserve/serve.c:757
#25 0x4007f386 in svn_ra_svn_handle_commands
(conn=0x8057c30, pool=0x8055c28, commands=0x804ec60,
baton=0xbffff000)
    at subversion/libsvn_ra_svn/marshal.c:766
---Type <return> to continue, or q <return> to quit---
#26 0x0804e222 in serve (conn=0x8057c30,
root=0x804e612 "/", tunnel=0, read_only=0,
pool=0x8055c28) at subversion/svnserve/serve.c:1122
#27 0x0804ae4a in main (argc=2, argv=0xbffff274) at
subversion/svnserve/main.c:395
#28 0x42015704 in __libc_start_main () from
/lib/tls/libc.so.6

--- Philip Martin <philip@codematters.co.uk> wrote:
> root <ebay_101011_0x2b@yahoo.com> writes:
>
> > I tried to run svnserve -d and then attach gdb to
> the
> > process.
>
> On Unix svnserve will use fork. Are you attaching
> gdb to the forked
> child or the the listening parent? You probably
> want the child:
>
> Server: $ svnserve -d ...
> $ ps ax # note svnserve ID
>
> Client: $ svn co svn://... # wait for hang
>
> Server: $ ps ax # note ID of new
> svnserve process
> $ gdb -p newID
> (gdb) bt
>
> --
> Philip Martin
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail:
> dev-help@subversion.tigris.org
>

__________________________________
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 22:24:43 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.