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