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

RE: svn commit: r1443705 - /subversion/trunk/subversion/libsvn_ra_serf/commit.c

From: Bert Huijben <bert_at_qqmail.nl>
Date: Fri, 8 Feb 2013 00:18:11 +0000

Thanks for confirming the problem I expected to see when I wrote r1443705.

Now we just have to find a proper fix.
(I think r1443705 can be reverted as this trick clearly doesn’t work)

Bert

Sent from Windows Mail

 *From:* Philip Martin <codematters_at_ntlworld.com>
*Sent:* February 8, 2013 1:06 AM
*To:* Philip Martin <codematters_at_ntlworld.com>
*CC:* Bert Huijben <bert_at_qqmail.nl>,dev_at_subversion.apache.org
*Subject:* Re: svn commit: r1443705 -
/subversion/trunk/subversion/libsvn_ra_serf/commit.c

Philip Martin <codematters_at_ntlworld.com> writes:

>> $ gdb -arg ../../svn/.libs/lt-svn info
http://localhost:1531/svn-test-work/repositories/REDIRECT-TEMP-redirect_tests-1--config-dir
/home/bt/packages/subversion-trunk/subversion/tests/cmdline/svn-test-work/local_tmp/config
--password rayjandom --no-auth-cache --username jrandom
>> (gdb) b response_get_location
>> (gdb) r
>> Breakpoint 1, response_get_location (response=0xeb580f8,
repos_root_url=0x0,
>> pool=0xeb3bfa8) at subversion/libsvn_ra_serf/util.c:1000
>> 1000 headers = serf_bucket_response_get_headers(response);
>> (gdb) n
>> 1001 location = serf_bucket_headers_get(headers, "Location");
>> (gdb)
>> 1002 if (location == NULL)
>> (gdb)
>> 1007 if (*location == '/')
>> (gdb)
>> 1009 const char *root_url = repos_root_url;
>> (gdb) p *location
>> $2 = 47 '/'
>> (gdb) n
>> 1011 while (! svn_uri_is_root(root_url, strlen(root_url)))
>> (gdb) n
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x00002b82e9c48951 in response_get_location (response=0xeb580f8,
>> repos_root_url=0x0, pool=0xeb3bfa8)
>> at subversion/libsvn_ra_serf/util.c:1011
>> 1011 while (! svn_uri_is_root(root_url, strlen(root_url)))
>
> What I should have printed:
>
> (gdb) p location
> $3 = 0x16d36de8 "/svn-test-work/repositories/redirect_tests-1"
> (gdb) p root_url
> $4 = 0x0
> (gdb) p repos_root_url
> $5 = 0x0

Comparing to my own machine with serf 1.2 and apr 1.4.6 I get

(gdb) p location
$1 = 0x6642a8 "
http://localhost:8888/svn-test-work/repositories/redirect_tests-1"
(gdb) p repos_root_url
$2 = 0x0

So the different location avoids the code that uses the NULL
repos_root_url.

--
Philip
Received on 2013-02-08 01:18:46 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.