The openbsd buildbot failed:

http://ci.apache.org/builders/bb-openbsd/builds/1139

like this:

tree_conflicts_tests-23 is failing when importing a file that

2012-04-22 16:55:49 [WARNING] subversion/svn/import-cmd.c:127: (apr_err=2)
subversion/libsvn_client/commit.c:971: (apr_err=2)
subversion/libsvn_client/commit.c:971: (apr_err=2)
subversion/libsvn_client/commit.c:631: (apr_err=2)
subversion/libsvn_subr/io.c:2425: (apr_err=2)
subversion/libsvn_subr/io.c:3406: (apr_err=2)
svn: E000002: Can't stat 
'/home/buildslave16/slave16/bb-openbsd/build/subversion/tests/cmdline/svn-test-work/working_copies/tree_conflict_tests-23/A/foo':
 No such file or directory

2012-04-22 16:55:49 [WARNING] CMD: 
/home/buildslave16/slave16/bb-openbsd/build/subversion/svn/svn import -m 'File 
'\''/home/buildslave16/slave16/bb-openbsd/svn-trunk/subversion/tests/cmdline/tree_conflict_tests.py'\'',
 line 1221, in actual_only_node_behaviour' 
svn-test-work/working_copies/tree_conflict_tests-23/A/foo 
http://localhost:8081/svn-test-work/repositories/tree_conflict_tests-23/foo_imported
 --config-dir 
/home/buildslave16/slave16/bb-openbsd/build/subversion/tests/cmdline/svn-test-work/local_tmp/config
 --password rayjandom --no-auth-cache --username jrandom terminated by signal 11
2012-04-22 16:55:49 [WARNING] CWD: 
/home/buildslave16/slave16/bb-openbsd/build/subversion/tests/cmdline
2012-04-22 16:55:49 [WARNING] EXCEPTION: SVNProcessTerminatedBySignal
Traceback (most recent call last):
  File 
"/home/buildslave16/slave16/bb-openbsd/svn-trunk/subversion/tests/cmdline/svntest/main.py",
 line 1332, in run
    rc = self.pred.run(sandbox)
  File 
"/home/buildslave16/slave16/bb-openbsd/svn-trunk/subversion/tests/cmdline/svntest/testcase.py",
 line 176, in run
    return self.func(sandbox)
  File 
"/home/buildslave16/slave16/bb-openbsd/svn-trunk/subversion/tests/cmdline/tree_conflict_tests.py",
 line 1222, in actual_only_node_behaviour
    foo_path, sbox.repo_url + '/foo_imported')

The import is expected to fail with "Can't stat" but it appears that the
client is crashing when exiting.  On my Linux box I'm seeing valgrind
errors introduced by r1327801:

==19213== Invalid read of size 8
==19213==    at 0x60B4D86: ??? (in /usr/lib/libneon.so.27.2.3)
==19213==    by 0x60BEBBC: ne_decompress_destroy (in /usr/lib/libneon.so.27.2.3)
==19213==    by 0x70E7EF0: compressed_body_reader_cleanup (util.c:438)
==19213==    by 0x5E8D46A: run_cleanups (in /usr/lib/libapr-1.so.0.4.2)
==19213==    by 0x5E8C338: apr_pool_destroy (in /usr/lib/libapr-1.so.0.4.2)
==19213==    by 0x5E8C31B: apr_pool_destroy (in /usr/lib/libapr-1.so.0.4.2)
==19213==    by 0x5E8C31B: apr_pool_destroy (in /usr/lib/libapr-1.so.0.4.2)
==19213==    by 0x5E8D844: apr_pool_destroy_debug (in 
/usr/lib/libapr-1.so.0.4.2)
==19213==    by 0x417095: main (main.c:2728)
==19213==  Address 0xb04da58 is 232 bytes inside a block of size 888 free'd
==19213==    at 0x4C240FD: free (vg_replace_malloc.c:366)
==19213==    by 0x70E3F8B: cleanup_session (session.c:63)
==19213==    by 0x5E8D46A: run_cleanups (in /usr/lib/libapr-1.so.0.4.2)
==19213==    by 0x5E8C338: apr_pool_destroy (in /usr/lib/libapr-1.so.0.4.2)
==19213==    by 0x5E8C31B: apr_pool_destroy (in /usr/lib/libapr-1.so.0.4.2)
==19213==    by 0x5E8D844: apr_pool_destroy_debug (in 
/usr/lib/libapr-1.so.0.4.2)
==19213==    by 0x417095: main (main.c:2728)

I can fix the valgrind errors with this patch:

Index: subversion/libsvn_client/commit.c
===================================================================
--- subversion/libsvn_client/commit.c   (revision 1327801)
+++ subversion/libsvn_client/commit.c   (working copy)
@@ -782,7 +782,7 @@
 
   SVN_ERR(svn_client__open_ra_session_internal(&ra_session, NULL, url, NULL,
                                                NULL, FALSE, TRUE, ctx,
-                                               scratch_pool));
+                                               iterpool));
 
   /* Figure out all the path components we need to create just to have
      a place to stick our imported tree. */
@@ -790,8 +790,6 @@
                             iterpool));
   while (kind == svn_node_none)
     {
-      svn_pool_clear(iterpool);
-
       svn_uri_split(&temp, &dir, url, scratch_pool);
       APR_ARRAY_PUSH(new_entries, const char *) = dir;
       url = temp;

I'm not sure exactly how the pool management is supposed to work here.

-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com

Reply via email to