[Catalyst] Suddenly Failing with Moose and MOP Errors

Oleg Kostyuk cub.uanic at gmail.com
Mon Jan 31 18:36:09 GMT 2011


Seems, I had same problem.
If your db schema classe (GLR::Schema) use Moose and MooseX::NonMoose,
try to convert your schema classes to use strict/warning/base.
If your schema class what generated by DBIx::Class::Schema::Loader,
then upgrade it to latest and re-generate your classes.


2011/1/31 Eric Berg <eberg at bergbrains.com>:
> All of a sudden my  application stopped working and started spewing these
> errors.   This same code has been running for many days, then kblam!
>  Suddenly died.
>
>  I've been looking and I can't seem to figure out what's going on.
>
> I suspect that it was an underlying Perl module that somehow blew up, but
> I'm not sure.
>
> Can anyone see anything in here that indicates what the problem is?
>
> Thanks.
>
> Eric
>
> Couldn't load class (GLR) because: Couldn't instantiate component
> "GLR::Model::DB", "Couldn't load class (GLR::Schema) because: Can't call
> method "isa" on an undefined value at
> /usr/local/share/perl/5.10.0/MooseX/NonMoose/Meta/Role/Class.pm line 40.
> Compilation failed in require at /usr/local/lib/perl/5.10.0/Class/MOP.pm
> line 114.
>  at /usr/local/lib/perl/5.10.0/Class/MOP.pm line 120
>    Class::MOP::__ANON__('Can\'t call method "isa" on an undefined value at
> /usr/local/...') called at /usr/local/share/perl/5.10.0/Try/Tiny.pm line 100
>    Try::Tiny::try('CODE(0xba03570)', 'Try::Tiny::Catch=REF(0xb9f52b8)')
> called at /usr/local/lib/perl/5.10.0/Class/MOP.pm line 125
>    Class::MOP::load_first_existing_class('GLR::Schema') called at
> /usr/local/lib/perl/5.10.0/Class/MOP.pm line 137
>    Class::MOP::load_class('GLR::Schema') called at
> /usr/local/share/perl/5.10.0/Catalyst/Model/DBIC/Schema/Types.pm line 21
>    Catalyst::Model::DBIC::Schema::Types::__ANON__('GLR::Schema') called at
> /usr/local/lib/perl/5.10.0/Moose/Meta/TypeCoercion.pm line 63
>    Moose::Meta::TypeCoercion::__ANON__('GLR::Schema') called at
> /usr/local/lib/perl/5.10.0/Moose/Meta/TypeCoercion.pm line 97
>
>  Moose::Meta::TypeCoercion::coerce('Moose::Meta::TypeCoercion=HASH(0xae9a500)',
> 'GLR::Schema') called at
> /usr/local/lib/perl/5.10.0/Moose/Meta/TypeConstraint.pm line 90
>
>  Moose::Meta::TypeConstraint::coerce('Moose::Meta::TypeConstraint=HASH(0xae8fb38)',
> 'GLR::Schema') called at
> /usr/local/share/perl/5.10.0/MooseX/Types/TypeDecorator.pm line 206
>    eval {...} called at
> /usr/local/share/perl/5.10.0/MooseX/Types/TypeDecorator.pm line 205
>
>  MooseX::Types::TypeDecorator::AUTOLOAD('MooseX::Types::TypeDecorator=HASH(0xaea7520)',
> 'GLR::Schema') called at /usr/local/lib/perl/5.10.0/Moose/Meta/Attribute.pm
> line 880
>
>  Moose::Meta::Attribute::_coerce_and_verify('Moose::Meta::Attribute=HASH(0xaecb070)',
> 'GLR::Schema', 'GLR::Model::DB=HASH(0xb9b20a0)') called at
> /usr/local/lib/perl/5.10.0/Moose/Meta/Attribute.pm line 483
>
>  Moose::Meta::Attribute::initialize_instance_slot('Moose::Meta::Attribute=HASH(0xaecb070)',
> 'Moose::Meta::Instance=HASH(0xba1d3d0)', 'GLR::Model::DB=HASH(0xb9b20a0)',
> 'HASH(0xb9a4a90)') called at /usr/local/lib/perl/5.10.0/Class/MOP/Class.pm
> line 603
>
>  Class::MOP::Class::_construct_instance('Moose::Meta::Class=HASH(0xadfb790)',
> 'HASH(0xb9a4a90)') called at /usr/local/lib/perl/5.10.0/Class/MOP/Class.pm
> line 576
>    Class::MOP::Class::new_object('Moose::Meta::Class=HASH(0xadfb790)',
> 'HASH(0xb9a4a90)') called at /usr/local/lib/perl/5.10.0/Moose/Meta/Class.pm
> line 256
>    Moose::Meta::Class::new_object('Moose::Meta::Class=HASH(0xadfb790)',
> 'HASH(0xb9a4a90)') called at /usr/local/lib/perl/5.10.0/Moose/Object.pm line
> 26
>    Moose::Object::new('GLR::Model::DB', 'GLR', 'HASH(0xaebe148)') called at
> generated method (unknown origin) line 3
>    Catalyst::Model::DBIC::Schema::new('GLR::Model::DB', 'GLR',
> 'HASH(0xaebe148)') called at
> /usr/local/share/perl/5.10.0/MooseX/Traits/Pluggable.pm line 139
>    MooseX::Traits::Pluggable::_build_instance_with_traits('GLR::Model::DB',
> 'GLR::Model::DB', 'GLR') called at
> /usr/local/share/perl/5.10.0/MooseX/Traits/Pluggable.pm line 97
>    MooseX::Traits::Pluggable::new_with_traits('GLR::Model::DB', 'GLR',
> 'HASH(0xb9a4b60)') called at
> /usr/local/share/perl/5.10.0/CatalystX/Component/Traits.pm line 145
>    CatalystX::Component::Traits::COMPONENT('GLR::Model::DB', 'GLR',
> 'HASH(0xb9a4900)') called at
> /usr/local/lib/perl/5.10.0/Class/MOP/Method/Wrapped.pm line 48
>    Class::MOP::Method::Wrapped::__ANON__('GLR::Model::DB', 'GLR',
> 'HASH(0xb9a4900)') called at
> /usr/local/lib/perl/5.10.0/Class/MOP/Method/Wrapped.pm line 89
>    Catalyst::Model::DBIC::Schema::COMPONENT('GLR::Model::DB', 'GLR',
> 'HASH(0xb9a4900)') called at /usr/local/share/perl/5.10.0/Catalyst.pm line
> 2523
>    eval {...} called at /usr/local/share/perl/5.10.0/Catalyst.pm line 2523
>    Catalyst::setup_component('GLR', 'GLR::Model::DB') called at
> /usr/local/share/perl/5.10.0/Catalyst.pm line 2450
>    Catalyst::setup_components('GLR') called at
> /usr/local/share/perl/5.10.0/Catalyst.pm line 1179
>    Catalyst::setup('GLR') called at
> /var/www/sites/gordonlegalresearch.com/GLR-0.01/script/../lib/GLR.pm line
> 120
>    require GLR.pm called at /usr/local/lib/perl/5.10.0/Class/MOP.pm line 114
>    Class::MOP::__ANON__() called at /usr/local/share/perl/5.10.0/Try/Tiny.pm
> line 71
>    eval {...} called at /usr/local/share/perl/5.10.0/Try/Tiny.pm line 67
>    Try::Tiny::try('CODE(0x9b450e0)', 'Try::Tiny::Catch=REF(0xa52b128)')
> called at /usr/local/lib/perl/5.10.0/Class/MOP.pm line 125
>    Class::MOP::load_first_existing_class('GLR') called at
> /usr/local/lib/perl/5.10.0/Class/MOP.pm line 137
>    Class::MOP::load_class('GLR') called at
> /usr/local/share/perl/5.10.0/Catalyst/ScriptRole.pm line 48
>
>  Catalyst::ScriptRole::_run_application('Catalyst::Script::Server=HASH(0xa54c678)')
> called at /usr/local/share/perl/5.10.0/Catalyst/Script/Server.pm line 179
>    Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0xa54c678)')
> called at /usr/local/share/perl/5.10.0/Catalyst/ScriptRunner.pm line 20
>    Catalyst::ScriptRunner::run('Catalyst::ScriptRunner', 'GLR', 'Server')
> called at script/glr_server.pl line 8
>  at /usr/local/share/perl/5.10.0/MooseX/Types/TypeDecorator.pm line 208
>
>  MooseX::Types::TypeDecorator::AUTOLOAD('MooseX::Types::TypeDecorator=HASH(0xaea7520)',
> 'GLR::Schema') called at /usr/local/lib/perl/5.10.0/Moose/Meta/Attribute.pm
> line 880
>
>  Moose::Meta::Attribute::_coerce_and_verify('Moose::Meta::Attribute=HASH(0xaecb070)',
> 'GLR::Schema', 'GLR::Model::DB=HASH(0xb9b20a0)') called at
> /usr/local/lib/perl/5.10.0/Moose/Meta/Attribute.pm line 483
>
>  Moose::Meta::Attribute::initialize_instance_slot('Moose::Meta::Attribute=HASH(0xaecb070)',
> 'Moose::Meta::Instance=HASH(0xba1d3d0)', 'GLR::Model::DB=HASH(0xb9b20a0)',
> 'HASH(0xb9a4a90)') called at /usr/local/lib/perl/5.10.0/Class/MOP/Class.pm
> line 603
>
>  Class::MOP::Class::_construct_instance('Moose::Meta::Class=HASH(0xadfb790)',
> 'HASH(0xb9a4a90)') called at /usr/local/lib/perl/5.10.0/Class/MOP/Class.pm
> line 576
>    Class::MOP::Class::new_object('Moose::Meta::Class=HASH(0xadfb790)',
> 'HASH(0xb9a4a90)') called at /usr/local/lib/perl/5.10.0/Moose/Meta/Class.pm
> line 256
>    Moose::Meta::Class::new_object('Moose::Meta::Class=HASH(0xadfb790)',
> 'HASH(0xb9a4a90)') called at /usr/local/lib/perl/5.10.0/Moose/Object.pm line
> 26
>    Moose::Object::new('GLR::Model::DB', 'GLR', 'HASH(0xaebe148)') called at
> generated method (unknown origin) line 3
>    Catalyst::Model::DBIC::Schema::new('GLR::Model::DB', 'GLR',
> 'HASH(0xaebe148)') called at
> /usr/local/share/perl/5.10.0/MooseX/Traits/Pluggable.pm line 139
>    MooseX::Traits::Pluggable::_build_instance_with_traits('GLR::Model::DB',
> 'GLR::Model::DB', 'GLR') called at
> /usr/local/share/perl/5.10.0/MooseX/Traits/Pluggable.pm line 97
>    MooseX::Traits::Pluggable::new_with_traits('GLR::Model::DB', 'GLR',
> 'HASH(0xb9a4b60)') called at
> /usr/local/share/perl/5.10.0/CatalystX/Component/Traits.pm line 145
>    CatalystX::Component::Traits::COMPONENT('GLR::Model::DB', 'GLR',
> 'HASH(0xb9a4900)') called at
> /usr/local/lib/perl/5.10.0/Class/MOP/Method/Wrapped.pm line 48
>    Class::MOP::Method::Wrapped::__ANON__('GLR::Model::DB', 'GLR',
> 'HASH(0xb9a4900)') called at
> /usr/local/lib/perl/5.10.0/Class/MOP/Method/Wrapped.pm line 89
>    Catalyst::Model::DBIC::Schema::COMPONENT('GLR::Model::DB', 'GLR',
> 'HASH(0xb9a4900)') called at /usr/local/share/perl/5.10.0/Catalyst.pm line
> 2523
>    eval {...} called at /usr/local/share/perl/5.10.0/Catalyst.pm line 2523
>    Catalyst::setup_component('GLR', 'GLR::Model::DB') called at
> /usr/local/share/perl/5.10.0/Catalyst.pm line 2450
>    Catalyst::setup_components('GLR') called at
> /usr/local/share/perl/5.10.0/Catalyst.pm line 1179
>    Catalyst::setup('GLR') called at
> /var/www/sites/gordonlegalresearch.com/GLR-0.01/script/../lib/GLR.pm line
> 120
>    require GLR.pm called at /usr/local/lib/perl/5.10.0/Class/MOP.pm line 114
>    Class::MOP::__ANON__() called at /usr/local/share/perl/5.10.0/Try/Tiny.pm
> line 71
>    eval {...} called at /usr/local/share/perl/5.10.0/Try/Tiny.pm line 67
>    Try::Tiny::try('CODE(0x9b450e0)', 'Try::Tiny::Catch=REF(0xa52b128)')
> called at /usr/local/lib/perl/5.10.0/Class/MOP.pm line 125
>    Class::MOP::load_first_existing_class('GLR') called at
> /usr/local/lib/perl/5.10.0/Class/MOP.pm line 137
>    Class::MOP::load_class('GLR') called at
> /usr/local/share/perl/5.10.0/Catalyst/ScriptRole.pm line 48
>
>  Catalyst::ScriptRole::_run_application('Catalyst::Script::Server=HASH(0xa54c678)')
> called at /usr/local/share/perl/5.10.0/Catalyst/Script/Server.pm line 179
>    Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0xa54c678)')
> called at /usr/local/share/perl/5.10.0/Catalyst/ScriptRunner.pm line 20
>    Catalyst::ScriptRunner::run('Catalyst::ScriptRunner', 'GLR', 'Server')
> called at script/glr_server.pl line 8"Compilation failed in require at
> /usr/local/lib/perl/5.10.0/Class/MOP.pm line 114.
>  at /usr/local/lib/perl/5.10.0/Class/MOP.pm line 120
>    Class::MOP::__ANON__('Couldn\'t instantiate component "GLR::Model::DB",
> "Couldn\'t ...') called at /usr/local/share/perl/5.10.0/Try/Tiny.pm line 100
>    Try::Tiny::try('CODE(0x9b450e0)', 'Try::Tiny::Catch=REF(0xa52b128)')
> called at /usr/local/lib/perl/5.10.0/Class/MOP.pm line 125
>    Class::MOP::load_first_existing_class('GLR') called at
> /usr/local/lib/perl/5.10.0/Class/MOP.pm line 137
>    Class::MOP::load_class('GLR') called at
> /usr/local/share/perl/5.10.0/Catalyst/ScriptRole.pm line 48
>
>  Catalyst::ScriptRole::_run_application('Catalyst::Script::Server=HASH(0xa54c678)')
> called at /usr/local/share/perl/5.10.0/Catalyst/Script/Server.pm line 179
>    Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0xa54c678)')
> called at /usr/local/share/perl/5.10.0/Catalyst/ScriptRunner.pm line 20
>    Catalyst::ScriptRunner::run('Catalyst::ScriptRunner', 'GLR', 'Server')
> called at script/glr_server.pl line 8
>
>
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>



-- 
Sincerely yours,
Oleg Kostyuk (CUB-UANIC)



More information about the Catalyst mailing list