On 26 Jun 2009, at 17:06, Merlyn Kline wrote:

being. Basically, though, the obvious proximal cause of this would be
calling the write method with no parameter. This might seem an
[snip]

I'm afraid this isn't too helpful for me at least; in this
case I'm just an end user, not doing anything fancy here, so

Presumably you *aren't*, in fact, calling the write method with no
parameters (or an undef), accidentally or otherwise?

Or perhaps another way to trigger this would be to set some headers and then never call the write method, so the attempt to flush the headers would end
up in the code you cited with no buffer defined.

I'd be adding something like this to your MyApp.pm:

use Moose; # To the top :)

# N.B. This has to go after __PACKAGE__->setup;
before 'write' => sub {
    my ($self, $buf) = @_;
Carp::cluck("write method called with undef buffer") if !defined $buf;
};

This should at least prove or disprove the 'write with undef' theory (you should see the warning, and a stack trace just before your undefined value warning), and should give you some insight into whodunnit from the stack trace if the hypothesis is true..

Cheers
t0m


_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to