intermittent segfaults, and weird messages in the error log

intermittent segfaults, and weird messages in the error log

am 13.08.2008 00:42:24 von Adam Prime

I've been getting intermittent segfaults for a couple of days now on =20
our dev server, and i'm not really sure why. I can more or less =20
reproduce them, but it's a hit or miss process. It only seems to =20
affect 2 handlers for some reason, and based on what i'm seeing it =20
seems like one is some how managing to corrupt the childs =20
configuration, then the other is making it segfault.

Here are some examples of the weird messages i'm seeing in the error =20
log. ZZZ::AuthSmb is a simple auth handler we've been using for years =20
without any issues. The random corruption of the name is what makes =20
me thing that the config is getting corrupted, but i don't really know =20
what i'm talking about.

[Tue Aug 12 09:39:06 2008] [error] lookup of 'ZZZ::AuthzSmb::8 ed
[Tue Aug 12 10:01:53 2008] [error] lookup of 'ZZZ::AuthzSmb::`' failed
[Tue Aug 12 10:05:11 2008] [error] lookup of '@\xa5J\bP\xa5J\bRESU' failed
[Tue Aug 12 10:05:52 2008] [error] lookup of '@\xa5J\bP\xa5J\bRESU' failed
[Tue Aug 12 16:13:57 2008] [error] lookup of 'ZZZ::AuthzSmb' failed
[Tue Aug 12 16:15:10 2008] [error] lookup of 'ZZZ::AuthzSmb' failed
[Tue Aug 12 16:15:17 2008] [error] lookup of 'ZZZ::AuthzSmb' failed
[Tue Aug 12 16:15:19 2008] [error] lookup of 'ZZZ::\xf8w\v\n\x0c' failed
[Tue Aug 12 16:31:36 2008] [error] lookup of 'ZZZ::AuthzSmb`\x89' failed
[Tue Aug 12 16:55:34 2008] [error] lookup of 'ZZZ::AuthzSmb\xf8\xde' failed
[Tue Aug 12 16:55:47 2008] [error] lookup of 'ZZZ::AuthzSmbX@' failed
[Tue Aug 12 17:24:32 2008] [error] lookup of 'h\xfd\xfa\t' failed

here's the backtrace or a core file with MP_DEBUG=3D1. Any help would =20
be appreciated, i'm at a loss.

(gdb) bt full
#0 0xb7d618cb in modperl_mgv_as_string (symbol=3D0x9fadc28, =20
p=3D0x9fae240, package=3D0)
at modperl_mgv.c:393
string =3D 0x9fadc28 "\002"
ptr =3D 0x0
mgv =3D (modperl_mgv_t *) 0x2
len =3D 2
#1 0xb7d56b21 in modperl_callback (handler=3D0x85146c0, p=3D0x9fae240, =20
r=3D0x9fae280, s=3D0x8504330,
args=3D0xa104b04) at modperl_callback.c:85
name =3D 0x11


symbol =3D (modperl_mgv_t *) 0x9fadc28
gv =3D (GV *) 0x0
cv =3D (CV *) 0x0
flags =3D 4
sp =3D (SV **) 0xa24319c
count =3D 169833880
status =3D 0
__func__ =3D "modperl_callback"
#2 0xb7d573ae in modperl_callback_run_handlers (idx=3D3, type=3D4, =20
r=3D0x9fae280, c=3D0x0, s=3D0x8504330,
pconf=3D0x0, plog=3D0x0, ptemp=3D0x0, run_mode=3DMP_HOOK_RUN_FIRST) at =
=20
modperl_callback.c:262
scfg =3D (modperl_config_srv_t *) 0x855d0d8
dcfg =3D (modperl_config_dir_t *) 0x9fad130
rcfg =3D (modperl_config_req_t *) 0x9faeff0
handlers =3D (modperl_handler_t **) 0x9fadd00
p =3D (apr_pool_t *) 0x9fae240
av =3D (MpAV *) 0x9fadc88
avp =3D (MpAV **) 0x9faf010
i =3D 0
status =3D 0
desc =3D 0xb7d7c372 "PerlAuthzHandler"
av_args =3D (AV *) 0xa104b04
__func__ =3D "modperl_callback_run_handlers"
#3 0xb7d57848 in modperl_callback_per_dir (idx=3D3, r=3D0x9fae280, =20
run_mode=3DMP_HOOK_RUN_FIRST)
at modperl_callback.c:369
No locals.
#4 0xb7d731ed in modperl_authz_handler (r=3D0x9fae280) at modperl_hooks.c:4=
7
No locals.
#5 0x08076867 in ap_run_auth_checker (r=3D0x9fae280) at request.c:78
n =3D 0
rv =3D 159247752
#6 0x080785d5 in ap_process_request_internal (r=3D0x9fae280) at request.c:1=
98
file_req =3D 0
access_status =3D
#7 0x08094b98 in ap_process_request (r=3D0x9fae280) at http_request.c:256
access_status =3D 2
#8 0x08091e0e in ap_process_http_connection (c=3D0xa0545f0) at http_core.c:=
190
r =3D (request_rec *) 0x9fae280
csd =3D (apr_socket_t *) 0x0
#9 0x08081e27 in ap_run_process_connection (c=3D0xa0545f0) at connection.c:=
43
n =3D 1
rv =3D 159247752
#10 0x080a821d in child_main (child_num_arg=3D) at =20
prefork.c:650
numdesc =3D 0
pdesc =3D (const apr_pollfd_t *) 0x0
current_conn =3D (conn_rec *) 0xa0545f0
csd =3D (void *) 0xa054458
ptrans =3D (apr_pool_t *) 0xa054418
allocator =3D (apr_allocator_t *) 0x9f43550
status =3D
i =3D
lr =3D
pollset =3D (apr_pollset_t *) 0xa052468
sbh =3D (ap_sb_handle_t *) 0xa052460
bucket_alloc =3D (apr_bucket_alloc_t *) 0x9faa230
last_poll_idx =3D 0
#11 0x080a84f6 in make_child (s=3D0x80d4ce0, slot=3D4) at prefork.c:746
pid =3D 0
#12 0x080a85aa in startup_children (number_to_start=3D1) at prefork.c:764
i =3D 4
#13 0x080a91d7 in ap_mpm_run (_pconf=3D0x80d00a8, plog=3D0x810e1a0, =20
s=3D0x80d4ce0) at prefork.c:985
active_children =3D
cutoff =3D
index =3D
remaining_children_to_start =3D 5
rv =3D
#14 0x08068948 in main (argc=3D135061664, argv=3D0xa052410) at main.c:730
c =3D 68 'D'
configtestonly =3D 0
confname =3D 0xbfbb07c0 "/www/conf/httpd.conf"
def_server_root =3D 0x80b2523 "/www/apache/heavy"
temp_error_log =3D 0x0
error =3D
process =3D (process_rec *) 0x80ce130
server_conf =3D
pglobal =3D (apr_pool_t *) 0x80ce0a0
pconf =3D (apr_pool_t *) 0x80d00a8
plog =3D (apr_pool_t *) 0x810e1a0
ptemp =3D (apr_pool_t *) 0x80d60c0
pcommands =3D (apr_pool_t *) 0x80d20b0
opt =3D (apr_getopt_t *) 0x80d2150
rv =3D
optarg =3D 0xbfbb07d7 "BackEnd"