[Catalyst] Problem with C::E::Apache and apache2/mod_perl2

Scott Karns scottkinsf at yahoo.com
Wed Mar 22 20:40:25 CET 2006


In the thread formerly known as [Catalyst] Config
problem with C::P::A::S::LDAP under mod_perl, Scott
Karns wrote:

> 
> My problem is that now I get the following error:
> [error] Caught exception in engine "Can't locate
> object method "ok_constant" via package
> "Catalyst::Engine::Apache" at
>
/usr/lib/perl5/vendor_perl/5.8.7/Catalyst/Engine/Apache.pm
> line 169." So I'm just starting to track that one
> down.
> 

I have the following from the debugger:

Catalyst::Engine::Apache::finalize_headers(
  ref(Catalyst::Engine::Apache), ref(QR))

Catalyst::Engine::Apache::finalize_headers(
 
/usr/lib/perl5/vendor_perl/5.8.7/Catalyst/Engine/Apache.pm:169):
169:  $c->response->status( $self->return ||
$self->ok_constant );

DB<39> x $self
0  Catalyst::Engine::Apache=HASH(0x37a87c0)
   'apache' => Apache2::RequestRec=SCALAR(0x2b3e000)
      -> 63321968
   'read_length' => 0

  DB<40> m $self
_apache_accessor
_return_accessor
apache
finalize_body
finalize_headers
prepare_connection
prepare_headers
prepare_path
prepare_query_parameters
prepare_request
read_chunk
return
write
via Catalyst::Engine: (""
via Catalyst::Engine: ()
via Catalyst::Engine: Dumper
via Catalyst::Engine: _decode_entities
via Catalyst::Engine: _read_length_accessor
via Catalyst::Engine: _read_position_accessor
via Catalyst::Engine: decode_entities
via Catalyst::Engine: encode_entities
via Catalyst::Engine: finalize_cookies
via Catalyst::Engine: finalize_error
via Catalyst::Engine: finalize_read
via Catalyst::Engine: finalize_uploads
via Catalyst::Engine: prepare_body
via Catalyst::Engine: prepare_body_chunk
via Catalyst::Engine: prepare_body_parameters
via Catalyst::Engine: prepare_cookies
via Catalyst::Engine: prepare_parameters
via Catalyst::Engine: prepare_read
via Catalyst::Engine: prepare_uploads
via Catalyst::Engine: prepare_write
via Catalyst::Engine: read
via Catalyst::Engine: read_length
via Catalyst::Engine: read_position
via Catalyst::Engine: run
via Catalyst::Engine -> Class::Accessor::Fast:
make_accessor
via Catalyst::Engine -> Class::Accessor::Fast:
make_ro_accessor
via Catalyst::Engine -> Class::Accessor::Fast:
make_wo_accessor
via Catalyst::Engine -> Class::Accessor::Fast ->
Class::Accessor: _carp
via Catalyst::Engine -> Class::Accessor::Fast ->
Class::Accessor: _croak
via Catalyst::Engine -> Class::Accessor::Fast ->
Class::Accessor: _mk_accessors
via Catalyst::Engine -> Class::Accessor::Fast ->
Class::Accessor: get
via Catalyst::Engine -> Class::Accessor::Fast ->
Class::Accessor: mk_accessors
via Catalyst::Engine -> Class::Accessor::Fast ->
Class::Accessor: mk_ro_accessors
via Catalyst::Engine -> Class::Accessor::Fast ->
Class::Accessor: mk_wo_accessors
via Catalyst::Engine -> Class::Accessor::Fast ->
Class::Accessor: new
via Catalyst::Engine -> Class::Accessor::Fast ->
Class::Accessor: set
via UNIVERSAL: VERSION
via UNIVERSAL: can
via UNIVERSAL: import
via UNIVERSAL: isa
via UNIVERSAL: require
via UNIVERSAL: use

  DB<41> x $self->return
0  undef

Nowhere there do I see an "ok_constant" method
(defined in C::E::Apache::MP20).

Also, from a visit to http://localhost/perl-status, I
see that the only Catalyst::Engine::Apache module
loaded is C::E::A, shouldn't I see C::E::Apache2 and
C::E::Apache2::MP20 as well?

I seem to be having problems getting Apache::DB to
launch the perl debugger upon apache2 startup. I would
like to walk through Catalyst::setup_engine to look at
it from that side. Inserting a $DB::single = 2 gives
me an error upon starting apache.

Can anyone offer any links or guidance on working with
Apache::DB and mod_perl2?

TIA
-Scott

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the Catalyst mailing list