Nicola Worthington wrote:
> Hi,
>
> I wonder if anyone can offer some help here?
>
> I have a number of small webapps that run under Mason 1.33, Apache 2.2.2,
> mod_perl 2.0.2 and perl 5.8.8 on a RHEL4ES machine. The webserver and perl
> is all compiles from source.
>
> I have an object $sprintObj that is defined as a global variable in the
> httpd.conf for Mason. I create this object as a second level autohandler
> in /sprint/autohandler, which the pages below it rely on, but other parent
> or sibling directories do not (Hence it's in that autohandler and not
> the parent one).
>
> Sometimes it seems that the /sprint/autohandler never gets called in the
> code stack, so the $sprintObj object is never created, resulting in the
> error below where my page cannot use the object that it expects to exist:
>
> error: Can't call method "sprint" on an undefined value at
> /home/rrd/webroot/www/sprint/current_sprint.html line 2.
> context:
> 1: <%method title>
> 2: % my $sprint = $sprintObj->sprint || $sprintObj->last_sprint;
> 3: Sprint <% $sprint->{sprint_id} %>
> 4: </%method>
> 5: <%args>
> 6: $submit => 0
> ...
> code stack: /home/rrd/webroot/www/sprint/current_sprint.html:2
> /home/rrd/webroot/www/autohandler:13
> /home/rrd/webroot/www/syshandler:9
>
> Does anybody know why /home/rrd/webroot/www/sprint/autohandler sometimes
> dissapears from the code stack when it should live between
> /home/rrd/webroot/www/sprint/current_sprint.html and
> /home/rrd/webroot/www/autohandler?
>
> Help!
>
> Thanks in advance,
> Nicola
> First off, can I just say that you shouldn't reply to an existing thread with a new problem. Although you might not see it in _your_ e-mail client, others are using e-mail clients that will group e-mails into threads, and your e-mail appears to be part of the "populate form elements" thread. You need to compose a new e-mail to the list, instead of replying to an existing one. Your code that is causing an error, appears to be inside a method definition inside your current_sprint.html file. It would appear, that you're calling this method from your root autohandler, which would be run before your /sprint/autohandler is run. In this case, /sprint/autohandler isn't in the stack, because it hasn't been called yet ($m->call_next in /autohandler will do that), but it _is_ in the wrapping chain, so would have been called eventually, if this error hadn't occured. -Oli
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________ Mason-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mason-users

