Subversion (svn co) segmentation faults every time

Discussion in general that pertains to Sabayon Linux - Must Pertain to Sabayon Linux

Moderator: Moderators

Subversion (svn co) segmentation faults every time

Postby manneorama » Fri Mar 09, 2012 15:14

My fresh install of subversion seems to be completely b0rkd.

The latest entropy package of Subversion has been acting up in the past on my 64bit development machine (Sabayon7 x86_64 G) by failing on something like every 3-4 checkouts/commits with the message:
Code: Select all
svn: E175002: Unable to connect to a repository at URL 'https://blah.net/trunk'
svn: E175002: OPTIONS of 'https://blah.net/trunk': SSL handshake failed: SSL error: The request is invalid. (https://blah.net)


Today, on a fresh install of Sabayon7 on my 32bit development machine (Sabayon_Linux_7_x86_G.iso), with equo upgrade --ask done yesterday, subversion is either displaying the message above, or segfaulting. Here's a backtrace:
Code: Select all

#0  0xb78fc67f in ?? () from /usr/lib/libgcrypt.so.11
#1  0xb78fd09e in ?? () from /usr/lib/libgcrypt.so.11
#2  0xb78fd545 in ?? () from /usr/lib/libgcrypt.so.11
#3  0xb78fd269 in ?? () from /usr/lib/libgcrypt.so.11
#4  0xb78e2526 in ?? () from /usr/lib/libgcrypt.so.11
#5  0xb78d874b in gcry_cipher_setkey () from /usr/lib/libgcrypt.so.11
#6  0xb799c54b in ?? () from /usr/lib/libgnutls.so.26
#7  0xb797f488 in ?? () from /usr/lib/libgnutls.so.26
#8  0xb798a1fa in ?? () from /usr/lib/libgnutls.so.26
#9  0xb7978b87 in ?? () from /usr/lib/libgnutls.so.26
#10 0xb7978f58 in ?? () from /usr/lib/libgnutls.so.26
#11 0xb7979228 in gnutls_handshake () from /usr/lib/libgnutls.so.26
#12 0xb7a77d60 in ne_sock_connect_ssl () from /usr/lib/libneon.so.27
#13 0xb7a83174 in ?? () from /usr/lib/libneon.so.27
#14 0xb7a6f076 in ?? () from /usr/lib/libneon.so.27
#15 0xb7a6face in ne_begin_request () from /usr/lib/libneon.so.27
#16 0xb7a6ef05 in ne_request_dispatch () from /usr/lib/libneon.so.27
#17 0xb7c279b5 in svn_ra_neon__request_dispatch () from /usr/lib/libsvn_ra_neon-1.so.0
#18 0xb7c1f374 in svn_ra_neon__exchange_capabilities () from /usr/lib/libsvn_ra_neon-1.so.0
#19 0xb7c25017 in ?? () from /usr/lib/libsvn_ra_neon-1.so.0
#20 0xb7ee6d08 in svn_ra_open4 () from /usr/lib/libsvn_ra-1.so.0
#21 0xb7fcb083 in svn_client__open_ra_session_internal () from /usr/lib/libsvn_client-1.so.0
#22 0xb7fcbe58 in svn_client__ra_session_from_path () from /usr/lib/libsvn_client-1.so.0
#23 0xb7f9d1b9 in svn_client__checkout_internal () from /usr/lib/libsvn_client-1.so.0
#24 0xb7f9d778 in svn_client_checkout3 () from /usr/lib/libsvn_client-1.so.0
#25 0x0804e8c8 in ?? ()
#26 0x080578b3 in ?? ()
#27 0xb7c8be03 in __libc_start_main () from /lib/libc.so.6
#28 0x0804d28d in ?? ()


I'm sorry for the lack of debug symbols. The segfault is happening somewhere in libgcrypt apparently. I've tried most combinations of reinstalling various packages related to subversion or subversion itself. I've looked hard for any configuration files left hanging after removal and removed them manually (like the ~/.subversion-directory). I'm at my wits end here and this is my main machine for development at work so I'm getting quite stressed now. I've even tried to manually compile subversion against it's dependencies installed from sabayon-weekly (APR etc.) to no avail.

Any tips, pointers and help would be immensely appreciated.

EDIT:
Checking out non-https repos works like a charm.

EDIT 2:
So now I've successfully managed to compile apr, apr-util and subversion manually from sources obtained from apache.org. Same problem there, backtrace:

Code: Select all
#0  0xb76fa67f in ?? () from /usr/lib/libgcrypt.so.11
#1  0xb76fb09e in ?? () from /usr/lib/libgcrypt.so.11
#2  0xb76fb545 in ?? () from /usr/lib/libgcrypt.so.11
#3  0xb76fb269 in ?? () from /usr/lib/libgcrypt.so.11
#4  0xb76e0526 in ?? () from /usr/lib/libgcrypt.so.11
#5  0xb76d674b in gcry_cipher_setkey () from /usr/lib/libgcrypt.so.11
#6  0xb7a4554b in ?? () from /usr/lib/libgnutls.so.26
#7  0xb7a28488 in ?? () from /usr/lib/libgnutls.so.26
#8  0xb7a331fa in ?? () from /usr/lib/libgnutls.so.26
#9  0xb7a21b87 in ?? () from /usr/lib/libgnutls.so.26
#10 0xb7a21f58 in ?? () from /usr/lib/libgnutls.so.26
#11 0xb7a22228 in gnutls_handshake () from /usr/lib/libgnutls.so.26
#12 0xb7abbd60 in ne_sock_connect_ssl () from /usr/lib/libneon.so.27
#13 0xb7ac7174 in ?? () from /usr/lib/libneon.so.27
#14 0xb7ab3076 in ?? () from /usr/lib/libneon.so.27
#15 0xb7ab3ace in ne_begin_request () from /usr/lib/libneon.so.27
#16 0xb7ab2f05 in ne_request_dispatch () from /usr/lib/libneon.so.27
#17 0xb7bedbb2 in svn_ra_neon__request_dispatch (code_p=0xbfffe71c, req=0x809dc00, extra_headers=0x0,
    body=0xb7bf0914 "<?xml version=\"1.0\" encoding=\"utf-8\"?><D:options xmlns:D=\"DAV:\"><D:activity-collection-set/></D:options>", okay_1=200, okay_2=0, pool=0x8095bb0) at subversion/libsvn_ra_neon/util.c:1454
#18 0xb7be5b66 in svn_ra_neon__exchange_capabilities (ras=0x8095d58, pool=0x8095bb0) at subversion/libsvn_ra_neon/options.c:233
#19 0xb7beb525 in svn_ra_neon__open (session=0x8095ca8,
    repos_URL=0x8090c18 "https://blah.net/trunk", callbacks=0x8095bf0, callback_baton=0x8095c18,
    config=0x807f300, pool=0x8095bb0) at subversion/libsvn_ra_neon/session.c:1044
#20 0xb7f42e38 in svn_ra_open3 (session_p=0xbfffe974, repos_URL=0x8090c18 "https://blah.net/trunk",
    uuid=0x0, callbacks=0x8095bf0, callback_baton=0x8095c18, config=0x807f300, pool=0x8095bb0)
    at subversion/libsvn_ra/ra_loader.c:480
#21 0xb7fcdbfa in svn_client__open_ra_session_internal (ra_session=0xbfffe974,
    base_url=0x8090c18 "https://blah.net/trunk", base_dir=0x0, base_access=0x0, commit_items=0x0,
    use_admin=0, read_only_wc=0, ctx=0x807f2b0, pool=0x8095bb0) at subversion/libsvn_client/ra.c:295
#22 0xb7fce9aa in svn_client__ra_session_from_path (ra_session_p=0xbfffea10, rev_p=0xbfffea14, url_p=0xbfffea18,
    path_or_url=0x8090c18 "https://blah.net/trunk", base_access=0x0, peg_revision_p=0xbfffead8,
    revision=0xbfffeacc, ctx=0x807f2b0, pool=0x8095bb0) at subversion/libsvn_client/ra.c:445
#23 0xb7fa8d7e in svn_client__checkout_internal (result_rev=0x0, url=<optimized out>, path=0x809ae68 "trunk",
    peg_revision=0xbfffead8, revision=0xbfffeacc, ra_cache=0x0, depth=svn_depth_unknown, ignore_externals=0,
    allow_unver_obstructions=0, timestamp_sleep=0x0, ctx=0x807f2b0, pool=0x8090ba0) at subversion/libsvn_client/checkout.c:109
#24 0xb7fb7293 in svn_client_checkout3 (result_rev=0x0, URL=0x8090be0 "https://blah.net/trunk",
    path=0x809ae68 "trunk", peg_revision=0xbfffead8, revision=0xbfffeacc, depth=svn_depth_unknown, ignore_externals=0,
    allow_unver_obstructions=0, ctx=0x807f2b0, pool=0x8090ba0) at subversion/libsvn_client/deprecated.c:1453
#25 0x0804d9ac in svn_cl__checkout (os=0x807eb70, baton=0xbfffecec, pool=0x807e9c0) at subversion/svn/checkout-cmd.c:160
#26 0x08055b1a in main (argc=4, argv=0xbfffedd4) at subversion/svn/main.c:2119


This would suggest to me that either libneon, libgnutls, or libgcrypt is somehow broken or otherwise doing The Wrong Thing.

Note that blah.net/trunk is not a real svn repository :)

EDIT 3:
So, a manual recompile of libgcrypt solved the problem.

Code: Select all
./configure --prefix=/opt/libgcrypt
make
sudo make install
LD_LIBRARY_PATH=/opt/libgcrypt/lib svn co https://blah.net/trunk trunk
#great success!


What should I do now? Report a bug? Guidance most welcome :)
manneorama
Baby Hen
 
Posts: 2
Joined: Mon Mar 05, 2012 16:28

Return to Sabayon Linux General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest