Hi Marcin,

Are you using a filter by any chance?  If so, you could try temporarily disabling it and/or could you post a code snippet if its use.


Marcin Gryszkalis wrote:
One in every few calls to my application ends with error  desctribed below.
I'm not sure when it started or what stared these errors.
It doesn't  depend on template, number of calls or something else, seems 
pretty random.
Important: turning off cache seems to heal it.

H::T version 2.9
H::T::Expr version 0.07

Not an ARRAY reference 
at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Template/Expr.pm line 238.

Expr.pm snippet:

sub output {
  my $self = shift;
  my $parse_stack = $self->{parse_stack};
  my $options = $self->{options};
  my ($expr, $expr_func);

  # pull expr and expr_func out of the parse_stack for cache mode.
  if ($options->{cache}) {
    $expr      = pop @$parse_stack;
    $expr_func = pop @$parse_stack;
  } else {
    $expr      = $options->{expr};
    $expr_func = $options->{expr_func};

  # setup expression evaluators
  my %param;
  for (my $x = 0; $x < @$expr; $x++) { 	# <---- l. 238 is HERE -----------
    my $node = $expr->[$x];
    $param{"__expr_" . $x . "__"} = sub { _expr_evaluate($node, @_) };

I dumped variables before the loop and got this

about $expr:

type = SCALAR
value = SCALAR(0xfc7a2a0)
value2 = "<br>
               on-line: <b>"

I can provide more info but not sure what's important.
best regards