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

64-bit Subversion crashes on Mac OS X

From: Simon Wilson <sepwilson_at_gmail.com>
Date: Mon, 7 Mar 2011 08:59:35 +0100

I'm posting here for feedback before opening an issue with Subversion tracker.

Using the 'svn mkdir' command against a 1.5/1.6 format repository via ra_local (i.e. with a file:// URL) with 64-bit Subversion on Mac OS X results in a segmentation fault. This 100% reproducible both with 'svn' in Terminal and when loaded as a library in our Cocoa application.

We first detected this behavior in 1.6.14.

We are building against the Mac OS X 10.5 SDK. We build 3-way universal libraries for Subversion (x86, ppc and X86_64). We have only seen this crash in the 64-bit Intel version running on Mac OS X 10.6 Snow Leopard.

Here is relevant portion of the backtrace generated with gdb:

#0 0x00007fff881d1160 in strlen ()
#1 0x00000001147a0bff in apr_vformatter ()
#2 0x00000001147adeda in apr_pvsprintf ()
#3 0x00000001147ae1c8 in apr_psprintf ()
#4 0x00000001146587f0 in representation_string ()
#5 0x0000000114658a2d in svn_fs_fs__write_noderev ()
#6 0x0000000114658de2 in svn_fs_fs__put_node_revision ()
#7 0x000000011465d0a3 in create_new_txn_noderev_from_rev ()
#8 0x000000011465d81b in svn_fs_fs__create_txn ()
#9 0x0000000114663c09 in svn_fs_fs__begin_txn ()
#10 0x000000011466fda3 in svn_fs_begin_txn2 ()
#11 0x00000001146a5613 in svn_repos_fs_begin_txn_for_commit2 ()
#12 0x00000001146a19bd in open_root ()
#13 0x0000000114643e5c in svn_delta_path_driver ()
#14 0x0000000114603e42 in mkdir_urls ()
#15 0x0000000114604017 in svn_client_mkdir3 ()
#16 0x0000000114613a33 in svn_client_mkdir2 ()

The URL passed to svn_client_mkdir2() is:

file:///Users/me/Dev/Test%20Data/Repositories/fsfs-1.5/test

Here are the gcc arguments used to build the 64-bit version:

gcc \
  -DDARWIN \
  -DSIGPROCMASK_SETS_THREAD_MASK \
  -no-cpp-precomp \
  -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch x86_64 \
  -I./subversion/include \
  -I./subversion \
  -I~/Subversion/1.6.16/source/x86_64/apr/include \
  -I~/Subversion/1.6.16/source/x86_64/apr-util/include \
  -I~/Subversion/1.6.16/source/x86_64/neon/src \
  -I~/Subversion/1.6.16/build/x86_64/include/neon \
  -I~/Subversion/1.6.16/source/x86_64/sqlite-amalgamation

The environment/arguments passed to configure are:

ARCHFLAGS="-arch x86_64"
CFLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -arch x86_64"
LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -arch x86_64"
MACOSX_DEPLOYMENT_TARGET=10.5

./configure --with-ssl --with-apxs=no --disable-shared --enable-threadsafe-ssl

We build against the APR and Neon versions included with the Subversion dependencies download.

The GCC version used is i686-apple-darwin10-gcc-4.2.1.

Best regards,
Simon Wilson

http://www.zennaware.com
Received on 2011-03-07 09:02:30 CET

This is an archived mail posted to the Subversion Dev mailing list.