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

Re: 1.6.7 up for signing/testing

From: Joe Swatosh <joe.swatosh_at_gmail.com>
Date: Mon, 28 Dec 2009 09:49:02 -0800

On Sat, Dec 26, 2009 at 11:24 AM, Stefan Sperling <stsp_at_elego.de> wrote:
> On Wed, Dec 23, 2009 at 09:35:23AM -0600, Hyrum K. Wright wrote:
>> Please be sure to test the bindings.
>
> Also, a ruby bindings test segfaults.
>
> I've found this in an OpenBSD ports build, hence no debug symbols
> in this trace. I can rebuild it with debug symbols if required.
>
> Trace:
>
> (gdb) bt
> #0  0x007f64b5 in kill () from /usr/lib/libc.so.53.0
> #1  0x0084365b in abort () at /usr/src/lib/libc/stdlib/abort.c:68
> #2  0x049a0e22 in rb_bug () from /usr/local/lib/libruby.so.2.0
> #3  0x049ff537 in sigsegv () from /usr/local/lib/libruby.so.2.0
> #4  <signal handler called>
> #5  0x074077ec in svn_path_join () from /usr/local/lib/libsvn_subr-1.so.1.2

On trunk resolve_conflict_on_entry is only called once for these
resolve tests. On branch it is called three times, the first two with
an apparently blank/empty svn_wc_entry_t. The following causes the
tests to not segfault, but is only provided with the hope of helping
some expert figure out the proper fix.

Index: subversion/libsvn_wc/adm_ops.c
===================================================================
--- subversion/libsvn_wc/adm_ops.c (revision 894204)
+++ subversion/libsvn_wc/adm_ops.c (working copy)
@@ -2739,6 +2739,10 @@
   apr_uint64_t modify_flags = 0;
   svn_wc_entry_t *entry = svn_wc_entry_dup(orig_entry, pool);

+ /* if we there is nothing to try to resolve, just skip it all */
+ if (strcmp(entry->name, "") == 0)
+ return SVN_NO_ERROR;
+
   if (resolve_text)
     {
       const char *auto_resolve_src;

--
Joe
> #6  0x04ce68cd in resolve_conflict_on_entry ()
>   from /usr/local/lib/libsvn_wc-1.so.1.2
> #7  0x04ce6d6b in resolve_found_entry_callback ()
>   from /usr/local/lib/libsvn_wc-1.so.1.2
> #8  0x04cf17ee in visit_tc_too_found_entry ()
>   from /usr/local/lib/libsvn_wc-1.so.1.2
> #9  0x04cf1474 in walker_helper () from /usr/local/lib/libsvn_wc-1.so.1.2
> #10 0x04cf175d in svn_wc_walk_entries3 ()
>   from /usr/local/lib/libsvn_wc-1.so.1.2
> #11 0x04cf1ab7 in svn_wc__walk_entries_and_tc ()
>   from /usr/local/lib/libsvn_wc-1.so.1.2
> #12 0x04ce6ffc in svn_wc_resolved_conflict4 ()
>   from /usr/local/lib/libsvn_wc-1.so.1.2
> #13 0x09a4bcdb in svn_client_resolve ()
>   from /usr/local/lib/libsvn_client-1.so.1.2
> #14 0x02ab5f6d in _wrap_svn_client_resolve ()
>   from /usr/ports/pobj/subversion-1.6.7/subversion-1.6.7/subversion/bindings/sw
> ig/ruby/.ext/svn/ext/client.so
>
> We have not had a release in a while with no bindings test failures.
> Should we practice self-discipline by not allowing ourselves to release
> 1.6.7 with test failures in the bindings?
>
> By the way, the ruby bindings tests don't run in a 1.6.x working copy
> checked out with a trunk client :(
> Almost every test fails as follows:
>  11) Error:
> test_checkout(SvnClientTest):
> Svn::Error::WcUnsupportedFormat: subversion/libsvn_wc/questions.c:65: Svn::Error
> ::WcUnsupportedFormat: The path 'wc-tmp/wc' appears to be part of a Subversion 1
> .7 or greater
> working copy rooted at '/home/stsp/svn/svn-1.6.x/subversion/bindings/swig/ruby/t
> est'.
>
> This problem is easily worked around, but running tests should really
> "just work".
>
> Stefan
>
Received on 2009-12-28 18:49:37 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.