[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#644409: rapidsvn SEGV with Subversion 1.7



Package: rapidsvn
Version: 0.12.0dfsg-2
Severity: normal
Tags: patch

The current released version of rapidsvn is incompatible with the
upcoming Subversion 1.7 due to the way rapidsvn constructs the
Subversion client context object.  This causes rapidsvn to SEGV
on the first working copy operation.

A fix for this problem has been committed to rapidsvn trunk, but
is not yet in any release.  The patch is r8195 in the upstream
repository.

Index: ../../rapidsvn-trunk/AUTHORS
===================================================================
--- ../../rapidsvn-trunk/AUTHORS	(revision 8194)
+++ ../../rapidsvn-trunk/AUTHORS	(revision 8195)
@@ -76,4 +76,4 @@
  csola48               - translation
  Alexey Reztsov        - translation
  Viet NQ               - source code
-
+ Philip Martin         - source code
Index: ../../rapidsvn-trunk/src/svncpp/context.cpp
===================================================================
--- ../../rapidsvn-trunk/src/svncpp/context.cpp	(revision 8194)
+++ ../../rapidsvn-trunk/src/svncpp/context.cpp	(revision 8195)
@@ -65,7 +65,7 @@
     bool logIsSet;
     int promptCounter;
     Pool pool;
-    svn_client_ctx_t ctx;
+    svn_client_ctx_t * ctx;
     std::string username;
     std::string password;
     std::string logMessage;
@@ -180,22 +180,22 @@
       svn_auth_open(&ab, providers, pool);
 
       // initialize ctx structure
-      memset(&ctx, 0, sizeof(ctx));
+      svn_client_create_context(&ctx, pool);
 
       // get the config based on the configDir passed in
-      svn_config_get_config(&ctx.config, c_configDir, pool);
+      svn_config_get_config(&ctx->config, c_configDir, pool);
 
       // tell the auth functions where the config is
       svn_auth_set_parameter(ab, SVN_AUTH_PARAM_CONFIG_DIR,
                              c_configDir);
 
-      ctx.auth_baton = ab;
-      ctx.log_msg_func = onLogMsg;
-      ctx.log_msg_baton = this;
-      ctx.notify_func2 = onNotify2;
-      ctx.notify_baton2 = this;
-      ctx.cancel_func = onCancel;
-      ctx.cancel_baton = this;
+      ctx->auth_baton = ab;
+      ctx->log_msg_func = onLogMsg;
+      ctx->log_msg_baton = this;
+      ctx->notify_func2 = onNotify2;
+      ctx->notify_baton2 = this;
+      ctx->cancel_func = onCancel;
+      ctx->cancel_baton = this;
     }
 
     void setAuthCache(bool value)
@@ -204,7 +204,7 @@
       if (!value)
         param = (void *)"1";
 
-      svn_auth_set_parameter(ctx.auth_baton,
+      svn_auth_set_parameter(ctx->auth_baton,
                              SVN_AUTH_PARAM_NO_AUTH_CACHE,
                              param);
     }
@@ -215,7 +215,7 @@
       username = usr;
       password = pwd;
 
-      svn_auth_baton_t * ab = ctx.auth_baton;
+      svn_auth_baton_t * ab = ctx->auth_baton;
       svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_USERNAME,
                              username.c_str());
       svn_auth_set_parameter(ab, SVN_AUTH_PARAM_DEFAULT_PASSWORD,
@@ -604,13 +604,13 @@
 
   Context::operator svn_client_ctx_t * ()
   {
-    return &(m->ctx);
+    return m->ctx;
   }
 
   svn_client_ctx_t *
   Context::ctx()
   {
-    return &(m->ctx);
+    return m->ctx;
   }
 
   void

-- System Information:
Debian Release: 6.0.2
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages rapidsvn depends on:
ii  libapr1                 1.4.2-6+squeeze3 The Apache Portable Runtime Librar
ii  libaprutil1             1.3.9+dfsg-5     The Apache Portable Runtime Utilit
ii  libc6                   2.11.2-10        Embedded GNU C Library: Shared lib
ii  libdb4.8                4.8.30-2         Berkeley v4.8 Database Libraries [
ii  libexpat1               2.0.1-7          XML parsing C library - runtime li
ii  libgcc1                 1:4.4.5-8        GCC support library
ii  libstdc++6              4.4.5-8          The GNU Standard C++ Library v3
ii  libsvn1                 1.6.12dfsg-6     Shared libraries used by Subversio
ii  libsvncpp3              0.12.0dfsg-2     Subversion C++ shared library
ii  libuuid1                2.17.2-9         Universally Unique ID library
ii  libwxbase2.8-0          2.8.10.1-3+b1    wxBase library (runtime) - non-GUI
ii  libwxgtk2.8-0           2.8.10.1-3+b1    wxWidgets Cross-platform C++ GUI t

Versions of packages rapidsvn recommends:
ii  ssh-askpass                  1:1.2.4.1-9 under X, asks user for a passphras

rapidsvn suggests no packages.

-- no debconf information



Reply to: