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

Re: JavaHL segfault on svn-x64-ubuntu-gcc buildbot

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Thu, 26 Jun 2014 12:04:25 +0100

Branko Čibej <brane_at_wandisco.com> writes:

> Results from valgrind or a debugger are pretty much useless because
> there appear to be cases where the JVM /expects/ segfaults to happen,
> and handles them itself ... but valgrind doesn't know enough to ignore
> them. Since they happen in different threads, the timing is not predictable.

Right, so when gdb catches a SEGV it is possible to continue execution
and further SEGVs are caught. Playing with this a bit it appears that
the SEGV that matters is this one:

Program received signal SIGSEGV, Segmentation fault.
0x00007fffe6529de8 in find_entry (ht=0x7fffd8060c60, key=0x7fffe69a00a8,
    klen=-1, val=0x0) at tables/apr_hash.c:271
271 hash = ht->hash_func(key, &klen);
(gdb) bt
#0 0x00007fffe6529de8 in find_entry (ht=0x7fffd8060c60, key=0x7fffe69a00a8,
    klen=-1, val=0x0) at tables/apr_hash.c:271
#1 0x00007fffe652a14f in apr_hash_get (ht=0x7fffd8060c60, key=0x7fffe69a00a8,
    klen=-1) at tables/apr_hash.c:344
#2 0x00007fffe698b610 in (anonymous namespace)::build_credential (env=...,
    cred=0x7fffd8060c60, cred_kind=0x7fffd80652c0 "svn.username",
    realm=0x7fffd80652e0 "https://svn.example.com:443",
    scratch_pool=0x7fffd8068550)
    at ../src/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigLib.cpp:102
#3 0x00007fffe698c138 in Java_org_apache_subversion_javahl_util_ConfigLib_nativeGetCredential (jenv=0x60d9d8, jthis=0x7ffff7fd5c70,
    jconfig_dir=0x7ffff7fd5c68, jcred_kind=0x7ffff7fd5c60,
    jrealm=0x7ffff7fd5c58)
    at ../src/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigLib.cpp:297
#4 0x00007ffff2480cd8 in ?? ()
#5 0x000000000060e438 in ?? ()
#6 0x000000000060e438 in ?? ()
#7 0x000000000060e468 in ?? ()
#8 0x000000000060e468 in ?? ()
#9 0x00007ffffffffffe in ?? ()
#10 0x00007ffff7fd5bf8 in ?? ()
#11 0x00000006ff6e7cc8 in ?? ()
#12 0x00007ffff7fd5c70 in ?? ()
#13 0x00000006ff6e8270 in ?? ()
#14 0x0000000000000000 in ?? ()

(gdb) p ht
$1 = (apr_hash_t *) 0x7fffd8060c60
(gdb) p ht[0]
$2 = {pool = 0x7fffd8006470, array = 0x4141414141414141, iterator = {
    ht = 0x4141414141414141, this = 0x4141414141414141,
    next = 0x4141414141414141, index = 1094795585}, count = 1094795585,
  max = 1094795585, seed = 1094795585, hash_func = 0x4141414141414141,
  free = 0x4141414141414141}

(gdb) up 3
#3 0x00007fffe698c138 in Java_org_apache_subversion_javahl_util_ConfigLib_nativeGetCredential (jenv=0x60d9d8, jthis=0x7ffff7fd5c70,
    jconfig_dir=0x7ffff7fd5c68, jcred_kind=0x7ffff7fd5c60,
    jrealm=0x7ffff7fd5c58)
    at ../src/subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigLib.cpp:297
297 pool.getPool());
(gdb) p cb
$6 = {<(anonymous namespace)::WalkCredentialsCallback> = {
    _vptr.WalkCredentialsCallback = 0x7fffe69bb650},
  m_cred_kind = 0x7fffd80652c0 "svn.username",
  m_realm = 0x7fffd80652e0 "https://svn.example.com:443",
  m_delete_when_found = false, m_cred = 0x7fffd8060c60}

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Received on 2014-06-26 13:05:04 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.