You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Christopher Nehren <ap...@coitusmentis.info> on 2005/03/31 01:20:45 UTC
Problems with diff over DAV, but ci, co, log, etc. work fine, all is well with svnserve
I'm running into a problem with running 'svn diff' on any of my
repositories when I try to access the repository via DAV. Here's the
output that I see:
[(20:13:00) apeiron@prophecy ~/blah] svn diff -r1
svn: REPORT request failed on '/repos/blah/!svn/vcc/default'
svn: REPORT of '/repos/blah/!svn/vcc/default': Could not read status \
line: connection was closed by server. (http://adjunct)
httpd-access.log:
192.168.0.5 - - [30/Mar/2005:20:13:23 -0500] "PROPFIND /repos/blah \
HTTP/1.1" 207 651 "-" "SVN/1.1.3 (r12730) neon/0.24.7"
httpd-error.log:
[Wed Mar 30 20:13:23 2005] [notice] child pid 13495 exit signal \
Segmentation fault (11)
[Wed Mar 30 20:13:25 2005] [notice] child pid 13595 exit signal \
Segmentation fault (11)
I'm running on FreeBSD 5.4-BETA1, though I also saw this on FreeBSD
4.10-STABLE from a long time ago. The Apache is 2.0.53. I've tried
removing the vhosts from my setup, I've tried running the default
configuration file with the SVN bits -- I even reinstalled my
non-Windows OS(!) to try to get this fixed, but the error is still
there. I'm quite convinced that it's something with my Apache setup, but
I'm not sure where to look.
I'd *really* like to avoid having to rebuild Subversion and Apache with
debug symbols, considering that
1. It's a Pentium 233. :) Hardware donations welcome.
2. The web server serves other content, and I don't want to interfere
with that any more than I have already.
With this in mind, does anyone have any suggestions for what I might try
to be able to fix this? I've been quite frustrated with this for over a
week now. Any additional information is freely available; ask and ye
shall receive.
P.S.: Subversion rocks. Once I get this minor nit fixed, I'm going to
suggest it to the FreeBSD developers once more, and point them to KDE
switching to it. :D
Best Regards,
Christopher Nehren
--
I abhor a system designed for the "user", if that word is a coded
pejorative meaning "stupid and unsophisticated". -- Ken Thompson
If you ask the wrong questions, you get answers like "42" and "God".
Unix is user friendly. However, it isn't idiot friendly.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Problems with diff over DAV, but ci, co, log, etc. work fine, all is well with svnserve
Posted by Christopher Nehren <ap...@coitusmentis.info>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 2005-03-31, Ben Collins-Sussman scribbled these
curious markings:
> So yeah, rebuild all the svn libraries (and mod_dav_svn) with
> --enable-maintainer-mode, then fire up gdb on the httpd binary, and
> tell gdb to 'run -X'. Get a detailed backtrace of the segfault,
> assuming you can still reproduce the crash.
Sorry for the delay. Had to arrange a time that I could take down the
httpd, and rebuild everything involved (which included an update to both
svn and httpd, and that required me to rebuild mod_perl *sigh*). Things
have gotten much worse since my initial posting, though. svn likes to go
into a frozen state that I can only kill by using ^Z and kill (^C won't
work) when I try to check out any repository. I've tried recreating my
repositories a dozen times (and each time losing revision history ...
*sigh*) and it's never solved anything. I now have a backtrace, though.
Here it is:
- -- cut --
(gdb) cont
Continuing.
Program received signal SIGBUS, Bus error.
[Switching to Thread 14 (LWP 100117)]
0x285f998e in compare_files (changed_p=0xbfabaabc, root1=0x824d050, path1=0x8273060 "/DictServer.cs", root2=0x8255050,
path2=0x8273070 "/DictServer.cs", pool=0x8273018) at subversion/libsvn_repos/reporter.c:421
421 {
(gdb)
bt
#0 0x285f998e in compare_files (changed_p=0xbfabaabc, root1=0x824d050, path1=0x8273060 "/DictServer.cs", root2=0x8255050,
path2=0x8273070 "/DictServer.cs", pool=0x8273018) at subversion/libsvn_repos/reporter.c:421
#1 0x285f9d3e in delta_files (b=0x823f8b0, file_baton=0x82730d0, s_rev=1, s_path=0x8273070 "/DictServer.cs",
t_path=0x8273060 "/DictServer.cs", pool=0x8273018) at subversion/libsvn_repos/reporter.c:510
#2 0x285fa41b in update_entry (b=0x823f8b0, s_rev=1, s_path=0x8273070 "/DictServer.cs", s_entry=0x8267730,
t_path=0x8273060 "/DictServer.cs", t_entry=0x826d730, dir_baton=0x82361e0, e_path=0x8273050 "DictServer.cs", info=0x0,
recurse=1, pool=0x8273018) at subversion/libsvn_repos/reporter.c:689
#3 0x285fa806 in delta_dirs (b=0x823f8b0, s_rev=1, s_path=0x82360a0 "/", t_path=0x285ea098 "/", dir_baton=0x82361e0,
e_path=0x285fea17 "", start_empty=0, pool=0x8237018) at subversion/libsvn_repos/reporter.c:776
#4 0x285faba6 in drive (b=0x823f8b0, s_rev=1, info=0x8236028, pool=0x8237018) at subversion/libsvn_repos/reporter.c:852
#5 0x285faed4 in finish_report (b=0x823f8b0, pool=0x8237018) at subversion/libsvn_repos/reporter.c:913
#6 0x285fb08f in svn_repos_finish_report (baton=0x823f8b0, pool=0x8237018) at subversion/libsvn_repos/reporter.c:965
#7 0x285e4119 in dav_svn__update_report (resource=0x823f670, doc=0x823f2a0, output=0x8237cc0)
at /usr/ports/devel/subversion/work/subversion-1.1.4/subversion/mod_dav_svn/update.c:1384
#8 0x285e6451 in dav_svn_deliver_report (r=0x8237050, resource=0x823f670, doc=0x823f2a0, output=0x8237cc0)
at /usr/ports/devel/subversion/work/subversion-1.1.4/subversion/mod_dav_svn/version.c:1051
#9 0x285c90dd in dav_method_report (r=0x8237050) at mod_dav.c:4042
#10 0x285ca1a4 in dav_handler (r=0x8237050) at mod_dav.c:4678
#11 0x0806bab2 in ap_run_handler (r=0x8237050) at config.c:152
#12 0x0806c231 in ap_invoke_handler (r=0x8237050) at config.c:364
#13 0x08066d28 in ap_process_request (r=0x8237050) at http_request.c:249
#14 0x08060f4f in ap_process_http_connection (c=0x822f140) at http_core.c:251
#15 0x08076e3a in ap_run_process_connection (c=0x822f140) at connection.c:43
#16 0x08077234 in ap_process_connection (c=0x822f140, csd=0x822f050) at connection.c:176
- ---Type <return> to continue, or q <return> to quit---
#17 0x08068204 in process_socket (p=0x822f018, sock=0x822f050, my_child_num=0, my_thread_num=2, bucket_alloc=0x8231018)
at worker.c:521
#18 0x08068997 in worker_thread (thd=0x8157340, dummy=0x81bb960) at worker.c:835
#19 0x283fae90 in dummy_worker (opaque=0x8157340) at thread.c:105
#20 0x28440af1 in pthread_create () from /usr/lib/libpthread.so.1
#21 0x284fb0df in _ctx_start () from /lib/libc.so.5
(gdb) bt full
#0 0x285f998e in compare_files (changed_p=0xbfabaabc, root1=0x824d050, path1=0x8273060 "/DictServer.cs", root2=0x8255050,
path2=0x8273070 "/DictServer.cs", pool=0x8273018) at subversion/libsvn_repos/reporter.c:421
size1 = 2909207746033693320
size2 = 2908925343343923280
digest1 = "°Ò(\b\001\000\000\000hª«¿N\225_("
digest2 = "\000\000\000\000\200µ^(\000\000\000\000è\022)\b"
stream1 = (svn_stream_t *) 0x0
stream2 = (svn_stream_t *) 0x8273288
buf1 = Error accessing memory address 0xbfaa1a10: Bad address.
(gdb) frame
#0 0x285f998e in compare_files (changed_p=0xbfabaabc, root1=0x824d050, path1=0x8273060 "/DictServer.cs", root2=0x8255050,
path2=0x8273070 "/DictServer.cs", pool=0x8273018) at subversion/libsvn_repos/reporter.c:421
421 {
(gdb) list
416 different contents, FALSE if they have the same contents. */
417 static svn_error_t *
418 compare_files (svn_boolean_t *changed_p, svn_fs_root_t *root1,
419 const char *path1, svn_fs_root_t *root2, const char *path2,
420 apr_pool_t *pool)
421 {
422 svn_filesize_t size1, size2;
423 unsigned char digest1[APR_MD5_DIGESTSIZE], digest2[APR_MD5_DIGESTSIZE];
424 svn_stream_t *stream1, *stream2;
425 char buf1[SVN_STREAM_CHUNK_SIZE], buf2[SVN_STREAM_CHUNK_SIZE];
(gdb)
- -- cut --
Thanks in advance for any assistance with this. svn really rocks when it
works. You guys should see all the advocacy work I do for you. ;)
Best Regards,
Christopher Nehren
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (FreeBSD)
iD8DBQFCgl5kk/lo7zvzJioRAtXaAJ0aGOVGV95Ep8twA59B1KPV1vV7dgCePCB3
VplOhUvPd4ZZwADIItZ+Tq0=
=QGga
-----END PGP SIGNATURE-----
--
I abhor a system designed for the "user", if that word is a coded
pejorative meaning "stupid and unsophisticated". -- Ken Thompson
If you ask the wrong questions, you get answers like "42" and "God".
Unix is user friendly. However, it isn't idiot friendly.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Problems with diff over DAV, but ci, co, log, etc. work fine, all is well with svnserve
Posted by Ben Collins-Sussman <su...@collab.net>.
On Mar 30, 2005, at 7:20 PM, Christopher Nehren wrote:
>
> I'd *really* like to avoid having to rebuild Subversion and Apache with
> debug symbols, considering that
When httpd segfaults, there's really nothing to do but run httpd in gdb
and see why it's segfaulting. Most often it's because of a messed up
server installation -- mismatched libraries, for example. We have no
known segfault bugs. :-)
So yeah, rebuild all the svn libraries (and mod_dav_svn) with
--enable-maintainer-mode, then fire up gdb on the httpd binary, and
tell gdb to 'run -X'. Get a detailed backtrace of the segfault,
assuming you can still reproduce the crash.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org