On Thu, Jul 21, 2011 at 08:43:38PM +0000, build...@apache.org wrote:
> The Buildbot has detected a new failure on builder 
> svn-debian-x64-32-shared-gcc while building ASF Buildbot.
> Full details are available at:
>  http://ci.apache.org/builders/svn-debian-x64-32-shared-gcc/builds/5074
> 
> Buildbot URL: http://ci.apache.org/
> 
> Buildslave for this Build: eh-debsarge1
> 
> Build Reason: scheduler
> Build Source Stamp: [branch subversion/trunk] 1149343
> Blamelist: cmpilato,danielsh
> 
> BUILD FAILED: failed Test fsfs+ra_svn
> 
> sincerely,
>  -The Buildbot
> 

The bot fails with:

> [[[
> subversion/tests/libsvn_fs/locks-test.c:216: (apr_err=160037)
> subversion/libsvn_fs/fs-loader.c:1323: (apr_err=160037)
> svn_tests: E160037: Lock token URI 
> 'opaquelocktoken:0c652f5e-ff86-4bb2-93a5-73f857c7153a' has bad scheme; 
> expected 'opaquelocktoken'
> FAIL:  locks-test 3: attach lock
> ]]]
> 
> [[[
> subversion/tests/libsvn_fs/locks-test.c:779: (apr_err=160037)
> subversion/libsvn_fs/fs-loader.c:1323: (apr_err=160037)
> svn_tests: E160037: Lock token URI 
> 'opaquelocktoken:6141f79f-4984-4792-8ea6-2c22964915fa' has bad scheme; 
> expected 'opaquelocktoken'
> FAIL:  locks-test 10: breaking, stealing, refreshing a lock
> ]]]

But these tests pass locally for me (and probably for the other bots too,
judging by the clock).

This buildslave uses apr-util 1.2.12.

I'm not sure what's going on here; I'm guessing that older APR's don't parse
the scheme the same way.

I'm tempted to just workaround such APR's using something along the lines of a
straight strncmp() ---
[[[
Index: subversion/libsvn_fs/fs-loader.c
===================================================================
--- subversion/libsvn_fs/fs-loader.c    (revision 1149353)
+++ subversion/libsvn_fs/fs-loader.c    (working copy)
@@ -1319,7 +1319,9 @@ svn_fs_lock(svn_lock_t **lock, svn_fs_t *fs, const
                                  _("Can't parse token '%s' as a URI"),
                                  token);
 
-      if (uri.scheme == NULL || strcmp(uri.scheme, "opaquelocktoken"))
+      if ((uri.scheme == NULL || strcmp(uri.scheme, "opaquelocktoken"))
+          /* The above falsely triggered on the APR-Util 1.2.12 buildslave. */
+          && strncmp(token, "opaquelocktoken:", 16))
         return svn_error_createf(SVN_ERR_FS_BAD_LOCK_TOKEN, NULL,
                                  _("Lock token URI '%s' has bad scheme; "
                                    "expected '%s'"),
]]]
if this doesn't sound right, please let me know.

Thanks,

Daniel

Reply via email to