You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Cliff Woolley <jw...@virginia.edu> on 2002/05/18 08:12:54 UTC
Re: cvs commit: httpd-2.0/server core.c
On 17 May 2002 wrowe@apache.org wrote:
> wrowe 02/05/17 12:34:53
>
> Modified: server core.c
> Log:
> We need to grab ServerRoot, LogLevel, and ErrorLog right off the bat
> as we are reading the config.
>
> This closes a bug where ServerRoot /foo + LoadModule relative/mod_foo.so
> won't load mod_foo.so.
>
> Reported by: Ron Leung <rl...@covalent.net>
Umm, every one of these directives being EXEC_ON_READ causes the server to
segfault hard at startup. (I tried un-exec-on-reading them one at a time,
and it kept segfaulted on each one in turn until they were all gone.)
--Cliff
(gdb) bt
#0 find_parent (dirp=0x0, what=0x8123918 "<Directory") at core.c:957
#1 0x080d5298 in ap_check_cmd_context (cmd=0xbffff5a0, forbidden=30)
at core.c:993
#2 0x080d6cbe in set_loglevel (cmd=0xbffff5a0, dummy=0xbfffd3f0,
arg=0x819c5e0 "warn") at core.c:2175
#3 0x080c7faa in invoke_cmd (cmd=0x812478c, parms=0xbffff5a0,
mconfig=0xbfffd3f0, args=0xbfffd459 "") at config.c:699
#4 0x080c8e73 in execute_now (cmd_line=0x819c5a8 "LogLevel",
args=0xbfffd455 "warn", parms=0xbffff5a0, p=0x813c960, ptemp=0x8190ab0,
sub_tree=0xbfffd3f0, parent=0x0) at config.c:1310
#5 0x080c8732 in ap_build_config_sub (p=0x813c960, temp_pool=0x8190ab0,
l=0xbfffd44c "LogLevel warn", parms=0xbffff5a0, current=0xbfffd444,
curr_parent=0xbfffd448, conftree=0x812f4f4) at config.c:912
#6 0x080c8b42 in ap_build_config (parms=0xbffff5a0, p=0x813c960,
temp_pool=0x8190ab0, conftree=0x812f4f4) at config.c:1114
#7 0x080c926e in ap_process_resource_config (s=0x8143aa8,
fname=0x8194950 "/root/apache/test/conf/httpd.conf", conftree=0x812f4f4,
p=0x813c960, ptemp=0x8190ab0) at config.c:1495
#8 0x080c9953 in ap_read_config (process=0x813a9d8, ptemp=0x8190ab0,
filename=0x8121a70 "conf/httpd.conf", conftree=0x812f4f4) at config.c:1773
#9 0x080cb3b5 in main (argc=1, argv=0xbffff6f4) at main.c:552
#10 0x4033874f in __libc_start_main () from /lib/libc.so.6
(gdb) frame 1
#1 0x080d5298 in ap_check_cmd_context (cmd=0xbffff5a0, forbidden=30)
at core.c:993
993 if (((forbidden & NOT_IN_DIRECTORY)
(gdb) list
988 return apr_pstrcat(cmd->pool, cmd->cmd->name, gt,
989 " cannot occur within <Directory/Location/Files> "
990 "section", NULL);
991 }
992
993 if (((forbidden & NOT_IN_DIRECTORY)
994 && ((found = find_parent(cmd->directive, "<Directory"))
995 || (found = find_parent(cmd->directive, "<DirectoryMatch"))))
996 || ((forbidden & NOT_IN_LOCATION)
997 && ((found = find_parent(cmd->directive, "<Location"))
(gdb) p *cmd->err_directive
$2 = {directive = 0x819c5a8 "LogLevel", args = 0x819c5d8 "warn", next = 0x0,
first_child = 0x0, parent = 0x0, data = 0x0,
filename = 0x8197af0 "/root/apache/test/conf/httpd.conf", line_num = 460}
--------------------------------------------------------------
Cliff Woolley
cliffwoolley@yahoo.com
Charlottesville, VA