You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Stas Bekman <st...@stason.org> on 2005/05/02 09:26:35 UTC

Re: Apache2::Status bug?

Octavian Rasnita wrote:
> Hello,
> 
> I have finished (I hope) installing mod_perl rc5 under Windows 2000, and I
> have tried the server using http://localhost/perl-status.
> 
> I was able to use it very well, until I have tried to see the following
> links in order:
> Loaded Modules - Apache::Const - Apache::Const::OK - Syntax Tree Dump
> (execution order)
> 
> After the last link, the server gave a 404 Not found error.
> 
> The error log told that 0 worker threads exited, and that 250 worker threads
> were started successfully.
> (Why there were no worker threads running?)
> 
> I have restarted the server using "apache -k restart" and I have tried again
> to access http://localhost/perl-status/ but the page was still "Not found".
> (The error log was showing again that 0 threads exited and 250 worker
> threads started.)
> 
> So I have restarted the server using "apache -k stop" and "apache -k start".
> 
> Well, this time I was able to use /perl-status again, and I have navigated
> directly to that link with problems, but it gave the following error:
> 
> 200 OK
> Syntax Tree Dump (execution) for Apache2::Const::OK Apache2::Const::OK:
> 
> OK
> 
> The server encountered an internal error or misconfiguration and was unable
> to complete your request.
> 
> Please contact the server administrator, orasnita@fcc.ro and inform them of
> the time the error occurred, and anything you might have done that may have
> caused the error.
> 
> More information about this error may be available in the server error log.
> Apache/2.0.53 (Win32) PHP/5.0.0 mod_perl/1.999.22 Perl/v5.8.6 Server at
> localhost Port 80
> ---
> 
> In the error log, the only error was:
> 
> [Fri Apr 29 19:17:00 2005] [error] [client 127.0.0.1] err: coderef has no
> START\n, referer:
> http://localhost/perl-status/Apache2::Const::OK/FUNCTION?cv_dump
> ---
> 
> I have also tried the following links in order:
> Loaded Modules - Apache::Const - Apache::Const::OK -  - Syntax Tree Dump
> (syntax order)
> 
> But it gave me the following error in the log file:
> 
> [Fri Apr 29 19:42:20 2005] [error] [client 127.0.0.1] err: unknown function
> (main::slow)\n, referer:
> http://localhost/perl-status/Apache2::Const::OK/FUNCTION?cv_dump
> ---
> 
> Could this be a bug, or I need to change something in the script to make it
> compatible with Windows?

It's more like B::Terse bug, notice the comment:

sub noh_b_terse {
     my $r = shift;

     $r->content_type("text/plain");
     return unless has($r, "terse");

     no strict 'refs';
     my($arg, $name) = (split "/", $r->uri)[-2,-1];
     $r->print("Syntax Tree Dump ($b_terse_exp{$arg}) for $name\n\n");

     # XXX: blead perl dumps things to STDERR, though the same version
     # works fine with 1.27
     B::Terse::compile($arg, $name)->();
}

I get the same problem on linux/prefork mpm.

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Re: Apache2::Status bug?

Posted by OpenMacNews <Op...@speakeasy.net>.
hi stas,

>> although i'm relatively new to its use, /perl-status seems to behave w/
>> no obvious errors (so far).
>>
>> if there's any info i can provide that may be helpful, pls let me know.
>
> You need to enable: the terse feature and then follow: Loaded Modules ->
> Apache::Const -> Apache::Const::OK -> Syntax Tree Dump (execution order)
> Did you do that? The config I've used was:
>
> <Location /status/perl>
>      PerlSetVar StatusOptionsAll On
>      PerlSetVar StatusDumper On
>      PerlSetVar StatusPeek On
>      PerlSetVar StatusLexInfo On
>      PerlSetVar StatusDeparse On
>      PerlSetVar StatusDeparseOptions "-p -sC"
>      PerlSetVar StatusTerse On
>      PerlSetVar StatusTerseSize On
>      PerlSetVar StatusTerseSizeMainSummary On
>      SetHandler modperl
>      PerlResponseHandler Apache2::Status
> </Location>

the devil, apparently, IS in the details ... =)

i mod'd my httpd.conf as above, and followed the sequence, and -- sure nuf:

    Syntax Tree Dump (execution) for Apache2::Const::OK
    OK

    The server encountered an internal error or misconfiguration and was unable
    to complete your request.

    More information about this error may be available in the server error log.

      Apache/2.1.5-dev (Unix) DAV/2 SVN/1.2.0-rc2 mod_perl/1.999.23-dev
    Perl/v5.8.6 Port 80


w/ the following in the apachelog ...

    [Mon May 02 10:12:02 2005] [error] [client 10.0.0.6] err: coderef has no 
START\n, referer: 
http://localhost/perl-status/Apache2::Const::OK/FUNCTION?cv_dump

fwiw, setting any/all of:

>      PerlSetVar StatusTerse Off
>      PerlSetVar StatusTerseSize Off
>      PerlSetVar StatusTerseSizeMainSummary Off

has, seemingly, no effect on the error ...

cheers,

richard


Re: Apache2::Status bug?

Posted by Stas Bekman <st...@stason.org>.
OpenMacNews wrote:
> hi,
> 
>> I get the same problem on linux/prefork mpm.
> 
> 
> fwiw, i'm seeing no such issues on osx 10.4/worker mpm. no errors, no 
> suspect log entries, etc.
> 
>    Embedded Perl version v5.8.6 for Apache/2.1.5-dev process 21420
> 
>    Server Version: Apache/2.1.5-dev (Unix) DAV/2 SVN/1.2.0-rc2 
> mod_perl/1.999.23-dev Perl/v5.8.6
> 
> although i'm relatively new to its use, /perl-status seems to behave w/ 
> no obvious errors (so far).
> 
> 
> if there's any info i can provide that may be helpful, pls let me know.

You need to enable: the terse feature and then follow: Loaded Modules -> 
Apache::Const -> Apache::Const::OK -> Syntax Tree Dump (execution order)
Did you do that? The config I've used was:

<Location /status/perl>
     PerlSetVar StatusOptionsAll On
     PerlSetVar StatusDumper On
     PerlSetVar StatusPeek On
     PerlSetVar StatusLexInfo On
     PerlSetVar StatusDeparse On
     PerlSetVar StatusDeparseOptions "-p -sC"
     PerlSetVar StatusTerse On
     PerlSetVar StatusTerseSize On
     PerlSetVar StatusTerseSizeMainSummary On
     SetHandler modperl
     PerlResponseHandler Apache2::Status
</Location>

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Re: Apache2::Status bug?

Posted by OpenMacNews <Op...@speakeasy.net>.
hi,

> I get the same problem on linux/prefork mpm.

fwiw, i'm seeing no such issues on osx 10.4/worker mpm. no errors, no suspect 
log entries, etc.

    Embedded Perl version v5.8.6 for Apache/2.1.5-dev process 21420

    Server Version: Apache/2.1.5-dev (Unix) DAV/2 SVN/1.2.0-rc2 
mod_perl/1.999.23-dev Perl/v5.8.6

although i'm relatively new to its use, /perl-status seems to behave w/ no 
obvious errors (so far).


if there's any info i can provide that may be helpful, pls let me know.

cheers,

richard


Re: Apache2::Status bug?

Posted by Stas Bekman <st...@stason.org>.
Stas Bekman wrote:
> Octavian Rasnita wrote:
> 
>> Hello,
>>
>> I have finished (I hope) installing mod_perl rc5 under Windows 2000, 
>> and I
>> have tried the server using http://localhost/perl-status.
>>
>> I was able to use it very well, until I have tried to see the following
>> links in order:
>> Loaded Modules - Apache::Const - Apache::Const::OK - Syntax Tree Dump
>> (execution order)
[...]
>> In the error log, the only error was:
>>
>> [Fri Apr 29 19:17:00 2005] [error] [client 127.0.0.1] err: coderef has no
>> START\n, referer:
>> http://localhost/perl-status/Apache2::Const::OK/FUNCTION?cv_dump
>> ---
>>
>> I have also tried the following links in order:
>> Loaded Modules - Apache::Const - Apache::Const::OK -  - Syntax Tree Dump
>> (syntax order)
>>
>> But it gave me the following error in the log file:
>>
>> [Fri Apr 29 19:42:20 2005] [error] [client 127.0.0.1] err: unknown 
>> function
>> (main::slow)\n, referer:
>> http://localhost/perl-status/Apache2::Const::OK/FUNCTION?cv_dump
>> ---
>>
>> Could this be a bug, or I need to change something in the script to 
>> make it
>> compatible with Windows?
> 
> 
> It's more like B::Terse bug, notice the comment:
> 
> sub noh_b_terse {
>     my $r = shift;
> 
>     $r->content_type("text/plain");
>     return unless has($r, "terse");
> 
>     no strict 'refs';
>     my($arg, $name) = (split "/", $r->uri)[-2,-1];
>     $r->print("Syntax Tree Dump ($b_terse_exp{$arg}) for $name\n\n");
> 
>     # XXX: blead perl dumps things to STDERR, though the same version
>     # works fine with 1.27
>     B::Terse::compile($arg, $name)->();
> }
> 
> I get the same problem on linux/prefork mpm.

I've reproduced this problem at the command line and filed a bug report:
http://rt.perl.org/rt3/index.html?q=35849

Notice that it happens only with XS subs.

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com