Hi.  I'm having two problems with <Perl> sections --- one resulting in
a server coredump, and the other just odd.  My test configuration is
Apache/1.3.12 and mod_perl_1.23 built from distributed sources with:

  perl Makefile.PL DO_HTTPD=1 USE_APACI=1 EVERYTHING=1 PERL_TRACE=1 
APACHE_PREFIX=/opt/software/mpsandbox APACHE_HEADER_INSTALL=0

conf/httpd.conf is identical to httpd.conf_default except for a
different Port, and the following at the end:

  <Perl>
  do 'conf/conf.pl';
  </Perl>

If conf/conf.pl contains:

  @Listen=(5050,5051);
  #$ServerAdmin='[EMAIL PROTECTED]';
  1;

then everything works as expected.  My problems are:

1) If the ServerAdmin line is uncommented, then the server dumps
   core on startup.  Backtrace included below.

2) If I comment the ServerAdmin line back out, but change the 'do'
   in httpd.conf to a 'require', the server starts, but is not listening
   on ports 5050 and 5051 when it does.  What makes this case peculiar
   is that with MOD_PERL_TRACE=ds, the output produced by the PERL_TRACE
   facility is the same in both cases; it claims to find and execute the
   Limit commands either way.

   This may have something to do with the 'require' not reading the file
   a second time... but if @INC is preserved, I would have expected the
   vars in the Apache::ReadConfig symbol table to be preserved as well.

Any ideas what's up?

BTW, on another topic, what's up with support for <Perl> sections in
Apache/2.0?  Some of the discussion on new-httpd seems to indicate that
it's not quite there yet...

rst

PS:  Here's the backtrace from the coredump:

#0  0x40151fea in _IO_vfprintf (s=0xbfff8e98, 
    format=0x811e1c9 "perl_section: </%s>\n", ap=0xbfffb60c) at vfprintf.c:1248
#1  0x40154ed8 in buffered_vfprintf (s=0x401f4260, 
    format=0x811e1c9 "perl_section: </%s>\n", args=0xbfffb608)
    at vfprintf.c:1747
#2  0x40150856 in _IO_vfprintf (s=0x401f4260, 
    format=0x811e1c9 "perl_section: </%s>\n", ap=0xbfffb608) at vfprintf.c:1018
#3  0x401586f7 in fprintf (stream=0x401f4260, 
    format=0x811e1c9 "perl_section: </%s>\n") at fprintf.c:32
#4  0x807f4ec in perl_filesection ()
#5  0x807f7db in perl_handle_command_hv ()
#6  0x8080149 in perl_section ()
#7  0x80956e9 in ap_clear_module_list ()
#8  0x8096163 in ap_handle_command ()
#9  0x80961f7 in ap_srm_command_loop ()
#10 0x8096600 in ap_process_resource_config ()
#11 0x8096ec2 in ap_read_config ()
#12 0x80a0ed9 in main ()
#13 0x40123cb3 in __libc_start_main (main=0x80a0c4c <main>, argc=1, 
    argv=0xbffff894, init=0x8060068 <_init>, fini=0x8116ffc <_fini>, 
    rtld_fini=0x4000a350 <_dl_fini>, stack_end=0xbffff88c)
    at ../sysdeps/generic/libc-start.c:78

Reply via email to