Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-3829

64-bit Subversion crashes on Mac OS X

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 1.6.x
    • None
    • unknown
    • None
    • Mac OS X

    Description

      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.

      I posted this information to dev@subversion.apache.org for feedback. Stefan Sperling <stsp@elego.de> requested that I file an issue.

      Original issue reported by sepwilson

      Attachments

        Activity

          People

            Unassigned Unassigned
            subversion-importer Subversion Importer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: