You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2013/02/26 19:33:05 UTC

svn commit: r1450341 - /subversion/trunk/subversion/libsvn_client/copy.c

Author: rhuijben
Date: Tue Feb 26 18:33:04 2013
New Revision: 1450341

URL: http://svn.apache.org/r1450341
Log:
* subversion/libsvn_client/copy.c
  (wc_to_repos_copy): Temporarily revert the introduction of the session pool
    of r1450279 in an attempt to unbreak the javahl tests. Do this by simply
    setting the session pool to the provided scratch pool.

Modified:
    subversion/trunk/subversion/libsvn_client/copy.c

Modified: subversion/trunk/subversion/libsvn_client/copy.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/copy.c?rev=1450341&r1=1450340&r2=1450341&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/copy.c (original)
+++ subversion/trunk/subversion/libsvn_client/copy.c Tue Feb 26 18:33:04 2013
@@ -1230,7 +1230,7 @@ wc_to_repos_copy(const apr_array_header_
   apr_array_header_t *new_dirs = NULL;
   apr_hash_t *commit_revprops;
   svn_client__copy_pair_t *first_pair;
-  apr_pool_t *session_pool = svn_pool_create(scratch_pool);
+  apr_pool_t *session_pool = scratch_pool; /*svn_pool_create(scratch_pool); */
   int i;
 
   /* Find the common root of all the source paths */
@@ -1474,7 +1474,7 @@ wc_to_repos_copy(const apr_array_header_
 #endif
 
   /* Close the initial session, to reopen a new session with commit handling */
-  svn_pool_clear(session_pool);
+  /*svn_pool_clear(session_pool);*/
 
   /* Open a new RA session to DST_URL. */
   SVN_ERR(svn_client__open_ra_session_internal(&ra_session, NULL, top_dst_url,
@@ -1501,7 +1501,7 @@ wc_to_repos_copy(const apr_array_header_
             _("Commit failed (details follow):"));
 
   svn_pool_destroy(iterpool);
-  svn_pool_destroy(session_pool);
+  /*svn_pool_destroy(session_pool);*/
 
   return SVN_NO_ERROR;
 }



Re: svn commit: r1450341 - /subversion/trunk/subversion/libsvn_client/copy.c

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

> rhuijben@apache.org writes:
>
>> Author: rhuijben
>> Date: Tue Feb 26 18:33:04 2013
>> New Revision: 1450341
>>
>> URL: http://svn.apache.org/r1450341
>> Log:
>> * subversion/libsvn_client/copy.c
>>   (wc_to_repos_copy): Temporarily revert the introduction of the session pool
>>     of r1450279 in an attempt to unbreak the javahl tests. Do this by simply
>>     setting the session pool to the provided scratch pool.
>
> The SEGV happens in testCopy in BasicTests.java, it's the second call to
> svn_client_copy6 that fails but if I remove that from the test it still
> fails.

What I meant to say was that if I remove the first call to
svn_client_copy6 from the test then what was the second call and is now
the first call still fails.  With r1450501 the crash no longer occurs.

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

Re: svn commit: r1450341 - /subversion/trunk/subversion/libsvn_client/copy.c

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

> Author: rhuijben
> Date: Tue Feb 26 18:33:04 2013
> New Revision: 1450341
>
> URL: http://svn.apache.org/r1450341
> Log:
> * subversion/libsvn_client/copy.c
>   (wc_to_repos_copy): Temporarily revert the introduction of the session pool
>     of r1450279 in an attempt to unbreak the javahl tests. Do this by simply
>     setting the session pool to the provided scratch pool.

The SEGV happens in testCopy in BasicTests.java, it's the second call to
svn_client_copy6 that fails but if I remove that from the test it still
fails.  It appears to be an interaction between Bert's pool change of
r1450279, Stefan's caching change of r1094134 and JavaHL pool
management.

gdb shows:

Program received signal SIGSEGV, Segmentation fault.
0x00007fffea54eb2b in remove_txn_cache (baton_void=0x7ffff0141c80)
    at ../src/subversion/libsvn_fs_fs/caching.c:547
547	  if (*baton->to_reset == baton->txn_cache)

(gdb) p baton->txn_cache
$13 = (svn_cache__t *) 0x7ffff0142a28

(gdb) p baton->to_reset
$14 = (svn_cache__t **) 0x7ffff7e27120
(gdb) p baton->to_reset[0]
Cannot access memory at address 0x7ffff7e27120

(gdb) bt
#0  0x00007fffea54eb2b in remove_txn_cache (baton_void=0x7ffff0142c80)
    at ../src/subversion/libsvn_fs_fs/caching.c:547
#1  0x00007fffeb50a957 in ?? () from /usr/lib/libapr-1.so.0
#2  0x00007fffeb5097e9 in apr_pool_destroy () from /usr/lib/libapr-1.so.0
#3  0x00007fffeb5097cc in apr_pool_destroy () from /usr/lib/libapr-1.so.0
#4  0x00007fffeb5097cc in apr_pool_destroy () from /usr/lib/libapr-1.so.0
#5  0x00007fffeb50ad2e in apr_pool_destroy_debug () from /usr/lib/libapr-1.so.0
#6  0x00007ffff08d8617 in svn_client_copy6 (sources=0x7ffff7e360a0, 
    dst_path=0x7fffec02e878 "file:///home/pm/sw/subversion/obj/subversion/bindings/javahl/test-work/repositories/basic_test7/parent/A/B", copy_as_child=1, 
    make_parents=1, ignore_externals=0, revprop_table=0x0, 
    commit_callback=0x7ffff0da8ce0 <CommitCallback::callback(svn_commit_info_t const*, void*, apr_pool_t*)>, commit_baton=0x0, ctx=0x7ffff7e380a0, 
    pool=0x7ffff7e36028) at ../src/subversion/libsvn_client/copy.c:2295
#7  0x00007ffff0db8571 in SVNClient::copy (this=0x7fffec01a230, 
    copySources=..., 
    destPath=0x7fffec06bbc0 "file:///home/pm/sw/subversion/obj/subversion/bindings/javahl/test-work/repositories/basic_test7/parent/A/B", 
    message=0x7ffff7fd8bd0, copyAsChild=true, makeParents=true, 
    ignoreExternals=false, revprops=..., callback=0x0)
    at ../src/subversion/bindings/javahl/native/SVNClient.cpp:422
#8  0x00007ffff0dc4ad3 in Java_org_apache_subversion_javahl_SVNClient_copy (
    env=0x60a9d0, jthis=0x7ffff7fd8d30, jcopySources=0x7ffff7fd8d28, 
    jdestPath=0x7ffff7fd8d20, jcopyAsChild=1 '\001', jmakeParents=1 '\001', 
    jignoreExternals=0 '\000', jrevpropTable=0x0, jmessage=0x7ffff7fd8cf8, 
    jcallback=0x0)
    at ../src/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp:529


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