Loading ...
Sorry, an error occurred while loading the content.

apache-1.3.36 perl-5.6.1 Apache::ASP-2.59 problem

Expand Messages
  • Thanos Chatziathanassiou
    (Hate to reply to my own mail, but...) for reasons I cannot figure out yet, this part of Load.pm doesn t quite ... opendir(DIR, $file) || die( can t open $file
    Message 1 of 3 , Jul 28 6:36 AM
    • 0 Attachment
      (Hate to reply to my own mail, but...)

      for reasons I cannot figure out yet, this part of Load.pm doesn't quite
      work as expected:
      ---snip---
      opendir(DIR, $file) || die("can't open $file for reading: $!");
      my @files = readdir(DIR);
      close DIR;
      ---snip---

      @files contains as many elements as files in $file (which in this
      context is actually a directory), but instead of filenames, they contain
      the empty string. Which of course leads to the deep recursion/out of
      memory error, given a directory with enough files.

      Still don't get why this happens though.
      And furthermore, why it works with 1.3.34 (all other things being equal
      - perl - mod_perl - Apache::ASP version etc) and doesn't on 1.3.36


      > I upgraded apache to 1.3.36 yesterday and now the following occurs:
      >
      > [ASP WARN] Deep recursion on subroutine "Apache::ASP::Load::Run" at
      > /usr/local/lib/perl5/site_perl/5.6.1//Apache/ASP/Load.pm line 102.
      > Out of memory!
      >
      > (line number may be a bit off, since I have tested and commented out
      > the
      > ``ExcludeDirs'' thing we've talked about in the past)
      > Obviously ram isn't the problem and the previous 1.3.34 installation
      > works correct.
      >
      > Does anyone have any ideas ?
      >
      > Best Regards,
      > Thanos Chatziathanassiou



      ---------------------------------------------------------------------
      To unsubscribe, e-mail: asp-unsubscribe@...
      For additional commands, e-mail: asp-help@...
    • Thanos Chatziathanassiou
      ... (Still replying to own mail) ... Indeed that was the culprit and using glob instead of readdir provided a workable solution. However, apache 1.3.37 was
      Message 2 of 3 , Jul 31 4:34 AM
      • 0 Attachment
        Thanos Chatziathanassiou wrote:
        > (Hate to reply to my own mail, but...)
        (Still replying to own mail)
        >
        > for reasons I cannot figure out yet, this part of Load.pm doesn't
        > quite work as expected:
        > ---snip---
        > opendir(DIR, $file) || die("can't open $file for reading: $!");
        > my @files = readdir(DIR);
        > close DIR;
        > ---snip---
        >
        > @files contains as many elements as files in $file (which in this
        > context is actually a directory), but instead of filenames, they
        > contain the empty string. Which of course leads to the deep
        > recursion/out of memory error, given a directory with enough files.
        Indeed that was the culprit and using glob instead of readdir provided a
        workable solution.
        However, apache 1.3.37 was released in between and I decided to build
        this one instead. With the same perl version (5.6.1), same mod_perl
        (1.29) readdir worked as expected.
        BTW, all apache versions were compiled from sources using the same
        script (with changed paths) with gcc-2.95.3 against glibc-2.2.5.

        Still can't figure out what was wrong with 1.3.36 compared to 1.3.34 &
        1.3.37 though.
        There's nothing even remotely related in the Changelog and I haven't
        mustered the courage to do a diff between them yet... Still, I think we
        can leave it be for now.
        >
        > Still don't get why this happens though.
        > And furthermore, why it works with 1.3.34 (all other things being
        > equal - perl - mod_perl - Apache::ASP version etc) and doesn't on 1.3.36
        >
        >
        > > I upgraded apache to 1.3.36 yesterday and now the following occurs:
        > >
        > > [ASP WARN] Deep recursion on subroutine "Apache::ASP::Load::Run" at
        > > /usr/local/lib/perl5/site_perl/5.6.1//Apache/ASP/Load.pm line 102.
        > > Out of memory!
        > >
        > > (line number may be a bit off, since I have tested and commented out
        > > the
        > > ``ExcludeDirs'' thing we've talked about in the past)
        > > Obviously ram isn't the problem and the previous 1.3.34 installation
        > > works correct.
        > >
        > > Does anyone have any ideas ?
        > >
        > > Best Regards,
        > > Thanos Chatziathanassiou
        >
        >
        >
        > ---------------------------------------------------------------------
        > To unsubscribe, e-mail: asp-unsubscribe@...
        > For additional commands, e-mail: asp-help@...
        >


        ---------------------------------------------------------------------
        To unsubscribe, e-mail: asp-unsubscribe@...
        For additional commands, e-mail: asp-help@...
      Your message has been successfully submitted and would be delivered to recipients shortly.