Skip Menu |

This queue is for tickets about the DBIx-DataModel CPAN distribution.

Report information
The Basics
Id: 40159
Status: resolved
Priority: 0/
Queue: DBIx-DataModel

People
Owner: Nobody in particular
Requestors: ANDK [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.05
Fixed in: (no value)

Attachments


Subject: Another hanging test with 1.05
I tried with current 5.10.1-tobe which hangs, then with current 5.8.9-tobe which succeeds, then with bleadperl which looks pretty similar to the current 5.10 branch, that is noisy and hanging. This seems to explain why the cpantesters show no test results for > 5.8.8. % make test PERL_DL_NONLAZY=1 /home/src/perl/repoperls/installed-perls/maint-5.10/p3Hxa0E/perl-5.10.0@34500/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00-load...........1/7 # Testing DBIx::DataModel 1.05, Perl 5.010000, /home/src/perl/repoperls/installed-perls/maint-5.10/p3Hxa0E/perl-5.10.0@34500/bin/perl t/00-load...........ok t/DBIx-DataModel....1/165 Can't locate object method "emp_id" via package "HR::Employee" at t/DBIx-DataModel.t line 252. # Looks like you planned 165 tests but ran 49. # Looks like your test exited with 9 just after 49. t/DBIx-DataModel.... Dubious, test returned 9 (wstat 2304, 0x900) Failed 116/165 subtests t/MsAccess..........1/5 package HR::AutoView::HR::Employee_JOIN_activities_JOIN_department is already defined at t/MsAccess.t line 72 # Looks like you planned 5 tests but ran 1. # Looks like your test exited with 9 just after 1. t/MsAccess.......... Dubious, test returned 9 (wstat 2304, 0x900) Failed 4/5 subtests t/ParentClasses.....1/6 package HR::AutoView::HR::Employee_JOIN_activities_JOIN_department is already defined at t/ParentClasses.t line 41 # Looks like you planned 6 tests but ran 3. # Looks like your test exited with 255 just after 3. t/ParentClasses..... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 3/6 subtests t/pod...............ok t/Storable..........package HR::AutoView::HR::Employee_JOIN_activities_JOIN_department is already defined at t/Storable.t line 39 # Looks like your test exited with 29 before it could output anything. After that the test seems to hang forever. I gave up afte a few minutes. Let me know if I can provide more detail. Thanks,
RT-Send-CC: maddingue [...] free.fr
Le Dim. Oct. 19 03:43:15 2008, ANDK a écrit : Show quoted text
> I tried with current 5.10.1-tobe which hangs, then with current > 5.8.9-tobe which succeeds, then with bleadperl which looks pretty > similar to the current 5.10 branch, that is noisy and hanging. This > seems to explain why the cpantesters show no test results for > 5.8.8. >
Hi Andreas, Thanks for the bug report. SAPER pointed me to the fact that I was using a deprecated call : "if defined(%hash)" .. probably that call is no longer supported in Perl5.10, or behaves differently, so the tests fail. And since this generates an exception, and since one of the tests was doing a fork(), the child became zombie, waiting for a dead parent ... that explains the hanging behaviour. Anyway, here is a 1.06 version which I hope corrects the problem. Could you please give it a try on your various environments before I publish it to CPAN ? Thanks in advance, Laurent Dami
Download DBIx-DataModel-1.06.tar.gz
application/x-gzip 89.9k

Message body not shown because it is not plain text.

Subject: Re: [rt.cpan.org #40159] Another hanging test with 1.05
Date: Mon, 27 Oct 2008 01:08:24 +0100
To: bug-DBIx-DataModel [...] rt.cpan.org
From: Sébastien Aperghis-Tramoni <saper [...] cpan.org>
Laurent Dami wrote via RT: Show quoted text
> Le Dim. Oct. 19 03:43:15 2008, ANDK a écrit :
>> I tried with current 5.10.1-tobe which hangs, then with current >> 5.8.9-tobe which succeeds, then with bleadperl which looks pretty >> similar to the current 5.10 branch, that is noisy and hanging. This >> seems to explain why the cpantesters show no test results for > >> 5.8.8. >>
> > Hi Andreas, > > Thanks for the bug report. > > SAPER pointed me to the fact that I was using a deprecated call : "if > defined(%hash)" .. probably that call is no longer supported in > Perl5.10, or behaves differently, so the tests fail. And since this > generates an exception, and since one of the tests was doing a fork(), > the child became zombie, waiting for a dead parent ... that > explains the > hanging behaviour. > > Anyway, here is a 1.06 version which I hope corrects the problem. > Could > you please give it a try on your various environments before I publish > it to CPAN ?
All tests successful on Perl v5.8.6 darwin-thread-multi-2level Fails on Perl v5.10.0 darwin-2level: maddingue@Gwaihir:~/DBIx-DataModel-1.06 $ perl5.10.0 Makefile.PL && make all test Writing Makefile for DBIx::DataModel [...] PERL_DL_NONLAZY=1 /usr/local/bin/perl5.10.0 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00-load...........ok 1/7# Testing DBIx::DataModel 1.06, Perl 5.010000, /usr/local/bin/perl5.10.0 t/00-load...........ok t/DBIx-DataModel....ok 2/165Can't locate object method "emp_id" via package "HR::Employee" at t/DBIx-DataModel.t line 252. # Looks like you planned 165 tests but only ran 49. # Looks like your test died just after 49. t/DBIx-DataModel....dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 50-165 Failed 116/165 tests, 29.70% okay t/MsAccess..........ok t/ParentClasses.....ok t/pod...............skipped all skipped: Test::Pod 1.14 required for testing POD t/Storable..........Can't locate object method "classData" via package "HR::AutoView::HR::Employee_JOIN_activities_JOIN_department" at /Users/maddingue/DBIx-DataModel-1.06/blib/lib/DBIx/DataModel/ Schema.pm line 504. BEGIN failed--compilation aborted, at t/Storable.t line 60 FAILED before any test output arrived Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------ ------- t/DBIx-DataModel.t 255 65280 165 232 50-165 t/Storable.t ?? ?? ?? 1 test skipped. Failed 2/6 test scripts. 119/186 subtests failed. Files=6, Tests=186, 3 wallclock secs ( 1.16 cusr + 0.27 csys = 1.43 CPU) Failed 2/6 test programs. 119/186 subtests failed. make: *** [test_dynamic] Error 255 When executing these tests on their own: maddingue@Gwaihir:~/DBIx-DataModel-1.06 $ perl5.10.0 -Mblib t/DBIx- DataModel.t 1..165 ok 1 - use DBIx::DataModel; ok 2 - Schema defined [...] ok 45 - fetch (undef) [-1] (params) ok 46 - first fetch_cached : go to db ok 47 - second fetch_cached : no db ok 48 - fetch_cached result ok 49 - Can't locate object method "emp_id" via package "HR::Employee" at t/DBIx-DataModel.t line 249. # Can't locate object method "emp_id" via package "HR::Employee" at t/ DBIx-DataModel.t line 252. # Looks like you planned 165 tests but only ran 49. # Looks like your test died just after 49. maddingue@Gwaihir:~/DBIx-DataModel-1.06 $ perl5.10.0 -Mblib t/Storable.t 1..3 Can't locate object method "classData" via package "HR::AutoView::HR::Employee_JOIN_activities_JOIN_department" at / Users/maddingue/DBIx-DataModel-1.06/blib/lib/DBIx/DataModel/Schema.pm line 504. BEGIN failed--compilation aborted, at t/Storable.t line 60 -- Sébastien Aperghis-Tramoni Close the world, txEn eht nepO.
CC: ANDK [...] cpan.org
Subject: Re: [rt.cpan.org #40159] Another hanging test with 1.05
Date: Mon, 27 Oct 2008 07:20:57 +0100
To: bug-DBIx-DataModel [...] rt.cpan.org
From: andreas.koenig.7os6VVqR [...] franz.ak.mind.de (Andreas J. Koenig)
Show quoted text
>>>>> On Sun, 26 Oct 2008 18:50:36 -0400, "Laurent Dami via RT" <bug-DBIx-DataModel@rt.cpan.org> said:
Show quoted text
> Anyway, here is a 1.06 version which I hope corrects the problem. Could > you please give it a try on your various environments before I publish > it to CPAN ?
Thank you. all tests successful with 5.8.9-tobe 5.10.1-tobe says PERL_DL_NONLAZY=1 /home/src/perl/repoperls/installed-perls/maint-5.10/pV47zxQ/perl-5.10.0@34563/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00-load...........1/7 # Testing DBIx::DataModel 1.06, Perl 5.010000, /home/src/perl/repoperls/installed-perls/maint-5.10/pV47zxQ/perl-5.10.0@34563/bin/perl t/00-load...........ok t/DBIx-DataModel....1/165 Can't locate object method "emp_id" via package "HR::Employee" at t/DBIx-DataModel.t line 252. # Looks like you planned 165 tests but ran 49. # Looks like your test exited with 9 just after 49. t/DBIx-DataModel.... Dubious, test returned 9 (wstat 2304, 0x900) Failed 116/165 subtests t/MsAccess..........ok t/ParentClasses.....ok t/pod...............ok t/Storable..........Can't locate object method "classData" via package "HR::AutoView::HR::Employee_JOIN_activities_JOIN_department" at /tmp/DBIx-DataModel-1.06/blib/lib/DBIx/DataModel/Schema.pm line 504. BEGIN failed--compilation aborted, at t/Storable.t line 60 t/Storable.......... Failed 3/3 subtests Did you know that by uploading developer releases (http://pause.perl.org/pause/query?ACTION=pause_04about#conventions) you get more pre-release tests automatically and quicker than manual testing can provide? Let me know if I can provide further help. Regards, -- andreas
RT-Send-CC: saper [...] cpan.org
OK, I reproduced the bugs with Perl5.10 on Win32. The reason for failures is that dynamic methods and subclasses in DBIx::DataModel are not automatically detected by the new method caching system introduced in Perl 5.9.5. I Tried mro::method_changed_in($parent_class), but it doesn't seem to solve the problem .. need further investigations.
Le Mer. Oct. 29 01:10:22 2008, DAMI a écrit : Show quoted text
> OK, I reproduced the bugs with Perl5.10 on Win32. The reason for > failures is that dynamic methods and subclasses in DBIx::DataModel are > not automatically detected by the new method caching system introduced > in Perl 5.9.5. > > I Tried mro::method_changed_in($parent_class), but it doesn't seem to > solve the problem .. need further investigations. >
Indeed these are problems with the method cache in Perl>5.9.5. Opened perlbug tickets #60220 and #60232 (with little code snippets that demonstrate the problem, outside of DBIx::DataModel)
Le Jeu. Oct. 30 11:22:20 2008, DAMI a écrit : Show quoted text
> Le Mer. Oct. 29 01:10:22 2008, DAMI a écrit :
> > OK, I reproduced the bugs with Perl5.10 on Win32. The reason for > > failures is that dynamic methods and subclasses in DBIx::DataModel are > > not automatically detected by the new method caching system introduced > > in Perl 5.9.5. > > > > I Tried mro::method_changed_in($parent_class), but it doesn't seem to > > solve the problem .. need further investigations. > >
> > Indeed these are problems with the method cache in Perl>5.9.5. > > Opened perlbug tickets #60220 and #60232 (with little code snippets that > demonstrate the problem, outside of DBIx::DataModel) >
Fixed in v1.06 (assigning to @{Package::ISA} = @parent_classes instead of *{Package::ISA} = \@parent_classes solved the problem