Class::DBI modules not properly loaded under mod_perl ?

[prev] [thread] [next] [Date index for 2004/10/22]

From: Michele Valzelli
Subject: Class::DBI modules not properly loaded under mod_perl ?
Date: 10:55 on 22 Oct 2004
Hi,

I have a quite complex hierarchy of Class::DBI modules I was happily using 
in a cgi-bin environment. Recently we moved to a Mason/mod_perl 
environment. In particular the switch to mod_perl has been done quickly by 
another person, so at the moment Class::DBI aren't loaded at startup, but 
are loaded by the pages that need them.

Let's say I have this kind of setup, where table Bar has a foreign key 
pointing to table Foo, and Foo's primary key is a number. The two 
Class::DBI modules are stored in different files, and in Bar module i have 
somethinf like this

package MyClass::Bar;

....

__PACKAGE__->has_a(foo => 'MyClass::Foo');

...

sub test {
  my $self = shift;

  if ($self->foo == 1) {
	return 1;
  } else { 
	return 0;
  }
}


Any coll to $bar->test works 99.9% of the times, but sporadically I get 
this kind of error:

Operation `==': no method found, left argument in overloaded package 
MyClass::Foo, right argument has no overloaded magic

But if I reload the page causing this error everything works fine.
I suspect that this happens when the request gets on a new apache process, 
and that I don't load the module MyClass::Foo properly, but I thought that 
the call to has_a in MyClass::Bar automatically loaded MyClass::Foo.

Are my suspects correct? Is there a place, using mod_perl, where I should 
load all my Class::DBI modules to prevent this? Or is it something 
completely different that I'm missing?


        -- 
        Michele Valzelli - Messagenet srl
Messaggistica e Telecomunicazioni
Tel: +39 02 48102000
Fax: +39 02 700443128

(message missing)

pager
David R. Baird 09:48 on 20 Oct 2004

Re: pager
David R. Baird 13:53 on 20 Oct 2004

Re: pager
David R. Baird 21:00 on 20 Oct 2004

Re: pager
merlyn (Randal L. Schwartz) 02:55 on 21 Oct 2004

Re: pager
David R. Baird 10:46 on 21 Oct 2004

Re: pager
David R. Baird 11:30 on 21 Oct 2004

Re: pager
merlyn (Randal L. Schwartz) 12:10 on 21 Oct 2004

Re: pager
David R. Baird 23:08 on 21 Oct 2004

Re: pager
Cees Hek 00:22 on 22 Oct 2004

Re: pager
Tony Bowden 08:34 on 22 Oct 2004

Re: pager
Emanuele Zeppieri 13:51 on 22 Oct 2004

Re: pager
David R. Baird 14:41 on 22 Oct 2004

Re: pager
David R. Baird 09:20 on 22 Oct 2004

Class::DBI modules not properly loaded under mod_perl ?
Michele Valzelli 10:55 on 22 Oct 2004

Re: pager
Emanuele Zeppieri 12:21 on 22 Oct 2004

Re: pager
David R. Baird 12:52 on 22 Oct 2004

Re: pager
Emanuele Zeppieri 15:33 on 22 Oct 2004

Re: pager
David R. Baird 16:09 on 22 Oct 2004

Re: pager
David R. Baird 23:30 on 07 Nov 2004

RE: pager
Emanuele Zeppieri 03:50 on 14 Nov 2004

Re: pager
Emanuele Zeppieri 13:25 on 22 Oct 2004

Generated at 11:35 on 01 Dec 2004 by mariachi v0.52