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