You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Sebastian Magda <ma...@cortechslabs.com> on 2012/01/28 09:05:19 UTC

SVN 1.7.2 crashes immediately on start in APR xlate/xlate.c

Built and installed the latest stable version
subversion-1.7.2.tar.gz<http://apache.mirrors.pair.com/subversion/subversion-1.7.2.tar.gz>
Crashes immediately on start:

: svn
Segmentation fault (core dumped)

Build details:

: ./configure --with-ssl --with-apr=/usr/local/apache2
--with-apr-util=/usr/local/apache2 --with-apxs=/usr/local/apache2/bin/apxs
--enable-debug
: make
: make install
: which svn
/usr/local/bin/svn

System details:

: cat /etc/redhat-release
CentOS release 4.9 (Final)

: uname -mprsv
Linux 2.6.9-103.plus.c4smp #1 SMP Wed Dec 21 16:17:23 EST 2011 x86_64 x86_64

: gcc -v
Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.6/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk
--host=x86_64-redhat-linux
Thread model: posix
gcc version 3.4.6 20060404 (Red Hat 3.4.6-11)

:httpd -V
Server version: Apache/2.2.21 (Unix)
Server built:   Jan 26 2012 18:12:20
Server's Module Magic Number: 20051115:30
Server loaded:  APR 1.4.5, APR-Util 1.3.12
Compiled using: APR 1.4.5, APR-Util 1.3.12
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

Debugger details:

: ldd /usr/local/bin/svn
        libsvn_client-1.so.0 => /usr/local/lib/libsvn_client-1.so.0
(0x0000002a95557000)
        libsvn_wc-1.so.0 => /usr/local/lib/libsvn_wc-1.so.0
(0x0000002a956d0000)
        libsvn_ra-1.so.0 => /usr/local/lib/libsvn_ra-1.so.0
(0x0000002a9588e000)
        libsvn_diff-1.so.0 => /usr/local/lib/libsvn_diff-1.so.0
(0x0000002a9599b000)
        libsvn_ra_local-1.so.0 => /usr/local/lib/libsvn_ra_local-1.so.0
(0x0000002a95ab1000)
        libsvn_repos-1.so.0 => /usr/local/lib/libsvn_repos-1.so.0
(0x0000002a95bbb000)
        libsvn_fs-1.so.0 => /usr/local/lib/libsvn_fs-1.so.0
(0x0000002a95cf4000)
        libsvn_fs_fs-1.so.0 => /usr/local/lib/libsvn_fs_fs-1.so.0
(0x0000002a95dfe000)
        libsvn_fs_util-1.so.0 => /usr/local/lib/libsvn_fs_util-1.so.0
(0x0000002a95f36000)
        libsvn_ra_svn-1.so.0 => /usr/local/lib/libsvn_ra_svn-1.so.0
(0x0000002a96038000)
        libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x0000003b9dc00000)
        libsvn_ra_neon-1.so.0 => /usr/local/lib/libsvn_ra_neon-1.so.0
(0x0000002a96170000)
        libsvn_delta-1.so.0 => /usr/local/lib/libsvn_delta-1.so.0
(0x0000002a962c4000)
        libsvn_subr-1.so.0 => /usr/local/lib/libsvn_subr-1.so.0
(0x0000002a963d6000)
        libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0
(0x0000002a96547000)
        libaprutil-1.so.0 => /usr/local/apache2/lib/libaprutil-1.so.0
(0x0000002a966e0000)
        libapr-1.so.0 => /usr/local/apache2/lib/libapr-1.so.0
(0x0000002a96802000)
        libuuid.so.1 => /lib64/tls/libuuid.so.1 (0x0000003b9d800000)
        librt.so.1 => /lib64/tls/librt.so.1 (0x0000003ba0c00000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003ba1400000)
        libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000003b9de00000)
        libssl.so.4 => /lib64/libssl.so.4 (0x0000003b9ff00000)
        libcrypto.so.4 => /lib64/libcrypto.so.4 (0x0000003b9f200000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003b9da00000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x0000003b9e000000)
        libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2
(0x0000003b9f500000)
        libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x0000003b9f700000)
        libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x0000003b9f000000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003b9ec00000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003b9e800000)
        libexpat.so.0 => /usr/lib64/libexpat.so.0 (0x0000003ba1000000)
        libc.so.6 => /lib64/tls/libc.so.6 (0x0000003b9d500000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003b9d300000)

: gdb svn core.3020
GNU gdb Red Hat Linux (6.3.0.0-1.162.el4rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu"...Using host
libthread_db library "/lib64/tls/libthread_db.so.1".

Core was generated by `svn'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/libsvn_client-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_client-1.so.0
Reading symbols from /usr/local/lib/libsvn_wc-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_wc-1.so.0
Reading symbols from /usr/local/lib/libsvn_ra-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_ra-1.so.0
Reading symbols from /usr/local/lib/libsvn_diff-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_diff-1.so.0
Reading symbols from /usr/local/lib/libsvn_ra_local-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_ra_local-1.so.0
Reading symbols from /usr/local/lib/libsvn_repos-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_repos-1.so.0
Reading symbols from /usr/local/lib/libsvn_fs-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_fs-1.so.0
Reading symbols from /usr/local/lib/libsvn_fs_fs-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_fs_fs-1.so.0
Reading symbols from /usr/local/lib/libsvn_fs_util-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_fs_util-1.so.0
Reading symbols from /usr/local/lib/libsvn_ra_svn-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_ra_svn-1.so.0
Reading symbols from /usr/lib64/libsasl2.so.2...done.
Loaded symbols for /usr/lib64/libsasl2.so.2
Reading symbols from /usr/local/lib/libsvn_ra_neon-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_ra_neon-1.so.0
Reading symbols from /usr/local/lib/libsvn_delta-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_delta-1.so.0
Reading symbols from /usr/local/lib/libsvn_subr-1.so.0...done.
Loaded symbols for /usr/local/lib/libsvn_subr-1.so.0
Reading symbols from /usr/local/lib/libsqlite3.so.0...done.
Loaded symbols for /usr/local/lib/libsqlite3.so.0
Reading symbols from /usr/local/apache2/lib/libaprutil-1.so.0...done.
Loaded symbols for /usr/local/apache2/lib/libaprutil-1.so.0
Reading symbols from /usr/local/apache2/lib/libapr-1.so.0...done.
Loaded symbols for /usr/local/apache2/lib/libapr-1.so.0
Reading symbols from /lib64/tls/libuuid.so.1...done.
Loaded symbols for /lib64/tls/libuuid.so.1
Reading symbols from /lib64/tls/librt.so.1...done.
Loaded symbols for /lib64/tls/librt.so.1
Reading symbols from /lib64/libcrypt.so.1...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/tls/libpthread.so.0...done.
Loaded symbols for /lib64/tls/libpthread.so.0
Reading symbols from /lib64/libssl.so.4...done.
Loaded symbols for /lib64/libssl.so.4
Reading symbols from /lib64/libcrypto.so.4...done.
Loaded symbols for /lib64/libcrypto.so.4
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /usr/lib64/libz.so.1...done.
Loaded symbols for /usr/lib64/libz.so.1
Reading symbols from /usr/lib64/libgssapi_krb5.so.2...done.
Loaded symbols for /usr/lib64/libgssapi_krb5.so.2
Reading symbols from /usr/lib64/libkrb5.so.3...done.
Loaded symbols for /usr/lib64/libkrb5.so.3
Reading symbols from /usr/lib64/libk5crypto.so.3...done.
Loaded symbols for /usr/lib64/libk5crypto.so.3
Reading symbols from /lib64/libcom_err.so.2...done.
Loaded symbols for /lib64/libcom_err.so.2
Reading symbols from /lib64/libresolv.so.2...done.
Loaded symbols for /lib64/libresolv.so.2
Reading symbols from /usr/lib64/libexpat.so.0...done.
Loaded symbols for /usr/lib64/libexpat.so.0
Reading symbols from /lib64/tls/libc.so.6...done.
Loaded symbols for /lib64/tls/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/lib64/sasl2/libcrammd5.so.2...done.
Loaded symbols for /usr/lib64/sasl2/libcrammd5.so.2
Reading symbols from /usr/lib64/sasl2/liblogin.so.2...done.
Loaded symbols for /usr/lib64/sasl2/liblogin.so.2
Reading symbols from /usr/lib64/sasl2/libsasldb.so.2...done.
Loaded symbols for /usr/lib64/sasl2/libsasldb.so.2
Reading symbols from /usr/lib64/sasl2/libplain.so.2...done.
Loaded symbols for /usr/lib64/sasl2/libplain.so.2
Reading symbols from /usr/lib64/sasl2/libanonymous.so.2...done.
Loaded symbols for /usr/lib64/sasl2/libanonymous.so.2
Reading symbols from /usr/lib64/sasl2/libdigestmd5.so.2...done.
Loaded symbols for /usr/lib64/sasl2/libdigestmd5.so.2
#0  apr_xlate_conv_buffer (convset=0x2d6674752d6e7673, inbuf=0x54da20 "Type
'svn help' for usage.\n", inbytes_left=0x7fbfffe508, outbuf=0x54da60 "",
outbytes_left=0x7fbfffe500) at xlate/xlate.c:339
339         if (convset->ich != (iconv_t)-1) {

(gdb) bt
#0  apr_xlate_conv_buffer (convset=0x2d6674752d6e7673, inbuf=0x54da20 "Type
'svn help' for usage.\n", inbytes_left=0x7fbfffe508, outbuf=0x54da60 "",
outbytes_left=0x7fbfffe500) at xlate/xlate.c:339
#1  0x0000002a96428a9d in convert_to_stringbuf (node=0x2a9643884a,
src_data=0x54da20 "Type 'svn help' for usage.\n", src_length=27,
dest=0x7fbfffe580, pool=0x54d278) at subversion/libsvn_subr/utf.c:540
#2  0x0000002a9642925f in convert_cstring (dest=0x7fbfffe648, src=0x54da20
"Type 'svn help' for usage.\n", node=0x2a9643884a, pool=0x54d278) at
subversion/libsvn_subr/utf.c:774
#3  0x0000002a96429804 in svn_utf_cstring_from_utf8 (dest=0x7fbfffe648,
src=0x54da20 "Type 'svn help' for usage.\n", pool=0x54d278) at
subversion/libsvn_subr/utf.c:908
#4  0x0000002a963f2a3d in svn_cmdline_cstring_from_utf8 (dest=0x7fbfffe648,
src=0x54da20 "Type 'svn help' for usage.\n", pool=0x54d278) at
subversion/libsvn_subr/cmdline.c:244
#5  0x0000002a963f2d34 in svn_cmdline_fputs (string=0x54da20 "Type 'svn
help' for usage.\n", stream=0x3b9d733680, pool=0x54d278) at
subversion/libsvn_subr/cmdline.c:323
#6  0x0000002a963f2d0a in svn_cmdline_fprintf (stream=0x3b9d733680,
pool=0x54d278, fmt=0x2a964360d2 "Type '%s help' for usage.\n") at
subversion/libsvn_subr/cmdline.c:314
#7  0x0000002a964121dc in svn_opt_print_help3 (os=0x0, pgm_name=0x425634
"svn", print_version=0, quiet=0,
    version_footer=0x54d820 "The following repository access (RA) modules
are available:\n\n* ra_neon : Module for accessing a repository via WebDAV
protocol using Neon.\n  - handles 'http' scheme\n  - handles 'https'
scheme\n* ra_svn"...,
    header=0x54d4c8 "usage: svn <subcommand> [options] [args]\nSubversion
command-line client, version 1.7.2.\nType 'svn help <subcommand>' for help
on a specific subcommand.\nType 'svn --version' to see the program version
"..., cmd_table=0x537280, option_table=0x536840, global_options=0x427cc0,
    footer=0x7fbfffe880 "Subversion is a tool for version control.\nFor
additional information, see http://subversion.apache.org/\n",
pool=0x54d278) at subversion/libsvn_subr/opt.c:1134
#8  0x000000000040d6f2 in svn_cl__help (os=0x0, baton=0x0, pool=0x54d278)
at subversion/svn/help-cmd.c:82
#9  0x0000000000412b0d in main (argc=1, argv=0x7fbfffef68) at
subversion/svn/main.c:1523

(gdb) info locals
status = 0

(gdb) info args
convset = (apr_xlate_t *) 0x2d6674752d6e7673
inbuf = 0x54da20 "Type 'svn help' for usage.\n"
inbytes_left = (apr_size_t *) 0x7fbfffe508
outbuf = 0x54da60 ""
outbytes_left = (apr_size_t *) 0x7fbfffe500

My be related to this:
http://svn.haxx.se/users/archive-2011-08/0210.shtml

Building with 'make CFLAGS=-O0' did not help.

Any help appreciated.

Sebastian Magda

Re: SVN 1.7.2 crashes immediately on start in APR xlate/xlate.c

Posted by Philip Martin <ph...@wandisco.com>.
Sebastian Magda <ma...@cortechslabs.com> writes:

> Built and installed the latest stable version
> subversion-1.7.2.tar.gz<http://apache.mirrors.pair.com/subversion/subversion-1.7.2.tar.gz>
> Crashes immediately on start:
>
> : svn
> Segmentation fault (core dumped)

> : gcc -v
> Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.6/specs
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-shared --enable-threads=posix
> --disable-checking --with-system-zlib --enable-__cxa_atexit
> --disable-libunwind-exceptions --enable-java-awt=gtk
> --host=x86_64-redhat-linux
> Thread model: posix
> gcc version 3.4.6 20060404 (Red Hat 3.4.6-11)

That's a very old gcc, it's probably this problem:

http://subversion.apache.org/docs/release-notes/1.7.html#rhel-2-issue

-- 
Philip

Re: SVN 1.7.2 crashes immediately on start in APR xlate/xlate.c

Posted by Daniel Shahaf <da...@elego.de>.
Sebastian Magda wrote on Sat, Jan 28, 2012 at 00:05:19 -0800:
> Built and installed the latest stable version
> subversion-1.7.2.tar.gz<http://apache.mirrors.pair.com/subversion/subversion-1.7.2.tar.gz>
> Crashes immediately on start:
> 
> : svn
> Segmentation fault (core dumped)
> 
> Build details:
> 
> : ./configure --with-ssl --with-apr=/usr/local/apache2
> --with-apr-util=/usr/local/apache2 --with-apxs=/usr/local/apache2/bin/apxs
> --enable-debug
> : make
> : make install
> : which svn
> /usr/local/bin/svn
...
> : gdb svn core.3020
> GNU gdb Red Hat Linux (6.3.0.0-1.162.el4rh)
> #0  apr_xlate_conv_buffer (convset=0x2d6674752d6e7673, inbuf=0x54da20 "Type
> 'svn help' for usage.\n", inbytes_left=0x7fbfffe508, outbuf=0x54da60 "",
> outbytes_left=0x7fbfffe500) at xlate/xlate.c:339
> 339         if (convset->ich != (iconv_t)-1) {
> 
> (gdb) bt
> #0  apr_xlate_conv_buffer (convset=0x2d6674752d6e7673, inbuf=0x54da20 "Type
> 'svn help' for usage.\n", inbytes_left=0x7fbfffe508, outbuf=0x54da60 "",
> outbytes_left=0x7fbfffe500) at xlate/xlate.c:339
> #1  0x0000002a96428a9d in convert_to_stringbuf (node=0x2a9643884a,
> src_data=0x54da20 "Type 'svn help' for usage.\n", src_length=27,
> dest=0x7fbfffe580, pool=0x54d278) at subversion/libsvn_subr/utf.c:540
> #2  0x0000002a9642925f in convert_cstring (dest=0x7fbfffe648, src=0x54da20
> "Type 'svn help' for usage.\n", node=0x2a9643884a, pool=0x54d278) at
> subversion/libsvn_subr/utf.c:774
> #3  0x0000002a96429804 in svn_utf_cstring_from_utf8 (dest=0x7fbfffe648,
> src=0x54da20 "Type 'svn help' for usage.\n", pool=0x54d278) at
> subversion/libsvn_subr/utf.c:908
> #4  0x0000002a963f2a3d in svn_cmdline_cstring_from_utf8 (dest=0x7fbfffe648,
> src=0x54da20 "Type 'svn help' for usage.\n", pool=0x54d278) at
> subversion/libsvn_subr/cmdline.c:244
> #5  0x0000002a963f2d34 in svn_cmdline_fputs (string=0x54da20 "Type 'svn
> help' for usage.\n", stream=0x3b9d733680, pool=0x54d278) at
> subversion/libsvn_subr/cmdline.c:323
> #6  0x0000002a963f2d0a in svn_cmdline_fprintf (stream=0x3b9d733680,
> pool=0x54d278, fmt=0x2a964360d2 "Type '%s help' for usage.\n") at
> subversion/libsvn_subr/cmdline.c:314
> #7  0x0000002a964121dc in svn_opt_print_help3 (os=0x0, pgm_name=0x425634
> "svn", print_version=0, quiet=0,
>     version_footer=0x54d820 "The following repository access (RA) modules
> are available:\n\n* ra_neon : Module for accessing a repository via WebDAV
> protocol using Neon.\n  - handles 'http' scheme\n  - handles 'https'
> scheme\n* ra_svn"...,
>     header=0x54d4c8 "usage: svn <subcommand> [options] [args]\nSubversion
> command-line client, version 1.7.2.\nType 'svn help <subcommand>' for help
> on a specific subcommand.\nType 'svn --version' to see the program version
> "..., cmd_table=0x537280, option_table=0x536840, global_options=0x427cc0,
>     footer=0x7fbfffe880 "Subversion is a tool for version control.\nFor
> additional information, see http://subversion.apache.org/\n",
> pool=0x54d278) at subversion/libsvn_subr/opt.c:1134
> #8  0x000000000040d6f2 in svn_cl__help (os=0x0, baton=0x0, pool=0x54d278)
> at subversion/svn/help-cmd.c:82
> #9  0x0000000000412b0d in main (argc=1, argv=0x7fbfffef68) at
> subversion/svn/main.c:1523
> 
> (gdb) info locals
> status = 0
> 
> (gdb) info args
> convset = (apr_xlate_t *) 0x2d6674752d6e7673

% echo 2d6674752d6e7673 | xxd -p -r
-ftu-nvs
% fgrep \"svn-utf- subversion/*/*[hc] subversion/*[hc]
subversion/libsvn_subr/utf.c:static const char *SVN_UTF_NTOU_XLATE_HANDLE = "svn-utf-ntou-xlate-handle";
subversion/libsvn_subr/utf.c:static const char *SVN_UTF_UTON_XLATE_HANDLE = "svn-utf-uton-xlate-handle";
subversion/libsvn_subr/utf.c:  return apr_pstrcat(pool, "svn-utf-", frompage, "to", topage,

I don't recall offhand whether this was already fixed, though Philip
might remember.

> inbuf = 0x54da20 "Type 'svn help' for usage.\n"
> inbytes_left = (apr_size_t *) 0x7fbfffe508
> outbuf = 0x54da60 ""
> outbytes_left = (apr_size_t *) 0x7fbfffe500
> 
> My be related to this:
> http://svn.haxx.se/users/archive-2011-08/0210.shtml
> 

Yes, that 2d6674752d6e7673 value appears there too.

> Building with 'make CFLAGS=-O0' did not help.
> 
> Any help appreciated.
> 
> Sebastian Magda