My guess (and it is just a guess) is that mod_jk has not been modified to accomodate
the
new map_to_storage hook. If jk is still using the translate phase trick of nulling out
r->filename to circumvent the directory_walk, you will almost certainly get a segfault.
If this is the case, then mod_jk's translate phase hook needs to become a
map_to_storage
hook, and the code that nulls out r->filename needs to be removed.
Bill
> Oops.. I forgot to mention the MPM - it's prefork ...Here's the stack once
> again :
>
>
> (gdb) where
> #0 0xc01f22b8 in kill () from /usr/lib/libc.2
> #1 0xfc360 in sig_coredump (sig=1074493040) at prefork.c:374
> #2 0x124f0c in ap_run_type_checker (r=0x400b7670) at request.c:115
> #3 0x1260a0 in ap_process_request_internal (r=0x400b7670) at request.c:264
> #4 0xfa7e4 in ap_process_request (r=0x400b7670) at http_request.c:284
> #5 0xf2308 in ap_process_http_connection (c=0x401124e8) at http_core.c:289
> #6 0x111064 in ap_run_process_connection (c=0x401124e8) at connection.c:82
> #7 0x111424 in ap_process_connection (c=0x401124e8) at connection.c:219
> #8 0xfd3a0 in child_main (child_num_arg=2) at prefork.c:803
> #9 0xfd640 in make_child (s=0x40043d38, slot=2) at prefork.c:890
> #10 0xfd72c in startup_children (number_to_start=3) at prefork.c:913
> #11 0xfdf9c in ap_mpm_run (_pconf=0x400430a0, plog=0x40071380, s=0x40043d38)
> at prefork.c:1129
> #12 0x109328 in main (argc=2, argv=0x77ff0a64) at main.c:432
> (gdb) fr 2
> #2 0x124f0c in ap_run_type_checker (r=0x400b7670) at request.c:115
> 115 (request_rec *r),(r),DECLINED)
> (gdb) p *r
> $1 = {pool = 0x400b7640, connection = 0x401124e8, server = 0x40043d38,
> next = 0x0, prev = 0x0, main = 0x0,
> the_request = 0x400b7e40 "GET /examples HTTP/1.1", assbackwards = 0,
> proxyreq = 0, header_only = 0, protocol = 0x400b7e90 "HTTP/1.1",
> proto_num = 1001, hostname = 0x400b8208 "jolteon.cup.hp.com",
> request_time = 1005273655480897, status_line = 0x0, status = 200,
> method = 0x400b7e58 "GET", method_number = 0, allowed = 0,
> allowed_xmethods = 0x0, allowed_methods = 0x400b77f8, sent_bodyct = 0,
> bytes_sent = 0, mtime = 0, chunked = 0, boundary = 0x0, range = 0x0,
> clength = 0, remaining = 0, read_length = 0, read_body = 0,
> read_chunked = 0, expecting_100 = 0, headers_in = 0x400b7828,
> headers_out = 0x400b7b78, err_headers_out = 0x400b7bf0,
> subprocess_env = 0x400b79d0, notes = 0x400b7c30, content_type = 0x0,
> handler = 0x400b8358 "jakarta-servlet", content_encoding = 0x0,
> content_languages = 0x0, vlist_validator = 0x0, user = 0x0,
> ap_auth_type = 0x0, no_cache = 0, no_local_copy = 0,
> unparsed_uri = 0x400b7e70 "/examples", uri = 0x400b7e80 "/examples",
> filename = 0x0, canonical_filename = 0x0, path_info = 0x0, args = 0x0,
> finfo = {cntxt = 0x0, valid = 0, protection = 0, filetype = APR_NOFILE,
> user = 0, group = 0, inode = 0, device = 0, nlink = 0, size = 0,
> csize = 0, atime = 0, mtime = 0, ctime = 0, fname = 0x0, name = 0x0,
> filehand = 0x0}, parsed_uri = {scheme = 0x0, hostinfo = 0x0, user = 0x0,
>
> password = 0x0, hostname = 0x0, port_str = 0x400b8220 "6080",
> path = 0x400b7e80 "/examples", query = 0x0, fragment = 0x0, hostent =
> 0x0,
> port = 6080, is_initialized = 1, dns_looked_up = 0, dns_resolved = 0},
> per_dir_config = 0x40044358, request_config = 0x400b7c70, htaccess = 0x0,
> output_filters = 0x40112750, input_filters = 0x400b8230, eos_sent = 0}
> (gdb)
>