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

re: svn 0.26 w db41 on debian using mod_dav_svn does not work, with db40 it does work

From: solo turn <soloturn99_at_yahoo.com>
Date: 2003-08-16 20:22:45 CEST

hmmm ... it would be a surprise to me if svn would work with db41 on another operating system ...
except for playground repositories (i.e. one user, a few files).

between not working everywhere and working nearly everywhere, i would choose "nearly everywhere".
i also think that this might be the reason for switching off http at svn.debian.org?

for power pc, i have no idea how many people use debian svn. but i guess the number is (very)
small.

for the debug, i'm still not sure, the only thing i'm pretty sure of:
if something goes wrong it ends up with a load of open files, apache still running.

# gdb /usr/sbin/apache2
GNU gdb 5.3.90_2003-08-01-cvs-debian
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-linux"...
(no debugging symbols found)...
(gdb) run -X
Starting program: /data/usr/sbin/apache2 -X
(no debugging symbols found)...
...
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)...[New Thread 32769 (LWP 25544)]
[New Thread 16386 (LWP 25545)]
...

Program received signal SIGPIPE, Broken pipe.
[Switching to Thread 278546 (LWP 25561)]
0x403c20ce in readv () from /lib/libc.so.6
(gdb)
(gdb)
(gdb) bt
#0 0x403c20ce in readv () from /lib/libc.so.6
#1 0x403c2166 in writev () from /lib/libc.so.6
#2 0x4027d61e in apr_socket_sendv ()
   from /usr/lib/libapr-0.so.0
#3 0x4027d922 in apr_sendv () from /usr/lib/libapr-0.so.0
#4 0x0808559a in ap_add_output_filters_by_type ()
#5 0x080867d7 in ap_core_translate ()
#6 0x0807f797 in ap_pass_brigade ()
#7 0x0807f797 in ap_pass_brigade ()
#8 0x40538081 in ssl_init_ModuleKill ()
   from /usr/lib/apache2/modules/mod_ssl.so
#9 0x40539352 in ssl_init_ModuleKill ()
   from /usr/lib/apache2/modules/mod_ssl.so
#10 0x0807f797 in ap_pass_brigade ()
#11 0x080636c8 in _start ()
#12 0x081eeb80 in ?? ()
#13 0x09517980 in ?? ()
#14 0x081f0660 in ?? ()
#15 0x09517980 in ?? ()
#16 0x42b32130 in ?? ()

(gdb) continue
Continuing.

Program received signal SIGPIPE, Broken pipe.
[Switching to Thread 360471 (LWP 25566)]
0x403c20ce in readv () from /lib/libc.so.6
(gdb) bt
#0 0x403c20ce in readv () from /lib/libc.so.6
#1 0x403c2166 in writev () from /lib/libc.so.6
#2 0x4027d5c2 in apr_socket_sendv ()
   from /usr/lib/libapr-0.so.0
#3 0x4027d922 in apr_sendv () from /usr/lib/libapr-0.so.0
#4 0x0808559a in ap_add_output_filters_by_type ()
#5 0x080867d7 in ap_core_translate ()
#6 0x0807f797 in ap_pass_brigade ()
#7 0x0807f797 in ap_pass_brigade ()
#8 0x40538081 in ssl_init_ModuleKill ()
   from /usr/lib/apache2/modules/mod_ssl.so
#9 0x40538190 in ssl_init_ModuleKill ()
   from /usr/lib/apache2/modules/mod_ssl.so
#10 0x400c6891 in BIO_write ()
   from /usr/lib/i686/cmov/libcrypto.so.0.9.7
#11 0x082a9a68 in ?? ()
#12 0x08cd5c28 in ?? ()
#13 0x00001f55 in ?? ()
#14 0x400c67f4 in BIO_write ()
   from /usr/lib/i686/cmov/libcrypto.so.0.9.7
#15 0x400581d0 in ?? ()
   from /usr/lib/i686/cmov/libssl.so.0.9.7
#16 0x08855d60 in ?? ()
#17 0xbcdffd9c in ?? ()
#18 0x08855f50 in ?? ()
#19 0x00000001 in ?? ()
#20 0x404165d0 in ?? () from /lib/libc.so.6
#21 0xbcdfcbb4 in ?? ()
#22 0x40040314 in ssl3_write_bytes ()
   from /usr/lib/i686/cmov/libssl.so.0.9.7
#23 0x082a9a68 in ?? ()
#24 0x08cd5c28 in ?? ()
#25 0x00001f55 in ?? ()
#26 0x400402d8 in ssl3_write_bytes ()
   from /usr/lib/i686/cmov/libssl.so.0.9.7
#27 0x400581d0 in ?? ()
   from /usr/lib/i686/cmov/libssl.so.0.9.7
#28 0x08cd5c2d in ?? ()

i tried in the meanwhile the checkouts were running:
$db4.1_deadlock -h /var/svn/rep/db -t2
(does not printanything)

system information:

-- System Information:
Debian Release: 3.0
Architecture: i386
Kernel: Linux 2.4.20-3-686-smp #1 SMP Sat Jun 7 23:35:32 EST 2003 i686
Locale: LANG=C, LC_CTYPE=C

Versions of packages subversion depends on:
ii db4.1-util 4.1.25-6 Berkeley v4.1 Database Utilities
ii libapr0 2.0.47-1 The Apache Portable Runtime
ii libc6 2.3.2-2 GNU C Library: Shared libraries an
ii libdb4.1 4.1.25-6 Berkeley v4.1 Database Libraries [
ii libexpat1 1.95.6-6 XML parsing C library - runtime li
ii libldap2 2.1.22-1 OpenLDAP libraries
ii libneon23 0.23.9-2 An HTTP and WebDAV client library
ii libssl0.9.7 0.9.7b-2 SSL shared libraries
ii libsvn0 0.26.0-1 Subversion shared libraries - in d
ii libxml2 2.5.8-1 GNOME XML library
ii patch 2.5.9-1 Apply a diff file to an original
ii zlib1g 1:1.1.4-14 compression library - runtime

-- no debconf information

some other commands i issued after the broken pipes, maybe they help (no activity on server):
# lsof | grep svn | wc
  2528 22752 246622
# lsof | grep svn | grep uuid | wc
    224 2016 20832
# ps -ef | grep apache | wc
     31 279 2270

a lsof excerpt:
apache2 25566 www-data 34u REG 104,6 8192 3142 /var/svn/rep/db/uuids
apache2 25566 www-data 45u REG 104,6 8192 3142 /var/svn/rep/db/uuids
apache2 25566 www-data 58u REG 104,6 8192 3142 /var/svn/rep/db/uuids
apache2 25566 www-data 78u REG 104,6 8192 3142 /var/svn/rep/db/uuids
apache2 25566 www-data 89u REG 104,6 8192 3142 /var/svn/rep/db/uuids
apache2 25566 www-data 100u REG 104,6 8192 3142 /var/svn/rep/db/uuids
apache2 25566 www-data 104u REG 104,6 8192 3142 /var/svn/rep/db/uuids
apache2 25566 www-data 144u REG 104,6 8192 3142 /var/svn/rep/db/uuids

after restarting apache with gdb as above, it looks like:

# ps -ef | grep apache | wc
     31 279 2270
# lsof | grep svn | wc
    149 1341 15728
# lsof | grep svn | grep uuid | wc
      0 0 0

one click in the browser gives:
# lsof | grep svn | grep uuid | wc
     28 252 2604

after the request is finished it is:
# lsof | grep svn | grep uuid | wc
      0 0 0

after a try to check out, there is no broken pipe in the gdb:
# lsof | grep svn | wc
    567 5103 56415
# lsof | grep svn | grep uuid | wc
     28 252 2604

without a recovery it does not work any more, so shut down apache, and do it:
$ db4.1_recover -vh /var/svn/rep/db
db_recover: Finding last valid log LSN: file: 708 offset 199059
db_recover: Recovery starting from [708][184433]
db_recover: Recovery complete at Sat Aug 16 20:00:22 2003
db_recover: Maximum transaction ID 800184f6 Recovery checkpoint [708][205197]
db_recover: Recovery complete at Sat Aug 16 20:00:22 2003
db_recover: Maximum transaction id 80000000 Recovery checkpoint [708][205197]

after restart, a checkout works again. pressing ctrl-c on the client can also result in a series
of broken pipe in gdb.

and again, after that:

# lsof | grep svn | grep uuid | wc
     28 252 2604
# lsof | grep svn | grep uuid | wc
     56 252 2604

from apache2.conf:

<IfModule worker.c>
StartServers 1 # was 2
MaxClients 50 # was 150
MinSpareThreads 0 # was 25
MaxSpareThreads 2 # was 75
ThreadsPerChild 25 # was 25
MaxRequestsPerChild 0
</IfModule>

--- Matt Kraai <kraai@alumni.cmu.edu> wrote:
> On Fri, Aug 15, 2003 at 01:24:09PM -0700, solo turn wrote:
> > doing load-tests with default svn delivered with debian resulted in timeouts in all commands
> after
> > 10 minutes runtime.
> >
> > we have no idea why this happens, processor usage stays near 0%, memory usage is stable, and i
> am
> > not able to see disk usage. top does not show it ... maybe there is something else? a rough
> guess
> > would be a locking problem, but i don't know how we could tell this. maybe with lsof?
>
> Would you please use gdb to print a backtrace?
>
> > we recompiled apache2 and svn with db40, and did the same load tests, and it worked fine.
> >
> > may i suggest to wait with supporting db41 until it gets more testing? or have two svn
> packages,
> > one experimental with db41, and one for real work with db40?
>
> This would require two versions of APR and Apache and I don't
> think Berkeley DB 4.0 works well on PowerPC.
>
> --
> Matt
>
> ---------------------------------------------------------------------
> 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, easy-to-use web site design software
http://sitebuilder.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Aug 16 20:23:36 2003

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.