[
https://issues.apache.org/jira/browse/SERF-166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15704947#comment-15704947
]
Simon Bin commented on SERF-166:
--------------------------------
Here is a GDB backtrace of such a hang
{code}
#0 0x00007ffff6b16f1c in __lll_lock_wait () at
../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1 0x00007ffff6b10b45 in __GI___pthread_mutex_lock (mutex=0x555555b78e90) at
../nptl/pthread_mutex_lock.c:80
__PRETTY_FUNCTION__ = "__pthread_mutex_lock"
type = 0
id = <optimized out>
#2 0x00007ffff6d407e9 in apr_thread_mutex_lock (mutex=<optimized out>) at
locks/unix/thread_mutex.c:92
#3 0x00007ffff6d41099 in apr_allocator_alloc
(in_size=in_size@entry=93824996947640, allocator=0x5555559d36b8) at
memory/unix/apr_pools.c:244
node = <optimized out>
ref = <optimized out>
max_index = <optimized out>
i = <optimized out>
size = 8192
index = 1
#4 0x00007ffff6d41099 in apr_allocator_alloc (allocator=0x5555559d36b8,
size=size@entry=8088) at memory/unix/apr_pools.c:438
#5 0x00007ffff44bb93c in serf_bucket_mem_alloc
(allocator=allocator@entry=0x555555ab0620, size=8088, size@entry=8072) at
buckets/allocator.c:218
memnode = <optimized out>
node = <optimized out>
#6 0x00007ffff44bfb17 in serf_bucket_response_create (stream=0x555555b8f038,
allocator=0x555555ab0620) at buckets/response_buckets.c:81
ctx = <optimized out>
#7 0x00007ffff44ba217 in serf__process_connection (conn=0x555555a369a8) at
outgoing.c:1130
dummy1 = 0x555555a1fa98
dummy2 = 0x555555a1f998
status = <optimized out>
tmppool = 0x555555b548d8
request = 0x555555ae9ce8
close_connection = <optimized out>
status = <optimized out>
#8 0x00007ffff44ba217 in serf__process_connection
(conn=conn@entry=0x555555a369a8, events=<optimized out>) at outgoing.c:1257
status = <optimized out>
#9 0x00007ffff44b868e in serf_event_trigger (s=s@entry=0x5555557d3668,
serf_baton=<optimized out>, desc=<optimized out>) at context.c:231
conn = 0x555555a369a8
ctx = 0x5555557d3668
tdesc = {p = 0x0, desc_type = APR_NO_DESC, reqevents = 0, rtnevents =
0, desc = {f = 0x0, s = 0x0}, client_data = 0x0}
status = 0
io = <optimized out>
#10 0x00007ffff44b87c9 in serf_context_run (ctx=0x5555557d3668,
duration=duration@entry=500000, pool=pool@entry=0x555555830528) at context.c:305
io = <optimized out>
status = <optimized out>
num = 0
desc = 0x5555557d38c0
ps = 0x5555557d36f0
#11 0x00007ffff5f00be1 in svn_ra_serf__context_run
(sess=sess@entry=0x5555557d2dc0,
waittime_left=waittime_left@entry=0x7fffffffd028,
scratch_pool=scratch_pool@entry=0x555555830528) at
subversion/libsvn_ra_serf/util.c:866
status = <optimized out>
err = <optimized out>
scratch_pool = 0x555555830528
waittime_left = 0x7fffffffd028
sess = 0x5555557d2dc0
#12 0x00007ffff5eff4b8 in finish_report (scratch_pool=0x5555557e8238,
handler=0x5555557e83d0, ctx=0x5555557c1008) at
subversion/libsvn_ra_serf/update.c:2614
err = <optimized out>
i = <optimized out>
sess = 0x5555557d2dc0
iterpool = 0x555555830528
waittime_left = 600000000
report = 0x5555557c1008
sess = <optimized out>
handler = 0x5555557e83d0
xmlctx = <optimized out>
report_target = 0x5555557e82f8 "/projects/!svn/me"
buf = 0x5555557e82b0
scratch_pool = 0x5555557e8238
err = <optimized out>
#13 0x00007ffff5eff4b8 in finish_report (report_baton=0x5555557c1008,
pool=<optimized out>) at subversion/libsvn_ra_serf/update.c:2688
report = 0x5555557c1008
sess = <optimized out>
handler = 0x5555557e83d0
xmlctx = <optimized out>
report_target = 0x5555557e82f8 "/projects/!svn/me"
buf = 0x5555557e82b0
scratch_pool = 0x5555557e8238
err = <optimized out>
#14 0x00007ffff78d40fc in svn_wc_crawl_revisions5 (wc_ctx=<optimized out>,
local_abspath=local_abspath@entry=0x5555557be1b0, reporter=
0x7ffff61113e0 <ra_serf_reporter>, report_baton=0x5555557c1008,
restore_files=restore_files@entry=1, depth=<optimized out>,
depth@entry=svn_depth_unknown, honor_depth_exclude=1,
depth_compatibility_trick=0, use_commit_times=0, cancel_func=0x555555573bf0
<svn_cl__check_cancel>, cancel_baton=0x0, notify_func=0x55555556ec40
<svn_cl__check_externals_failed_notify_wrapper>, notify_baton=0x7fffffffd5b0,
scratch_pool=0x5555557be088) at subversion/libsvn_wc/adm_crawler.c:859
#15 0x00007ffff7bc30ad in update_internal (result_rev=result_rev@entry=0x0,
timestamp_sleep=timestamp_sleep@entry=0x7fffffffd4f4,
conflicted_paths=conflicted_paths@entry=0x5555557bfd58,
ra_session_p=ra_session_p@entry=0x7fffffffd428,
local_abspath=local_abspath@entry=0x5555557be1b0,
anchor_abspath=anchor_abspath@entry=0x5555557bfe28, revision=
0x7fffffffd3b0, depth=svn_depth_unknown, depth_is_sticky=0,
ignore_externals=0, allow_unver_obstructions=0, adds_as_modification=1,
notify_summary=1, ctx=0x5555557ae3b0, result_pool=0x5555557be088,
scratch_pool=0x5555557be088)
at subversion/libsvn_client/update.c:501
#16 0x00007ffff7bc3858 in svn_client__update_internal
(result_rev=result_rev@entry=0x0,
timestamp_sleep=timestamp_sleep@entry=0x7fffffffd4f4,
local_abspath=local_abspath@entry=0x5555557be1b0,
revision=revision@entry=0x7fffffffd590, depth=depth@entry=svn_depth_unknown,
depth_is_sticky=depth_is_sticky@entry=1, ignore_externals=0,
allow_unver_obstructions=0, adds_as_modification=1, make_parents=0,
innerupdate=0, ra_session=<optimized out>, ctx=<optimized out>, pool=<optimized
out>) at subversion/libsvn_client/update.c:648
#17 0x00007ffff7b87574 in svn_client__checkout_internal
(result_rev=result_rev@entry=0x0,
timestamp_sleep=timestamp_sleep@entry=0x7fffffffd4f4,
url=url@entry=0x5555557bc9b0, local_abspath=0x5555557be1b0,
peg_revision=peg_revision@entry=0x7fffffffd5a0, revision=revision@entry=
0x7fffffffd590, depth=svn_depth_unknown, ignore_externals=0,
allow_unver_obstructions=0, ra_session=<optimized out>, ctx=0x5555557ae3b0,
scratch_pool=0x5555557be088) at subversion/libsvn_client/checkout.c:187
#18 0x00007ffff7b876d1 in svn_client_checkout3
(result_rev=result_rev@entry=0x0, URL=0x5555557bc9b0, path=<optimized out>,
peg_revision=peg_revision@entry=
0x7fffffffd5a0, revision=revision@entry=0x7fffffffd590,
depth=svn_depth_unknown, ignore_externals=0, allow_unver_obstructions=0,
ctx=0x5555557ae3b0, pool=0x5555557be088) at
subversion/libsvn_client/checkout.c:216
#19 0x00005555555611e5 in svn_cl__checkout (os=<optimized out>,
baton=<optimized out>, pool=<optimized out>) at
subversion/svn/checkout-cmd.c:168
#20 0x0000555555575948 in sub_main (exit_code=0x7fffffffd98c, argc=<optimized
out>, argv=<optimized out>, pool=<optimized out>) at subversion/svn/svn.c:3041
#21 0x000055555555ef93 in main (argc=4, argv=0x7fffffffda88) at
subversion/svn/svn.c:3126
{code}
> subversion + serf + kerberos + https hangs
> ------------------------------------------
>
> Key: SERF-166
> URL: https://issues.apache.org/jira/browse/SERF-166
> Project: serf
> Issue Type: Bug
> Reporter: Serf Importer
> Labels: Priority-Medium, Type-Defect
>
> Checking out a medium sized repo using kerberos and https
> hangs in mid air. Kill with Ctrl-C and do svn update and it too
> hangs before finished.
> However, following this advise about apache:
> The MaxKeepAliveRequests option in httpd.conf needs to be increased from 100
> (the default) to at least 1000 (there is no reason why it could not be
> 10000). This will improve performance by allowing serf clients to use fewer
> TCP connections to the server. Clients using neon will also work fine with
> this configuration.
> Makes the hangs go away. Seems like there is a bug in serf handling low
> numbers
> for MaxKeepAliveRequests
> subversion 1.8.13 and serf 1.3.8
> Original issue reported by *joakim.tjernlund*
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)