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

Re: Segfault during "svn info"

From: Jens Seidel <jensseidel_at_users.sf.net>
Date: Sun, 16 Nov 2008 17:53:20 +0100

On Sat, Nov 15, 2008 at 09:27:57PM +0100, Arfrever Frehtes Taifersar Arahesis wrote:
> 2008-10-28 17:14:39 Jens Seidel napisaƂ(a):
> > On Tue, Oct 21, 2008 at 02:30:08PM +0200, Jens Seidel wrote:
> > > there seems again a problem if the URL of a repository is like
> > > svn+ssh://svn@10.0.1.1. I'm using trunk, r33797.
> >
> > Updated to r33925, problem still exists.
>
> If problem still exists in >=r34218, then could you write reproduction script?

I tried r34225 and the situation improved. Subversion still crashs but only on
an older working copy accessed previously with r33925 (this may be OK?). It was
left in an unclean state by this older svn trunk.

Checking out a repository again with current trunk fails now (but at least
doesn't crash) :-(

Please note that I only updated the client. The server still uses 1.5.x.
 
$ svn cleanup

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47116375701120 (LWP 8732)]
0x00002ada2100e056 in svn_uri_is_canonical (
    uri=0x6653b0 "svn+ssh://svn@10.0.1.1")
    at subversion/libsvn_subr/dirent_uri.c:1029
1029 while (*ptr != '/')
(gdb) bt
#0 0x00002ada2100e056 in svn_uri_is_canonical (
    uri=0x6653b0 "svn+ssh://svn@10.0.1.1")
    at subversion/libsvn_subr/dirent_uri.c:1029
#1 0x00002ada2101fc18 in svn_path_is_canonical (
    path=0x6653b0 "svn+ssh://svn@10.0.1.1", pool=0x658088)
    at subversion/libsvn_subr/path.c:1013
#2 0x00002ada1fb05416 in read_url (result=0x665280, buf=0x7fff8b433838,
    end=0x651812 "", wc_format=10, pool=0x658088)
    at subversion/libsvn_wc/entries.c:218
#3 0x00002ada1fb05eb3 in read_entry (new_entry=0x7fff8b433830,
    buf=0x7fff8b433838, end=0x651812 "", entries_format=10, pool=0x658088)
    at subversion/libsvn_wc/entries.c:518
#4 0x00002ada1fb089cd in read_entries (adm_access=0x6581e8, show_hidden=1,
    scratch_pool=0x658088) at subversion/libsvn_wc/entries.c:1416
#5 0x00002ada1fb08dfc in svn_wc_entries_read (entries=0x7fff8b433978,
    adm_access=0x6581e8, show_hidden=0, pool=0x658088)
    at subversion/libsvn_wc/entries.c:1649
#6 0x00002ada1fb15998 in svn_wc_cleanup2 (path=0x65a2b0 "", diff3_cmd=0x0,
    cancel_func=0x40f115 <svn_cl__check_cancel>, cancel_baton=0x0,
    pool=0x658088) at subversion/libsvn_wc/log.c:2443
#7 0x00002ada1f8a3113 in svn_client_cleanup (dir=0x65a2b0 "", ctx=0x644b38,
    pool=0x658088) at subversion/libsvn_client/cleanup.c:51
#8 0x000000000040703d in svn_cl__cleanup (os=0x644430, baton=0x7fff8b433c60,
    pool=0x6441f8) at subversion/svn/cleanup-cmd.c:60
#9 0x0000000000411725 in main (argc=2, argv=0x7fff8b433fb8)
    at subversion/svn/main.c:2012

$ svn info

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47345591486080 (LWP 8743)]
0x00002b0f7f543056 in svn_uri_is_canonical (
    uri=0x665270 "svn+ssh://svn@10.0.1.1")
    at subversion/libsvn_subr/dirent_uri.c:1029
1029 while (*ptr != '/')
(gdb) bt
#0 0x00002b0f7f543056 in svn_uri_is_canonical (
    uri=0x665270 "svn+ssh://svn@10.0.1.1")
    at subversion/libsvn_subr/dirent_uri.c:1029
#1 0x00002b0f7f554c18 in svn_path_is_canonical (
    path=0x665270 "svn+ssh://svn@10.0.1.1", pool=0x658088)
    at subversion/libsvn_subr/path.c:1013
#2 0x00002b0f7e03a416 in read_url (result=0x665140, buf=0x7fff2cefd0d8,
    end=0x651812 "", wc_format=10, pool=0x658088)
    at subversion/libsvn_wc/entries.c:218
#3 0x00002b0f7e03aeb3 in read_entry (new_entry=0x7fff2cefd0d0,
    buf=0x7fff2cefd0d8, end=0x651812 "", entries_format=10, pool=0x658088)
    at subversion/libsvn_wc/entries.c:518
#4 0x00002b0f7e03d9cd in read_entries (adm_access=0x658210, show_hidden=1,
    scratch_pool=0x658088) at subversion/libsvn_wc/entries.c:1416
#5 0x00002b0f7e03ddfc in svn_wc_entries_read (entries=0x7fff2cefd1d0,
    adm_access=0x658210, show_hidden=0, pool=0x658088)
    at subversion/libsvn_wc/entries.c:1649
#6 0x00002b0f7e03dc85 in svn_wc_entry (entry=0x7fff2cefd270,
    path=0x65a2b0 "", adm_access=0x658210, show_hidden=0, pool=0x658088)
    at subversion/libsvn_wc/entries.c:1494
#7 0x00002b0f7e041788 in svn_wc_walk_entries3 (path=0x65a2b0 "",
    adm_access=0x658210, walk_callbacks=0x2b0f7e019c10,
    walk_baton=0x7fff2cefd300, depth=svn_depth_empty, show_hidden=0,
    cancel_func=0x40f115 <svn_cl__check_cancel>, cancel_baton=0x0,
    pool=0x658088) at subversion/libsvn_wc/entries.c:3286
#8 0x00002b0f7ddf150d in crawl_entries (wcpath=0x65a2b0 "",
    receiver=0x40bcfc <print_info>, receiver_baton=0x0, depth=svn_depth_empty,
    changelist_hash=0x0, ctx=0x644b38, pool=0x658088)
    at subversion/libsvn_client/info.c:352
#9 0x00002b0f7ddf1745 in svn_client_info2 (path_or_url=0x65a2b0 "",
    peg_revision=0x7fff2cefd510, revision=0x7fff2cefd758,
    receiver=0x40bcfc <print_info>, receiver_baton=0x0, depth=svn_depth_empty,
    changelists=0x644490, ctx=0x644b38, pool=0x658088)
    at subversion/libsvn_client/info.c:441
#10 0x000000000040ce51 in svn_cl__info (os=0x644430, baton=0x7fff2cefd730,
    pool=0x6441f8) at subversion/svn/info-cmd.c:509
#11 0x0000000000411725 in main (argc=2, argv=0x7fff2cefda88)
    at subversion/svn/main.c:2012

Trying to check out the project again is not possible:

$ svn co svn+ssh://svn@10.0.1.1/MyProject/trunk MyProject.trunk.unchanged
subversion/libsvn_wc/entries.c:1430: (apr_err=155016)
svn: Error at entry 1 in entries file for 'MyProject.trunk.unchanged':
subversion/libsvn_wc/entries.c:219: (apr_err=155016)
svn: Entry contains non-canonical path 'svn+ssh://svn@10.0.1.1'

It is reproducable (with a trivial repository) as follows:

# Initialize server
ssh jens_at_10.0.1.1
svnadmin create /tmp/repos.tmp

~/.ssh/authorized_keys:
command="/home/jens/local/subversion1.5/bin/svnserve -t -r /tmp/repos.tmp --tunnel-user=jens",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAAB...[snip]...1E= jens_at_client-pc

# client side

$ svn co svn+ssh://jens@10.0.1.1@ wc
subversion/libsvn_wc/entries.c:1430: (apr_err=155016)
svn: Error at entry 1 in entries file for 'wc':
subversion/libsvn_wc/entries.c:219: (apr_err=155016)
svn: Entry contains non-canonical path 'svn+ssh://jens@10.0.1.1'

It works without "jens@" so it should be possible to workaround this by
adapting the ssh configuration.

Jens

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-11-16 17:54:55 CET

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.