Bug#320572: marked as done (libsvn0: Crash when exporting a client tree with after svn delete)

Debian Bug Tracking System owner at bugs.debian.org
Sat Sep 10 18:33:43 UTC 2005


Your message dated Sat, 10 Sep 2005 11:10:12 -0700
with message-id <E1EE9no-0008Ar-00 at spohr.debian.org>
and subject line Bug#316227: fixed in subversion 1.2.3a-1
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 30 Jul 2005 09:21:39 +0000
>From aqua at devin.com Sat Jul 30 02:21:39 2005
Return-path: <aqua at devin.com>
Received: from dsl081-059-164.sfo1.dsl.speakeasy.net (localhost) [64.81.59.164] 
	by spohr.debian.org with esmtp (Exim 3.36 1 (Debian))
	id 1DynXH-0005EG-00; Sat, 30 Jul 2005 02:21:39 -0700
Received: from aqua by localhost with local (Exim 4.52)
	id 1DynWm-0001Uu-6j; Sat, 30 Jul 2005 02:21:08 -0700
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: Devin Carraway <devin at debian.org>
To: Debian Bug Tracking System <submit at bugs.debian.org>
Subject: libsvn0: Crash when exporting a client tree with after svn delete
X-Mailer: reportbug 3.15
Date: Sat, 30 Jul 2005 02:21:07 -0700
Message-Id: <E1DynWm-0001Uu-6j at localhost>
Sender: Devin Carraway <aqua at devin.com>
Delivered-To: submit at bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE 
	autolearn=no version=2.60-bugs.debian.org_2005_01_02

Package: libsvn0
Version: 1.2.0-1
Severity: normal

I've been seeing a crash in libsvn0 under the commandline svn client
when attempting to do an export from a local client copy.  It's
reproducible many times in a row on the same client copy, but seems to
vary with the state of the client copy or something -- not sure of the
circumstances.

This may be a dupe of #314381 or possibly #316227; they both look
similar but the stack traces in both of those look different.

First a trace, taken with 1.2.0-1 built with DEB_BUILD_OPTIONS=nostrip:

Starting program: /usr/bin/svn export head qpsmtpd-0.31/debian
[Thread debugging using libthread_db enabled]
[New Thread -1215971200 (LWP 5574)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1215971200 (LWP 5574)]
0xb7fdacdf in copy_one_versioned_file (from=0x808f688 "head/foo",
    to=0x808f698 "qpsmtpd-0.31/debian/foo", adm_access=0x8068640,
    revision=0xbffff504, native_eol=0x0, pool=0x808f650)
    at subversion/libsvn_client/export.c:120
120       if ((revision->kind != svn_opt_revision_working &&
(gdb) bt
#0  0xb7fdacdf in copy_one_versioned_file (from=0x808f688 "head/foo",
    to=0x808f698 "qpsmtpd-0.31/debian/foo", adm_access=0x8068640,
    revision=0xbffff504, native_eol=0x0, pool=0x808f650)
    at subversion/libsvn_client/export.c:120
#1  0xb7fdb35b in copy_versioned_files (from=0x80683e0 "head",
    to=0x80683c0 "qpsmtpd-0.31/debian", revision=0xbffff504, force=0,
    recurse=1, native_eol=0x0, ctx=0x8067560, pool=0x8067160)
    at subversion/libsvn_client/export.c:326
#2  0xb7fdbed8 in svn_client_export3 (result_rev=0x0, from=0x80683e0 "head",
    to=0x80683c0 "qpsmtpd-0.31/debian", peg_revision=0xbffff598,
    revision=0xbffff6c4, overwrite=0, ignore_externals=0, recurse=1,
    native_eol=0x0, ctx=0x8067560, pool=0x8067160)
    at subversion/libsvn_client/export.c:904
#3  0x0804cffa in svn_cl__export (os=0x8067198, baton=0x0, pool=0x8067160)
    at subversion/clients/cmdline/export-cmd.c:74
#4  0x0804fe09 in main (argc=4, argv=0xbffff8b4)
    at subversion/clients/cmdline/main.c:1449

The actual fault line was clipped by gdb, but appears thusly:

  if ((revision->kind != svn_opt_revision_working &&
       entry->schedule == svn_wc_schedule_add) ||
      (revision->kind == svn_opt_revision_working &&
       entry->schedule == svn_wc_schedule_delete))
    return SVN_NO_ERROR;

Inspecting those, 'entry' is NULL:

(gdb) p revision->kind
$2 = svn_opt_revision_working
(gdb) p entry
$4 = (const svn_wc_entry_t *) 0x0

'entry' was set NULL by this call to apr_hash_get() in svn_wc_entry():

  if (dir_access)
    {
      apr_hash_t *entries;
      SVN_ERR (svn_wc_entries_read (&entries, dir_access, show_hidden, pool));
      *entry = apr_hash_get (entries, entry_name, APR_HASH_KEY_STRING);
    }
  else
    *entry = NULL;

stepping to which:

759           *entry = apr_hash_get (entries, entry_name, APR_HASH_KEY_STRING);
(gdb) p entry_name
$13 = 0x808f6b8 "foo"
(gdb) n
765     }
(gdb) p *entry
$14 = (const svn_wc_entry_t *) 0x0


The export had created a couple of files successfully in the export tree.  The
one it was working on, "head/foo" was a test file I created, checked in, then
deleted and commited in an attempt to reproduce the problem.  So far all the
instances of the crash I've seen have been associated with points in the
export where it was about to touch a file svn-deleted from that particular
client.

An strace of the export:
http://devin.com/cruft/svn-crash/svn-strace.log

A tarball of the client (28k):
http://devin.com/cruft/svn-crash/working-copy.tar.bz2

A fragment of a dump of the repository, with the only two changes ever to
touch the file on which the crash occurred (one creating, the other deleting):
http://devin.com/cruft/svn-crash/repo-dump-excerpt.txt

Hope this is useful.  I'll try to keep the testcase intact if you need more
data.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.11
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages libsvn0 depends on:
ii  libapr0                    2.0.54-4      the Apache Portable Runtime
ii  libc6                      2.3.2.ds1-22  GNU C Library: Shared libraries an
ii  libdb4.2                   4.2.52-19     Berkeley v4.2 Database Libraries [
ii  libexpat1                  1.95.8-3      XML parsing C library - runtime li
ii  libldap2                   2.1.30-11     OpenLDAP libraries
ii  libneon24                  0.24.7.dfsg-2 An HTTP and WebDAV client library
ii  libssl0.9.7                0.9.7g-1      SSL shared libraries
ii  libxml2                    2.6.20-1      GNOME XML library
ii  zlib1g                     1:1.2.3-1     compression library - runtime

libsvn0 recommends no packages.

-- no debconf information

---------------------------------------
Received: (at 316227-close) by bugs.debian.org; 10 Sep 2005 18:21:56 +0000
>From joerg at spohr.debian.org Sat Sep 10 11:21:56 2005
Return-path: <joerg at spohr.debian.org>
Received: from joerg by spohr.debian.org with local (Exim 3.36 1 (Debian))
	id 1EE9no-0008Ar-00; Sat, 10 Sep 2005 11:10:12 -0700
From: guilherme.pastore at terra.com.br (Guilherme de S. Pastore)
To: 316227-close at bugs.debian.org
X-Katie: lisa $Revision: 1.30 $
Subject: Bug#316227: fixed in subversion 1.2.3a-1
Message-Id: <E1EE9no-0008Ar-00 at spohr.debian.org>
Sender: Joerg Jaspert <joerg at spohr.debian.org>
Date: Sat, 10 Sep 2005 11:10:12 -0700
Delivered-To: 316227-close at bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
	autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-CrossAssassin-Score: 14

Source: subversion
Source-Version: 1.2.3a-1

We believe that the bug you reported is fixed in the latest version of
subversion, which is due to be installed in the Debian FTP archive:

libapache2-svn_1.2.3a-1_i386.deb
  to pool/main/s/subversion/libapache2-svn_1.2.3a-1_i386.deb
libsvn-core-perl_1.2.3a-1_i386.deb
  to pool/main/s/subversion/libsvn-core-perl_1.2.3a-1_i386.deb
libsvn-javahl_1.2.3a-1_i386.deb
  to pool/main/s/subversion/libsvn-javahl_1.2.3a-1_i386.deb
libsvn0-dev_1.2.3a-1_i386.deb
  to pool/main/s/subversion/libsvn0-dev_1.2.3a-1_i386.deb
libsvn0_1.2.3a-1_i386.deb
  to pool/main/s/subversion/libsvn0_1.2.3a-1_i386.deb
python2.3-subversion_1.2.3a-1_i386.deb
  to pool/main/s/subversion/python2.3-subversion_1.2.3a-1_i386.deb
subversion-tools_1.2.3a-1_all.deb
  to pool/main/s/subversion/subversion-tools_1.2.3a-1_all.deb
subversion_1.2.3a-1.diff.gz
  to pool/main/s/subversion/subversion_1.2.3a-1.diff.gz
subversion_1.2.3a-1.dsc
  to pool/main/s/subversion/subversion_1.2.3a-1.dsc
subversion_1.2.3a-1_i386.deb
  to pool/main/s/subversion/subversion_1.2.3a-1_i386.deb
subversion_1.2.3a.orig.tar.gz
  to pool/main/s/subversion/subversion_1.2.3a.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 316227 at bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guilherme de S. Pastore <guilherme.pastore at terra.com.br> (supplier of updated subversion package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster at debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Fri,  9 Sep 2005 14:57:03 -0300
Source: subversion
Binary: libsvn-core-perl libapache2-svn libsvn0 libsvn-javahl python2.3-subversion subversion-tools libsvn0-dev subversion
Architecture: source i386 all
Version: 1.2.3a-1
Distribution: unstable
Urgency: low
Maintainer: Guilherme de S. Pastore <guilherme.pastore at terra.com.br>
Changed-By: Guilherme de S. Pastore <guilherme.pastore at terra.com.br>
Description: 
 libapache2-svn - apache modules for Subversion (aka. svn)
 libsvn-core-perl - perl bindings for Subversion (aka. svn)
 libsvn-javahl - java bindings for Subversion (aka. svn)
 libsvn0    - shared libraries used by Subversion (aka. svn)
 libsvn0-dev - development files for Subversion (aka. svn) libraries
 python2.3-subversion - python modules for interfacing with Subversion (aka. svn)
 subversion - advanced version control system (aka. svn)
 subversion-tools - assorted tools related to Subversion (aka. svn)
Closes: 215083 218185 223303 235905 271125 305953 310519 314154 314213 314381 315100 316133 316143 316227 320417 320572 322257 323376 323839 324037 324633 326079
Changes: 
 subversion (1.2.3a-1) unstable; urgency=low
 .
   * Welcome the Debian Subversion Team (Closes: #322257)
 .
   [ Guilherme de S. Pastore ]
   * New upstream release (Closes: #320417)
     - tarball repackaged without svnbook, as it's licensed under
       a non-DFSG-free license (Closes: #215083, #218185, #314154)
     - fixes export segmentation fault with versioned items in
       "deleted" state (Closes: #314381, #316133, #316227, #320572, #324037)
   * debian/compat:
     - bump to debhelper compatibility version 4
     - no longer export DH_COMPAT from inside debian/rules
   * debian/control:
     - dropped auto-generation with m4
     - dropped build-dependency on quilt
     - bump to Standards-Version 3.6.2 with no changes
     - removed Conflicts/Replaces on all packages not present in
       stable anymore (Closes: #310519)
   * debian/patches/ltmain.sh.patch:
     - removed; applied upstream
   * debian/patches/kaffe-cast.patch:
     - removed; broken and unnecessary
   * debian/subversion.doc-base.book:
     - removed; the book is no longer present
   * debian/README.Debian:
     - Removed; was doing the work of a package description, and
       mentioned the (removed) svnbook
   * debian/python2.3-subversion.README.Debian:
     - Renamed from pythonX.Y-subversion.README.Debian, we longer
       use that auto-generation stuff
   * debian/rules:
     - tiny fixes to unbreak the build process
     - include simple-patchsys.mk from CDBS instead of using quilt;
       it was too complex for our needs
     - fixed detection of tarballs, as to not get confused by CDBS
       auto-generated lists, which would cause the build to fail
     - no longer do any magic to auto-generate debian/control and
       python related documentation; too complex for too little gain
     - set LANG to C, otherwise the build may fail because of tests
       failing for not being able to recognize strings returned by
       some tools
     - no longer do any magic to support builds on pre-sarge
       environments; the package is already complex enough without
       supporting old cruft unnecessarily
   * Removed packaging documentation, as it was pretty much outdated
   * Removed maintenance scripts from the package; left them
     on the 'tools' section of the repository on svn.debian.org
 .
   [ David Kimdon ]
   * Do not install vc-svn.el (closes: #314213, #315100, #324633)
   * Autoload psvn.el by default. (closes: #223303, #235905, #305953)
   * Remove hard-coded DEB_BUILDDIR from debian/rules.
   * Enable javahl bindings by default (closes: #271125, #323839)
 .
   [ Peter Samuelson ]
   * debian/patches/l10n-segfault.patch:
     - fixes a "svn add" crash in the es, fr, it, pl, pt_BR and zh_TW
       locales (Closes: #316143, #323376, #326079)
   * debian/patches/rpath.patch:
     - port to subversion 1.2.x and reenable (work in progress, suppresses
       most rpaths)
   * debian/lintian-overrides: new file for binary package overrides
   * debian/rules:
     - support DEB_BUILD_OPTIONS=noopt
     - invent a DEB_BUILD_OPTIONS=notest to disable the test suite more
       easily
     - the INSTALL file is redundant, do not install it in /usr/share/doc
     - change #!/usr/bin/env python to #!/usr/bin/python2.3 in assorted
       scripts
     - split and install lintian-overrides to appropriate packages
     - minor cruft removal
Files: 
 9c6fdfdc7d3c5a88c613eae1f518ffc2 1307 devel optional subversion_1.2.3a-1.dsc
 9f063fd1fb16580d2a868e07ffdc4d89 5378699 devel optional subversion_1.2.3a.orig.tar.gz
 a1db03b2448a5971e69749ec07eb1ffe 29423 devel optional subversion_1.2.3a-1.diff.gz
 f4de19590f6f2ee5ac7c23ca54bd8da9 81120 admin extra subversion-tools_1.2.3a-1_all.deb
 006f8168e3fcd640bda4cd982f50437b 920214 devel optional subversion_1.2.3a-1_i386.deb
 f6e5e42f2da7a3285aa49e0f482dbc69 475686 libs optional libsvn0_1.2.3a-1_i386.deb
 db33d3052a7905b0601d41731cceb26f 692502 libdevel extra libsvn0-dev_1.2.3a-1_i386.deb
 e5ff42576ce87f22a3ce376c1df91fd7 71794 net optional libapache2-svn_1.2.3a-1_i386.deb
 a4fa81f014076feeee2ecc181a01babe 1099992 python optional python2.3-subversion_1.2.3a-1_i386.deb
 70bbddf3f15e66b119e910fa59dbafa0 235098 admin optional libsvn-javahl_1.2.3a-1_i386.deb
 115310965836d80f343af122cee6226e 659612 admin optional libsvn-core-perl_1.2.3a-1_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDIe6Ct1anjIgqbEsRAs6wAKCJGm0E0RCeTCeKSQUAjY3XdgkhMQCg3bAO
tPmiYsAar6ae7s7x37PY1UQ=
=92uW
-----END PGP SIGNATURE-----





More information about the pkg-subversion-maintainers mailing list