Hi,
I get a crash on Solaris Sparc during startup in the test suite after
the proxy refactoring. Since it is a "Bus error" I wildly guess the root
cause is an alignment issue in the shared memory. Sparc ist sensible to
that and the only other Bus error or httpd I remember was wrong
alignment in shm for mod_ssl shmcb (long ago).
GDB output:
#0 0xfdfdd028 in ap_proxy_initialize_worker (worker=0x3cf6f8,
s=0x3ceb90, p=0x8a9a8)
at
/shared/build/dev/httpd/sources/httpd/trunk/r1059644/modules/proxy/proxy_util.c:1760
1760 worker->s->retry =
apr_time_from_sec(PROXY_WORKER_DEFAULT_RETRY);
(gdb) bt full
#0 0xfdfdd028 in ap_proxy_initialize_worker (worker=0x3cf6f8,
s=0x3ceb90, p=0x8a9a8)
at
/shared/build/dev/httpd/sources/httpd/trunk/r1059644/modules/proxy/proxy_util.c:1760
rv = 0
mpm_threads = -27836648
#1 0xfdef4b54 in balancer_child_init (p=0x50e040, s=0x3ceb90) at
/shared/build/dev/httpd/sources/httpd/trunk/r1059644/modules/proxy/mod_proxy_balancer.c:122
size = 472
num = 2
balancer = (proxy_balancer *) 0x3e8d58
i = 0
sconf = (void *) 0x0
conf = (proxy_server_conf *) 0x3e8c48
rv = 0
#2 0x000448d8 in ap_run_child_init (pchild=0x50e040, s=0x8f478) at
/shared/build/dev/httpd/sources/httpd/trunk/r1059644/server/config.c:160
pHook = (ap_LINK_child_init_t *) 0xfdef6370
n = 10
#3 0xfdb625b8 in child_main (child_num_arg=0) at
/shared/build/dev/httpd/sources/httpd/trunk/r1059644/server/mpm/prefork/prefork.c:509
thd = (apr_thread_t *) 0x50e080
osthd = 1
ptrans = (apr_pool_t *) 0x510050
allocator = (apr_allocator_t *) 0x4d7fa8
status = 0
i = -38310956
lr = (ap_listen_rec *) 0xfdb76be4
pollset = (apr_pollset_t *) 0x0
sbh = (ap_sb_handle_t *) 0x0
bucket_alloc = (apr_bucket_alloc_t *) 0x0
last_poll_idx = 0
lockfile = 0x0
#4 0xfdb62d7c in make_child (s=0x0, slot=0) at
/shared/build/dev/httpd/sources/httpd/trunk/r1059644/server/mpm/prefork/prefork.c:708
pid = -38394916
#5 0xfdb639e0 in prefork_run (_pconf=0x7f33c, plog=0xbb288, s=0x8f478)
at
/shared/build/dev/httpd/sources/httpd/trunk/r1059644/server/mpm/prefork/prefork.c:932
status = -27184100
pid = {pid = 520952, in = 0x6, out = 0xffbff698, err = 0x44c10}
child_slot = 586872
exitwhy = 4267715968
processed_status = 766600
index = 766600
remaining_children_to_start = -4196752
#6 0x00030cd4 in ap_run_mpm (pconf=0x8a9a8, plog=0xbb288, s=0x8f478) at
/shared/build/dev/httpd/sources/httpd/trunk/r1059644/server/mpm_common.c:90
pHook = (ap_LINK_mpm_t *) 0x0
n = 0
rv = 567720
#7 0x0002bb74 in main (argc=8, argv=0xffbff82c) at
/shared/build/dev/httpd/sources/httpd/trunk/r1059644/server/main.c:737
exit_status = 0
c = 88 'X'
configtestonly = 387072
showcompile = 389800
confname = 0xffbffa03
"/shared/build/dev/httpd/test/httpd/trunk/r1059644/prefork-solaris10.sparc-1.4.2-1-1.3.10-2-all-default/t/conf/httpd.conf"
def_server_root = 0xffbff997
"/shared/build/dev/httpd/test/httpd/trunk/r1059644/prefork-solaris10.sparc-1.4.2-1-1.3.10-2-all-default/t"
temp_error_log = 0x7ec00 ""
error = 0x8a9a8 ""
pconf = (apr_pool_t *) 0x8a9a8
plog = (apr_pool_t *) 0xbb288
ptemp = (apr_pool_t *) 0xbfca0
pcommands = (apr_pool_t *) 0x8c9b0
opt = (apr_getopt_t *) 0x8ca50
rv = 520192
mod = (module **) 0x7f000
opt_arg = 0x0
signal_server = (apr_OFN_ap_signal_server_t *) 0x2
(gdb) print worker->s
$1 = (proxy_worker_shared *) 0xfe49000c
Regards,
Rainer