perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philippe M. Chiasson" <>
Subject [STATUS] mod_perl 1.28-tobe pending issues
Date Sat, 24 May 2003 13:37:42 GMT
It's about time to see a new release of mod_perl 1.x (1.28)

So, we will be looking at the remaining issues/bugs documented in the
mod_perl 1.x STATUS document. I am appending it to this e-mail for

Is there any issues that could reasonably be resolved prior to a 1.28
release that are not in included here? Also feel free to comment on the
relative importance and priority of the various items on this list.

mod_perl 1.3 STATUS:
   Last modified at [$Date: 2003/05/24 13:33:08 $]


   1.28-dev: In development.
       1.27: Released June 1, 2002.
       1.26: Released July 11, 2001.

Available Patches:

    * Apache::Status allows standard keys to be overridden
          I'm not sure I understand this one, since the patch seems to do
          the opposite of what the user is asking for --Geoff
          patch available at

    * $r->print() ignores $\
            Patch available at 

Needs Patch or Further Investigation

    * $r->print() ignores $,
          Patch available with the original report, but needs to be simplified a bit and
          currently will not work with perl 5.8+, see the patch for $\

    * make test fails when a wrong combination of URI and LWP are
      installed. (e.g. lwp 5.64 and URI 1.09). LWP's Makefile.PL
      requires the right URI version, but certain binary distributors
      miss this requirement and distribute LWP without making a
      dependency on the right version of the URI package
        Report: many reports in the last year.
        Status: ???
        Suggestion: require libwww-perl 5.64 and URI 1.1 

    * two identical directives in <Perl> configuration
          doc patch at
          however: this documented feature should be supported.

    * readdir() broken on linux with glibc 2.2
        does anybody have an example to reproduce the bug?
    * warn() going to the wrong log
          coincidentially, I've noticed that s->error_fname is not populated
          in a vhost when the vhost relies on the ErrorLog from the main 
          server --Geoff 

          s->error_fname == NULL is expected, see ap_open_logs(), only
          s->error_log is inherited.

          i would expect stderr to only ever be opened to the main
          server log at startup.  otherwise, we'd need to redirect stderr at the
          start of every request and restore it at the end.  seems expensive.
          i would be suprised if this every worked as matt expected it
          to.  -dougm

    * segfaults with DBI->connect (mysql)

    * revisit send_http_header and r->status

    * Apache->request(bless {r => $r}, 'My::Apache')

    * recursion triggered by internal_redirect() called by a pushed handler

    * IPC::Open3 issues

    * Prototype mismatch in Apache::PerlRun

    * files that have been created after the server's (child?) startup are
      being reported with negative age with -M test under Apache::Registry.
      The workaround is to add $^T = time; at the beginning of the scripts. But
      it would be much better if the Apache::Registry will do that
        Report: ?

    * Apache::DProf seg-fault via Devel::DProf's prof_mark()

    * collisions between Apache::Status and

Open Issues or Core Enhancements:

    * method handler cached-CVs
          patch available 

    * "$ENV{FOO} = 'foo'" is cleared from the %ENV array, but left in the
      environ[], making it visible to subprocesses.
      perl_util.c:perl_clear_env() only deletes from %ENV on purpose to
      prevent other problems.  need to rethink this.

    * option to startup with something other than /dev/null

    * PerlChildInitHandler should not be allowed inside <VirtualHost>

    * rid Apache->can_stack_handlers, make Apache->can('push_handlers') work

    * fileno(STD{IN,OUT}) should be r->connection->client->fd or
      fileno(std{in,out}), rather than hardcoded fileno(stdout)

    * close STDERR;

    * Apache::FakeRequest improvments [Gary Richardson <>]

    * xsubpp -nolinenumbers is not supported with 5.004

    * 'make test' as root permissions problems

    * USE_APXS=1 + DYNAMIC=1 do not work together

    * support SSL_BASE=SYSTEM (i.e. test -d $SSL_BASE in Makefile.PL)

    * disable PERL_SSI unless mod_include is listed in httpd -l
      and Action unless mod_action, etc.


    * document Apache::Status Apache::Request preference over
      and make it more clear that Apache::Status should not be used in a
      production environment, as it adds quite a bit of bloat

    * docs: update CREDITS, cleanup install docs

Patches unlikely to be applied:

    * print() dereferencing issues
          patch available

          the feature of print() dereferencing scalars should be deprecated.
          therefor, i don't think this patch should be applied as it
          would introduce overhead to support a deprecated feature.
          user should simply dereference themselves, print $$foo; -dougm

    * Apache::test
         patch available

         any further development of testing framework should be put
         into Apache-Test within httpd-test/perl-framework  -dougm

    * get/set handlers issues
         patch available

         modperl 1.x is in maintainance mode, this change puts the
         core stablity at risk to support functionality that few
         require.  -dougm

    * $r->args parsing of one=&two=2
          patch available at

          $r->args and $r->content methods are cheap hacks that
          probably never should have been written.  if they are not
          good enough as-is, user should use Apache::Request or another
          library with more robustness.

Known bugs unlikely to be fixed:

    * $r cannot use many api methods during ChildInit/ChildExit -> SEGV
        Report: ?
          "don't do that".  these hooks were introduced after modperl
          had already been written around all the hooks which took
          only a request_rec argument.  the "fake" request_rec passed
          to these new hooks was a quick and dirty hack and will
          probably stay that way.  2.0 does the right thing.

    * Apache->server->register_cleanup
        Report: if modperl is linked static, Apache->server->register_cleanup
          is only called on the first pass during server startup.

          this is a legacy bug related to modperl not doing a complete
          teardown/startup of the interpreter on every restart, so it
          only happens the first time a Perl{Require,Module} is loaded.
          this is done properly with dso however.  static users can
          workaround the bug with PerlFreshRestart or delete $INC{__FILE__}

    * bytes_sent are not logged if header don't go through send_http_header(),
        e.g CGI->header(-nph => 1, ...) Eric Cholet <>
        Report: ?

          does anybody actually use nph script anymore?

    * /perl/perl-status?sig dumps core under hpux 10.20 []
        Report: ?

          can't reproduce, can't fix.  perl-status?sig is not very
          useful info anyhow.

    * perl_config should not av_shift ARRAY refs from %Apache::ReadConfig::
        Report: ?

          i don't think this is actually a problem for anybody.

    * die and AUTOLOADed DESTROY == empty $@ (Perl or mod_perl bug?)
        Report: ?

          this report is ages old and haven't heard any reports since.
          if it is a bug, it is likely in perl.  solution in that any
          case: don't AUTOLOAD DESTROY.

    * can't multiple Apache::Include->virtual in a single request
        Report: ?

          Apache::Include was indented as an example.  the subrequest
          api is not complicated, just use it directly for this

    * Apache::Include->virtual should return run() value, not status()
        Report: ?

	Status: see above.

          The require() part may be legitimate.  personally, I never
          understood the DIR_CREATE happening before SERVER_CREATE
          either, but it doesn't seem to affect anything.  the double 
          DIR_MERGE is just a misunderstanding on Andy's part and is
          a result of how Apache handles <Location> before and
          after translation.  --Geoff

          '.' is part of the default @INC, so this shouldn't be a problem.

          as for when the CREATE/MERGE functions are called, that's up
          to apache when that happens.  unless somebody can illustrate
          that Perl directive handlers are treated any different than
          C handlers, this is a documentation enhancement, not a bug.
          the extra DIR_{CREATE,MERGE} is likely related to
          s->lookup_defaults.  -dougm

-- -----------------------------------------------------------------------------
Philippe M. Chiasson /gozer\@(cpan|ectoplasm)\.org/ 88C3A5A5 (122FF51B/C634E37B)    F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3 A5A5
Q: It is impossible to make anything foolproof because fools are so ingenious.
perl -e'$$=\${gozer};{$_=unpack(P7,pack(L,$$));/^JAm_pH\n$/&&print||$$++&&redo}'

View raw message