You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Philip Martin <ph...@wandisco.com> on 2012/11/26 11:23:35 UTC

update_tests.py 60 FAIL over ra_serf

update_tests.py 60 attempts to update to HEAD+1 and expects it to fail.
This tests is failing over ra_serf, the update hangs in some way.  This
started with r1412651, which is just a wc change.

#0  0x00007f6a50738d43 in __epoll_wait_nocancel ()
    at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f6a50c29f83 in ?? () from /usr/lib/libapr-1.so.0
#2  0x00007f6a50c2ba5f in apr_pollset_poll () from
    /usr/lib/libapr-1.so.0
#3  0x00007f6a4dfa2258 in serf_context_run ()
   from /usr/local/serf/lib/libserf-1.so.0
#4  0x00007f6a4fbce0bc in svn_ra_serf__context_run_wait
    (done=0x7f6a52060c78, 
    sess=0x7f6a5208b118, scratch_pool=0x7f6a52060028)
    at ../src/subversion/libsvn_ra_serf/util.c:741
#5  0x00007f6a4fbba289 in svn_ra_serf__get_inherited_props (
    ra_session=0x7f6a5208b0f0, iprops=0x7fff0eb5b988,
    path=0x7f6a51c76d65 "", 
    revision=2, result_pool=0x7f6a52060028, scratch_pool=0x7f6a52060028)
    at ../src/subversion/libsvn_ra_serf/inherited_props.c:334
#6  0x00007f6a51728f19 in svn_ra_get_inherited_props
    (session=0x7f6a5208b0f0, 
    iprops=0x7fff0eb5b988, path=0x7f6a51c76d65 "", revision=2, 
    result_pool=0x7f6a52060028, scratch_pool=0x7f6a52060028)
    at ../src/subversion/libsvn_ra/ra_loader.c:1315
#7  0x00007f6a51c3dfcf in svn_client__get_inheritable_props (
    wcroot_iprops=0x7fff0eb5bba0, 
    local_abspath=0x7f6a52060168 "/home/pm/sw/subversion/obj/wc",
    revision=2, 
    depth=svn_depth_unknown, ra_session=0x7f6a5208b0f0,
    ctx=0x7f6a52012698, 
    result_pool=0x7f6a52060028, scratch_pool=0x7f6a52060028)
    at ../src/subversion/libsvn_client/iprops.c:155
#8  0x00007f6a51c6ff35 in update_internal (result_rev=0x7fff0eb5be58, 
    local_abspath=0x7f6a52060168 "/home/pm/sw/subversion/obj/wc", 
    anchor_abspath=0x7f6a52060340 "/home/pm/sw/subversion/obj/wc", 
    revision=0x7fff0eb5bd70, depth=svn_depth_unknown, depth_is_sticky=0, 
    ignore_externals=0, allow_unver_obstructions=0,
    adds_as_modification=1, 
    timestamp_sleep=0x7fff0eb5be64, notify_summary=1,
    ctx=0x7f6a52012698, 
    pool=0x7f6a52060028) at ../src/subversion/libsvn_client/update.c:379

The apache log contains:

[Mon Nov 26 10:23:00 2012] [error] [client ::1] No such revision 2 [500, #160006]

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download

Re: update_tests.py 60 FAIL over ra_serf

Posted by Philip Martin <ph...@wandisco.com>.
Philip Martin <ph...@wandisco.com> writes:

> The RA call is receiving a 500 response:

> The ra_serf library is reading this and then getting APR_EOF.  For some
> reason the ra_serf parsing code then loops forever expecting more data.

I can fix this by using svn_ra_serf__context_run_one rather than
svn_ra_serf__context_run_wait.

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download

Re: update_tests.py 60 FAIL over ra_serf

Posted by Philip Martin <ph...@wandisco.com>.
Philip Martin <ph...@wandisco.com> writes:

> Philip Martin <ph...@wandisco.com> writes:
>
>> Philip Martin <ph...@wandisco.com> writes:
>>
>>> update_tests.py 60 attempts to update to HEAD+1 and expects it to fail.
>>> This tests is failing over ra_serf, the update hangs in some way.  This
>>> started with r1412651, which is just a wc change.
>
>>> #6  0x00007f6a51728f19 in svn_ra_get_inherited_props
>>>     (session=0x7f6a5208b0f0, 
>>>     iprops=0x7fff0eb5b988, path=0x7f6a51c76d65 "", revision=2, 
>>>     result_pool=0x7f6a52060028, scratch_pool=0x7f6a52060028)
>>>     at ../src/subversion/libsvn_ra/ra_loader.c:1315
>>> #7  0x00007f6a51c3dfcf in svn_client__get_inheritable_props (
>>
>> The r1412650 client doesn't set needs_cached_iprops in
>> svn_client__get_inheritable_props and so doesn't call
>> svn_ra_get_inherited_props.
>>
>> The r1412651 client sets needs_cached_iprops, makes the call, and hangs.
>
> So this is a deliberate change:
>
> * subversion/libsvn_client/iprops.c
>   (need_to_cache_iprops): Use svn_wc_check_root() to work properly on files
>     and just return TRUE for the repository root as fetching from the wc is
>     just as expensive as testing for the wcroot.
>
> I don't understand the iprops code yet.  This change is causing an extra
> RA call to occur and I don't know whether this extra call is required
> for correct behaviour and so ommitting it is a bug, or whether omitting
> it is merely an optimisation.

The RA call is receiving a 500 response:

  HTTP/1.1 500 Internal Server Error

  Date: Mon, 26 Nov 2012 12:26:50 GMT

  Server: Apache/2.2.22 (Ubuntu) mod_ssl/2.2.22 OpenSSL/1.0.1 DAV/2
  SVN/1.8.0-dev

  Content-Length: 214

  Connection: close

  Content-Type: text/xml; charset="utf-8"



  <?xml version="1.0" encoding="utf-8"?>
  <D:error xmlns:D="DAV:" xmlns:m="http://apache.org/dav/xmlns"
  xmlns:C="svn:">
  <C:error/>
  <m:human-readable errcode="160006">
  No such revision 2
  </m:human-readable>
  </D:error>

The ra_serf library is reading this and then getting APR_EOF.  For some
reason the ra_serf parsing code then loops forever expecting more data.

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download

Re: update_tests.py 60 FAIL over ra_serf

Posted by Philip Martin <ph...@wandisco.com>.
Philip Martin <ph...@wandisco.com> writes:

> Philip Martin <ph...@wandisco.com> writes:
>
>> update_tests.py 60 attempts to update to HEAD+1 and expects it to fail.
>> This tests is failing over ra_serf, the update hangs in some way.  This
>> started with r1412651, which is just a wc change.

>> #6  0x00007f6a51728f19 in svn_ra_get_inherited_props
>>     (session=0x7f6a5208b0f0, 
>>     iprops=0x7fff0eb5b988, path=0x7f6a51c76d65 "", revision=2, 
>>     result_pool=0x7f6a52060028, scratch_pool=0x7f6a52060028)
>>     at ../src/subversion/libsvn_ra/ra_loader.c:1315
>> #7  0x00007f6a51c3dfcf in svn_client__get_inheritable_props (
>
> The r1412650 client doesn't set needs_cached_iprops in
> svn_client__get_inheritable_props and so doesn't call
> svn_ra_get_inherited_props.
>
> The r1412651 client sets needs_cached_iprops, makes the call, and hangs.

So this is a deliberate change:

* subversion/libsvn_client/iprops.c
  (need_to_cache_iprops): Use svn_wc_check_root() to work properly on files
    and just return TRUE for the repository root as fetching from the wc is
    just as expensive as testing for the wcroot.

I don't understand the iprops code yet.  This change is causing an extra
RA call to occur and I don't know whether this extra call is required
for correct behaviour and so ommitting it is a bug, or whether omitting
it is merely an optimisation.


-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download

Re: update_tests.py 60 FAIL over ra_serf

Posted by Philip Martin <ph...@wandisco.com>.
Philip Martin <ph...@wandisco.com> writes:

> update_tests.py 60 attempts to update to HEAD+1 and expects it to fail.
> This tests is failing over ra_serf, the update hangs in some way.  This
> started with r1412651, which is just a wc change.
>
> #0  0x00007f6a50738d43 in __epoll_wait_nocancel ()
>     at ../sysdeps/unix/syscall-template.S:82
> #1  0x00007f6a50c29f83 in ?? () from /usr/lib/libapr-1.so.0
> #2  0x00007f6a50c2ba5f in apr_pollset_poll () from
>     /usr/lib/libapr-1.so.0
> #3  0x00007f6a4dfa2258 in serf_context_run ()
>    from /usr/local/serf/lib/libserf-1.so.0
> #4  0x00007f6a4fbce0bc in svn_ra_serf__context_run_wait
>     (done=0x7f6a52060c78, 
>     sess=0x7f6a5208b118, scratch_pool=0x7f6a52060028)
>     at ../src/subversion/libsvn_ra_serf/util.c:741
> #5  0x00007f6a4fbba289 in svn_ra_serf__get_inherited_props (
>     ra_session=0x7f6a5208b0f0, iprops=0x7fff0eb5b988,
>     path=0x7f6a51c76d65 "", 
>     revision=2, result_pool=0x7f6a52060028, scratch_pool=0x7f6a52060028)
>     at ../src/subversion/libsvn_ra_serf/inherited_props.c:334
> #6  0x00007f6a51728f19 in svn_ra_get_inherited_props
>     (session=0x7f6a5208b0f0, 
>     iprops=0x7fff0eb5b988, path=0x7f6a51c76d65 "", revision=2, 
>     result_pool=0x7f6a52060028, scratch_pool=0x7f6a52060028)
>     at ../src/subversion/libsvn_ra/ra_loader.c:1315
> #7  0x00007f6a51c3dfcf in svn_client__get_inheritable_props (

The r1412650 client doesn't set needs_cached_iprops in
svn_client__get_inheritable_props and so doesn't call
svn_ra_get_inherited_props.

The r1412651 client sets needs_cached_iprops, makes the call, and hangs.

>     wcroot_iprops=0x7fff0eb5bba0, 
>     local_abspath=0x7f6a52060168 "/home/pm/sw/subversion/obj/wc",
>     revision=2, 
>     depth=svn_depth_unknown, ra_session=0x7f6a5208b0f0,
>     ctx=0x7f6a52012698, 
>     result_pool=0x7f6a52060028, scratch_pool=0x7f6a52060028)
>     at ../src/subversion/libsvn_client/iprops.c:155
> #8  0x00007f6a51c6ff35 in update_internal (result_rev=0x7fff0eb5be58, 
>     local_abspath=0x7f6a52060168 "/home/pm/sw/subversion/obj/wc", 
>     anchor_abspath=0x7f6a52060340 "/home/pm/sw/subversion/obj/wc", 
>     revision=0x7fff0eb5bd70, depth=svn_depth_unknown, depth_is_sticky=0, 
>     ignore_externals=0, allow_unver_obstructions=0,
>     adds_as_modification=1, 
>     timestamp_sleep=0x7fff0eb5be64, notify_summary=1,
>     ctx=0x7f6a52012698, 
>     pool=0x7f6a52060028) at ../src/subversion/libsvn_client/update.c:379
>
> The apache log contains:
>
> [Mon Nov 26 10:23:00 2012] [error] [client ::1] No such revision 2 [500, #160006]
>
> -- 
> Certified & Supported Apache Subversion Downloads:
> http://www.wandisco.com/subversion/download
>

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download