Philip Martin <codematt...@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