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

Reply via email to