]
Michal Karm resolved MODCLUSTER-697.
------------------------------------
Fix Version/s: 1.3.12.Final
Resolution: Done
Segfault when DeterministicFailover On
--------------------------------------
Key: MODCLUSTER-697
URL:
https://issues.jboss.org/browse/MODCLUSTER-697
Project: mod_cluster
Issue Type: Bug
Components: Native (httpd modules)
Affects Versions: 1.3.8.Final
Environment:
jbcs-httpd24-mod_cluster-native-1.3.8-1.Final_redhat_1.jbcs.el7.x86_64
Reporter: Hisanobu Okuda
Assignee: Michal Karm
Priority: Blocker
Fix For: 1.3.12.Final
When DeterministicFailover On, httpd segfaults:
{code}
(gdb) bt
#0 proxy_worker_cmp (a=0x7ffb18002438, b=0x7ffb18002470) at mod_proxy_cluster.c:154
#1 0x00007ffba4c87ba3 in msort_with_tmp (p=0x7ffb551b37f0, b=0x7ffb551b3748, n=2) at
msort.c:124
#2 0x00007ffba4c87b02 in msort_with_tmp (n=2, b=0x7ffb551b3748, p=0x7ffb551b37f0) at
msort.c:45
#3 msort_with_tmp (p=0x7ffb551b37f0, b=0x7ffb551b3748, n=5) at msort.c:53
#4 0x00007ffba4c87ef7 in msort_with_tmp (n=5, b=<optimized out>, p=0x7ffb551b37f0)
at msort.c:45
#5 __GI___qsort_r (b=b@entry=0x7ffb18002438, n=n@entry=5, s=s@entry=56,
cmp=cmp@entry=0x7ffb90ae5e00 <proxy_worker_cmp>, arg=arg@entry=0x0) at msort.c:254
#6 0x00007ffba4c88148 in __GI_qsort (b=b@entry=0x7ffb18002438, n=n@entry=5,
s=s@entry=56, cmp=cmp@entry=0x7ffb90ae5e00 <proxy_worker_cmp>) at msort.c:308
#7 0x00007ffb90ae9ae7 in internal_find_best_byrequests (conf=0x55fe55cacb88,
node_table=0x7ffb180108e0, context_table=0x7ffb1800fed8,
vhost_table=0x7ffb1802baa0, failoverdomain=0, domain=0x0, r=0x7ffb18006a10,
balancer=0x55fe56065140) at mod_proxy_cluster.c:2331
#8 find_best_worker (balancer=0x55fe56065140, conf=conf@entry=0x55fe55cacb88,
r=r@entry=0x7ffb18006a10, domain=domain@entry=0x0,
failoverdomain=failoverdomain@entry=0, vhost_table=vhost_table@entry=0x7ffb1802baa0,
context_table=context_table@entry=0x7ffb1800fed8,
node_table=node_table@entry=0x7ffb180108e0, recurse=recurse@entry=1) at
mod_proxy_cluster.c:3484
#9 0x00007ffb90aed611 in proxy_cluster_pre_request (worker=0x7ffb551b3b38,
balancer=0x7ffb551b3b30, r=0x7ffb18006a10, conf=0x55fe55cacb88,
url=0x7ffb551b3b40) at mod_proxy_cluster.c:3851
#10 0x00007ffb9a409fa6 in proxy_run_pre_request () from
/usr/jboss/jbossweb/shopapp_ws_m01/modules/mod_proxy.so
#11 0x00007ffb9a40ec62 in ap_proxy_pre_request () from
/usr/jboss/jbossweb/shopapp_ws_m01/modules/mod_proxy.so
#12 0x00007ffb9a40a7dc in proxy_handler () from
/usr/jboss/jbossweb/shopapp_ws_m01/modules/mod_proxy.so
...
(gdb) disassemble
Dump of assembler code for function proxy_worker_cmp:
0x00007ffb90ae5e00 <+0>: mov (%rdi),%rax
=> 0x00007ffb90ae5e03 <+3>: mov 0x18(%rax),%rdi
(gdb) info registers rax
rax 0x9e10fcde4a34ed64 -7056862584431645340
(gdb) x 0x9e10fcde4a34ed64
0x9e10fcde4a34ed64: Cannot access memory at address 0x9e10fcde4a34ed64
(gdb)
{code}