You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Marcus Gustafsson <ga...@lysator.liu.se> on 2004/09/17 10:35:36 UTC

Segmentation fault on checkout, import and cleanup

Greetings subversionists.

I have recently been having some problems with svn which since a
upgrade (from the Debian package of subversion around version 1.0.3-1
(I'm not quite sure exactly which the previous version was, sorry) to
1.0.6-2) since when all checkout, import and cleanup actions in svn
fail with a segmentation fault.

I tried creating a new repository to import the data to (thereby
having a clean database), but while svn mkdir works fine, the svn
import fails with a segmentation fault.

Also, whenever I tried to commit changes to my old projects it also
produced a segmentation fault and the command svn cleanup (which the
svn commit command suggests when one tries to run it again) fails in
the same way.

All operations where tried via a file: URL on a LVM-based ReiserFS
file system. The computer is a TM5800 running Debian unstable.

Do you have any idea if I am doing something wrong or is this a bug in
subversion?

Some examples included below. Just ask if you want more of the output
or want to do some other test. In both examples the editor was started
and I could enter the commit-comment before the crash.

Regards
 Marcus

gaspode@luggage:~/src>svn --version
svn, version 1.0.6 (r10360)
   compiled Sep  3 2004, 04:28:26

Copyright (C) 2000-2004 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
  - handles 'http' schema
  - handles 'https' schema
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' schema
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' schema

||/ Name           Version        Description
+++-==============-==============-============================================
ii  subversion     1.0.6-2        Advanced version control system (aka. svn)
ii  libneon24      0.24.7.dfsg-0. An HTTP and WebDAV client library
ii  libsvn0        1.0.6-2        Shared libraries used by Subversion (aka. sv
ii  zlib1g         1.2.1.1-5      compression library - runtime
ii  db4.2-util     4.2.52-16      Berkeley v4.2 Database Utilities
ii  libxml2        2.6.11-3       GNOME XML library
ii  libdb4.2       4.2.52-16      Berkeley v4.2 Database Libraries [runtime]
ii  libc6          2.3.2.ds1-16   GNU C Library: Shared libraries and Timezone
ii  libapr0        2.0.50-9       The Apache Portable Runtime

gaspode@luggage:~/src>svnadmin create /tmp/tst 
gaspode@luggage:~/src>svn co file:///tmp/tst
zsh: segmentation fault  
gaspode@luggage:~/src>strace svn co file:///tmp/tst
<lots of debug removed>
stat64("/tmp/tst/db/uuids", {st_mode=S_IFREG|0644, st_size=32768, ...}) = 0
open("/tmp/tst/db/uuids", O_RDWR|O_LARGEFILE) = 21
fcntl64(21, F_SETFD, FD_CLOEXEC)        = 0
fstat64(21, {st_mode=S_IFREG|0644, st_size=32768, ...}) = 0
time(NULL)                              = 1095416880
time([1095416880])                      = 1095416880
time([1095416880])                      = 1095416880
lstat64("tst", {st_mode=S_IFDIR|S_ISVTX|0755, st_size=72, ...}) = 0
stat64("tst", {st_mode=S_IFDIR|S_ISVTX|0755, st_size=72, ...}) = 0
open("tst", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 22
fstat64(22, {st_mode=S_IFDIR|S_ISVTX|0755, st_size=72, ...}) = 0
fcntl64(22, F_SETFD, FD_CLOEXEC)        = 0
mmap2(NULL, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40c33000
getdents64(22, /* 3 entries */, 131072) = 72
lstat64("tst/.", {st_mode=S_IFDIR|S_ISVTX|0755, st_size=72, ...}) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

gaspode@luggage:~/src>find tst
tst
tst/.svn
tst/.svn/tmp
tst/.svn/tmp/props
tst/.svn/tmp/text-base
tst/.svn/tmp/prop-base
tst/.svn/tmp/wcprops
tst/.svn/lock
tst/.svn/props
tst/.svn/empty-file
tst/.svn/entries
tst/.svn/format
tst/.svn/text-base
tst/.svn/README.txt
tst/.svn/prop-base
tst/.svn/wcprops
gaspode@luggage:~/src>rm -rf tst

gaspode@luggage:~/src>gdb svn
<gdb splash removed>
Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run co file:///tmp/tst
Starting program: /usr/bin/svn co file:///tmp/tst
[Thread debugging using libthread_db enabled]
[New Thread 1081542176 (LWP 1265)]
<removed lots of "no debugging symbols found">
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1081542176 (LWP 1265)]
0x40087435 in svn_io_get_dirents () from /usr/lib/libsvn_subr-1.so.0
(gdb) bt
#0  0x40087435 in svn_io_get_dirents () from /usr/lib/libsvn_subr-1.so.0
#1  0x4004ae4e in ?? () from /usr/lib/libsvn_wc-1.so.0
#2  0xbffff62c in ?? ()
#3  0x080d7be8 in ?? ()
#4  0x080d7bb0 in ?? ()
#5  0x080d7bb0 in ?? ()
#6  0x00000000 in ?? ()
#7  0x00000000 in ?? ()
#8  0x00000000 in ?? ()
#9  0x00000048 in ?? ()
#10 0x00000000 in ?? ()
#11 0x00020000 in ?? ()
#12 0x00000000 in ?? ()
#13 0x00000000 in ?? ()
#14 0x414abcb5 in ?? ()
#15 0x35bc7818 in ?? ()
#16 0x414abcb5 in ?? ()
#17 0x35cbb9c0 in ?? ()
#18 0x414abcb5 in ?? ()
#19 0x35cbb9c0 in ?? ()
#20 0x00000627 in ?? ()
#21 0x00000000 in ?? ()
#22 0xbffff638 in ?? ()
#23 0x00000000 in ?? ()
#24 0x00000000 in ?? ()
#25 0x4009ca28 in ?? () from /usr/lib/libsvn_subr-1.so.0
#26 0x405e61b0 in timezone () from /lib/tls/libc.so.6
#27 0x00000000 in ?? ()
#28 0x080b98b0 in ?? ()
#29 0x40088820 in svn_io_stat () from /usr/lib/libsvn_subr-1.so.0
#30 0x4004b8db in svn_wc_crawl_revisions () from /usr/lib/libsvn_wc-1.so.0
#31 0x400414b6 in svn_client__update_internal ()
   from /usr/lib/libsvn_client-1.so.0
#32 0x400415fa in svn_client_update () from /usr/lib/libsvn_client-1.so.0
#33 0x4002abbc in svn_client__checkout_internal ()
   from /usr/lib/libsvn_client-1.so.0
#34 0x4002aef1 in svn_client_checkout () from /usr/lib/libsvn_client-1.so.0
#35 0x0804bda7 in ?? ()
#36 0x00000000 in ?? ()
#37 0x080656a0 in ?? ()
#38 0x080656e0 in ?? ()
#39 0xbffffab0 in ?? ()
#40 0x00000001 in ?? ()
#41 0x08064e08 in ?? ()
#42 0x08096078 in ?? ()
#43 0x00000000 in ?? ()
#44 0x00000000 in ?? ()
#45 0x00000000 in ?? ()
#46 0x080656e0 in ?? ()
#47 0x00000000 in ?? ()
#48 0x080656a0 in ?? ()
#49 0x080656e0 in ?? ()
#50 0x080655d0 in ?? ()
#51 0x08096078 in ?? ()
#52 0x08064e08 in ?? ()
#53 0xbffffab0 in ?? ()
#54 0xbffffb88 in ?? ()
#55 0x0805025a in ?? ()
#56 0x08064980 in ?? ()
#57 0xbffff9b0 in ?? ()
#58 0x08064948 in ?? ()
#59 0x0805c82e in _IO_stdin_used ()
#60 0x00000001 in ?? ()
#61 0x400164a0 in ?? () from /lib/ld-linux.so.2
#62 0x00000000 in ?? ()
#63 0x00000000 in ?? ()
#64 0x0805f598 in ?? ()
#65 0x00000000 in ?? ()
#66 0x40770620 in ?? ()
#67 0x00000000 in ?? ()
#68 0x00000001 in ?? ()
#69 0x080652e8 in ?? ()
#70 0x08065228 in ?? ()
#71 0x00000000 in ?? ()
#72 0x00000000 in ?? ()
#73 0x00000000 in ?? ()
#74 0x00000000 in ?? ()
#75 0x00000001 in ?? ()
#76 0x00000000 in ?? ()
#77 0x00000000 in ?? ()
#78 0x00000000 in ?? ()
#79 0x00000000 in ?? ()
#80 0x00000000 in ?? ()
#81 0x00000000 in ?? ()
#82 0x00000000 in ?? ()
#83 0x00000000 in ?? ()
#84 0x40000700 in ?? () from /lib/ld-linux.so.2
#85 0x00fff9c8 in ?? ()
#86 0x404b2b4c in ?? () from /lib/tls/libc.so.6
#87 0xbffff9d0 in ?? ()
#88 0x40007a4c in _dl_unload_cache () from /lib/ld-linux.so.2
Previous frame inner to this frame (corrupt stack?)
(gdb) 

Re: Segmentation fault on checkout, import and cleanup

Posted by Greg Hudson <gh...@MIT.EDU>.
On Fri, 2004-09-17 at 06:35, Marcus Gustafsson wrote:
> I have recently been having some problems with svn which since a
> upgrade (from the Debian package of subversion around version 1.0.3-1
> (I'm not quite sure exactly which the previous version was, sorry) to
> 1.0.6-2) since when all checkout, import and cleanup actions in svn
> fail with a segmentation fault.

If you're using a vendor's binary packages and basic functionality is
not working for you, you're best off taking it up with the vendor (i.e.
Debian, after ensuring that your system is up to date), not with the
upstream provider.  This is doubly true if you're using
Debian-unstable.  It's simply beyond the realm of possibility that we
would distribute a release where checkout, import, and cleanup always
seg fault.

I happen to know that a few weeks ago, Debian introduced a
binary-incompatible change to libapr0 by rebuilding it with large-file
support, breaking Subversion unless users upgrade the subversion package
as well.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org