[Dbix-class] DBIx::Class and MRO::Compat

Daniel Austin daniel.austin at gmail.com
Tue May 13 13:32:56 BST 2008


Hoping someone on this list can help... at least point in the right direction.

I'm having trouble installing DBIx::Class although it's not actually
DBIx::Class that's having the problem but MRO::Compat which is
obviously a dependency. Specifically, this test fails in t/10basic.t
in MRO::Compat:

    is_deeply(
      [sort @{mro::get_isarev('GGG')}],
      [],
      "get_isarev for GGG",
    );

When this test case is run the program appears to go into an infinite
loop, maxing out the CPU and consuming more and more memory until the
system runs out. If I comment out the 3 "is_deeply" tests the other
test cases run fine.

   Running make test
   /usr/local/bin/perl "-Iinc" Makefile.PL --config=
--installdeps=Class::C3,0.19,Class::C3::XS,0.08
   Cannot determine perl version info from lib/MRO/Compat.pm
   PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM"
"-e" "test_harness(0,
   'inc', 'blib/lib', 'blib/arch')" t/01use.t t/02pod.t
t/03pod_coverage.t t/10basic.t t/15pkg_gen.t
    t/20mros.t
    t/01use.............ok
    t/02pod.............ok
    t/03pod_coverage....skipped
        all skipped: Test::Pod::Coverage 1.04 required for testing POD coverage
    t/10basic...........ok 2/11Out of memory!

I usually kill it after the Perl process hits 500M but I've let it
grow to over 1GB resident which made the machine very sad.

I don't know enough about MRO::Compat and how DBIx::Class uses it to
really understand what that test does but it looks like it would be a
Really Bad Idea to force the install.

Now I'm running Perl 5.8.5 which is pretty ancient on Solaris 9 which
is also ancient. But the MRO::Compat documentation seems to suggest it
should work all the way back to Perl 5.6.0 and I'm not sure how much
scope I have here to upgrade to Perl 5.8.8 or 5.10.0 (where
MRO::Compat would be a no-op).

Has anyone seen this before? Usual suspects (ie Google) hasn't turned
anything up yet. Any ideas what to do next?

Thanks

Dan



More information about the DBIx-Class mailing list