On Thursday 13 December 2007 10:00:30 am Jeff Pang wrote:

> right now I got these exceptions in error_log:
>
> [Thu Dec 13 21:53:49 2007] [notice] child pid 4660 exit signal
> Segmentation fault (11)

Apache::Scoreboard is basically just a wrapper around the apache scoreboard 
api, so we're dealing with the C layer for the most part not the perl layer. 
The seg faults suggests we're wandering off a bad pointer somewhere. :-(

Did you try running apache under a debugger to see where it's segfaulting?

> This is my full code (the key string for generating md5 is replaced
> here for privacy reasons):

Can you cut this down to just the Apache::Scoreboard using code? That way we 
can be sure that's what is causing the problem.


Try this:

> use strict;
> use warnings;
> use Apache::Constants qw(OK FORBIDDEN DECLINED);
> use Apache::Request ();
> use Apache::Scoreboard ();
> use Apache qw(exit);
>
> sub handler {
>
>     my $r = shift;

>     my $image = Apache::Scoreboard->image;
>
>     for (my $parent = $image->parent; $parent; $parent = $parent->next) {

warn "parent pid: " . $parent->pid;

>         my $server = $parent->server;
warn "server: " . $server;      # just to prove we're not undef here
warn "- status: " . $server->status;
warn "- client: " . $server->client;

>         }
>     }
>
>     return OK;
> }
>
> 1;

and see what's in the logs.


Did you do any of the following from my previous email?

> I got many warnings in error_log:
>
> Use of uninitialized value in string eq at /opt/apache1.3/run/DLAuth.pm
> line 42. at /opt/apache1.3/run/DLAuth.pm line 42
>         DLAuth::handler('Apache=SCALAR(0x91cbe8c)') called at /dev/null
> line 0 eval {...} called at /dev/null line 0
>
> The line 42 is:
> if (($ip eq $server->client) or ($host eq $server->client)) {

What are the values of $ip, $host and $server->client at that point? 
The "uninitialised value" could be any of the above.

> And the handler (PerlAccessHandler) seems work not correctly.

Does it work as a perl request handler? (PerlHandler for mp1).
Can you get any values at all out of the ServerScore instance?

Reply via email to