On 17 May 2002 [EMAIL PROTECTED] 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 <[EMAIL PROTECTED]>
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 [EMAIL PROTECTED] Charlottesville, VA