Re: [mp2] segfaulting apache in ap_pcw_walk_files_config

[prev] [thread] [next] [Date index for 2005/05/25]

From: Philippe M. Chiasson
Subject: Re: [mp2] segfaulting apache in ap_pcw_walk_files_config
Date: 09:16 on 25 May 2005
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig64D74FF9A62E9F0412D87738
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Flavio Curti wrote:
> Hi Philippe & List
> On 5/24/05, Philippe M. Chiasson <gozer@xxxxxxxxx.xxx> wrote:
>>Flavio Curti wrote:
>>
>>>I have a problem running mod_perl-2.0.0 (and the latest devel snapshot too):
>>
>>It would be quite helpfull if you could just get me:
>>(gdb) print *dconf
>>(gdb) print *(dconf->sec_file)

Hrm, so far, I've looked at the configuration files you've sent me and they
look kosher. I was thinking something bogus inherited from your debian's
configuration...Guess not.

One more gdb peek for me please to try and pin this problem down some more.
(gdb) print *s
(gdb) print *pconf

the server_rec should at least show which vhost in your config creates this
bogus state...

> [Switching to Thread -1212529568 (LWP 16147)]
> 0xb75a86dc in ap_pcw_walk_files_config (pconf=0x80c20a8, s=0x80c8018, 
>     dconf=0x80fe4a8, modp=0xb75bb500, 
>     dir_cb=0xb75a82d0 <modperl_hash_handlers_dir>, data=0x0)
>     at modperl_pcw.c:67
> 67	    ap_conf_vector_t **dirs = (ap_conf_vector_t **)dconf->sec_file->elts;
> (gdb) print *dconf
> $1 = {d = 0x0, d_components = 0, opts = 31 '\037', opts_add = 0 '\0', 
>   opts_remove = 0 '\0', override = 63 '?', ap_default_type = 0x0, 
>   satisfy = 0x80fe528, ap_auth_type = 0x0, ap_auth_name = 0x0, 
>   ap_requires = 0x0, response_code_strings = 0x0, hostname_lookups = 0, 
>   do_rfc1413 = -2, content_md5 = -2, use_canonical_name = 3, d_is_fnmatch = 0, 
>   add_default_charset = 2, add_default_charset_name = 0x80a76d7 "iso-8859-1", 
>   limit_cpu = 0x0, limit_mem = 0x0, limit_nproc = 0x0, limit_req_body = -1, 
>   limit_xml_body = -1, server_signature = 4294967295, loglevel = 2, 
>   sec_file = 0x0, r = 0x80fe628, mime_type = 0x0, handler = 0x0, 
>   output_filters = 0x0, input_filters = 0x0, accept_path_info = 0, 
>   ct_output_filters = 0x3, etag_bits = 0, etag_add = 0, etag_remove = 0, 
>   enable_mmap = 0, enable_sendfile = 0, allow_encoded_slashes = 0}

Looks like a busted/uninitialized core_dir_config, but that doesn't make
much sense to me. Looking at server/core.c:

static void *create_core_dir_config(apr_pool_t *a, char *dir)
{
    core_dir_config *conf;
    [...]
    conf->sec_file = apr_array_make(a, 2, sizeof(ap_conf_vector_t *));
    [...]

So, how can sec_file ever be NULL ? From looking at this dconf dump, it's clear
that this core_dir_config is at least partially initialized,
add_default_charset_name being set to the right thing for instance.

Very strange...

--------------------------------------------------------------------------------
Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5
http://gozer.ectoplasm.org/     F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5

--------------enig64D74FF9A62E9F0412D87738
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFClEJ7yzKhB4jDpaURAxXwAJ9Iq7U2g7Pk4Oy8g/jMau/hVRIsCgCfXwGw
KFYfG+u5buDNJdo2PEraWWY=
=UV+N
-----END PGP SIGNATURE-----

--------------enig64D74FF9A62E9F0412D87738--

(message missing)

Re: [mp2] segfaulting apache in ap_pcw_walk_files_config
Philippe M. Chiasson 06:22 on 24 May 2005

Re: [mp2] segfaulting apache in ap_pcw_walk_files_config
Philippe M. Chiasson 04:52 on 25 May 2005

Re: [mp2] segfaulting apache in ap_pcw_walk_files_config
Philippe M. Chiasson 09:16 on 25 May 2005

Re: [mp2] segfaulting apache in ap_pcw_walk_files_config
Philippe M. Chiasson 09:23 on 26 May 2005

Generated at 20:12 on 05 Jun 2005 by mariachi v0.52