Skip Menu |

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

Report information
The Basics
Id: 124321
Status: open
Priority: 0/
Queue: DBIx-Class

People
Owner: Nobody in particular
Requestors: jkeenan [...] cpan.org
the.daniel.gray [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.082841
Fixed in: 0.082842



Subject: t/storage/replicated.t: no subtests run
In the course of testing many other CPAN distributions against Perl 5 blead today (v5.27.9 (v5.27.8-149-g1e2cfe1)), I had occasion to test DBIx-Class. I got the following test failure, which prevented this distribution's installation and that of its reverse dependencies. ##### [DBIx-Class-0.082841] 643 $ bleadprove -vb t/storage/replicated.t t/storage/replicated.t .. # # Using Moose version 2.2009 and MooseX::Types version 0.50 Can't store CODE items at /home/jkeenan/testing/blead/lib/perl5/site_perl/5.27.9/Hash/Merge.pm line 209. # Auto checked 2 references for leaks - none detected Dubious, test returned 255 (wstat 65280, 0xff00) No subtests run Test Summary Report ------------------- t/storage/replicated.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: No plan found in TAP output Files=1, Tests=0, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.54 cusr 0.01 csys = 0.57 CPU) Result: FAIL ##### Thank you very much. Jim Keenan
On Sun Feb 04 22:40:50 2018, JKEENAN wrote: Show quoted text
> Test Summary Report > ------------------- > t/storage/replicated.t (Wstat: 65280 Tests: 0 Failed: 0) > Non-zero exit status: 255 > Parse errors: No plan found in TAP output > Files=1, Tests=0, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.54 cusr > 0.01 csys = 0.57 CPU) > Result: FAIL
Can you please attach ( or better yet link me to ) the logs of a complete test run ( all tests )? Thank you!
On Wed Feb 07 07:55:13 2018, RIBASUSHI wrote: Show quoted text
> On Sun Feb 04 22:40:50 2018, JKEENAN wrote:
> > Test Summary Report > > ------------------- > > t/storage/replicated.t (Wstat: 65280 Tests: 0 Failed: 0) > > Non-zero exit status: 255 > > Parse errors: No plan found in TAP output > > Files=1, Tests=0, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.54 cusr > > 0.01 csys = 0.57 CPU) > > Result: FAIL
> > > Can you please attach ( or better yet link me to ) the logs of a > complete test run ( all tests )? Thank you!
You can reproduce this for yourself in a number of ways. For example, using the shell script attached, you can issue the following commands: ##### $ export TESTINGDIR=~/tmp $ export SECONDARY_CHECKOUT_DIR=/home/jkeenan/gitwork/perl2 $ export TEST_JOBS=4 $ install_tag_for_testing v5.27.8 $ cd "$TESTINGDIR/v5.27.8" $ ./bin/cpan Moose MooseX::Types MooseX::Types::LoadableClass Test::Moose $ ./bin/cpan # enter cpan shell Show quoted text
> test DBIx::Class
##### As an alternative, you can run the script above, install 'cpanm' against the newly built perl, then use 'cpanm' to install the modules. Whichever installer you use, the key thing is to install the 4 prerequisites for t/storage/replicated.t *before* you test DBIx::Class -- otherwise, the 'skip_all' condition in that test file will be encountered. I've tried this at various Perl 5 tags and commits going back as far as v5.24.3 and gotten the same results. So I believe we can rule out a "blead breaks CPAN" problem. I've also tried this on both Linux and FreeBSD, so I believe we can rule out an OS-related problem. And I've tried it with both 'cpan' and 'cpanm', so we can rule out an installer problem. See, for example, the attachment, which is a gzipped cpanm build.log where the perl is v5.24.3, the OS is Linux and all other DBIx::Class prerequisites have been successfully installed. Thank you very much. Jim Keenan
Subject: dbix-class-cpanm-v5.24.3-build.log.gz

Message body not shown because it is not plain text.

On Wed Feb 07 09:38:58 2018, JKEENAN wrote: Show quoted text
> On Wed Feb 07 07:55:13 2018, RIBASUSHI wrote:
> > On Sun Feb 04 22:40:50 2018, JKEENAN wrote:
> > > Test Summary Report > > > ------------------- > > > t/storage/replicated.t (Wstat: 65280 Tests: 0 Failed: 0) > > > Non-zero exit status: 255 > > > Parse errors: No plan found in TAP output > > > Files=1, Tests=0, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.54 > > > cusr > > > 0.01 csys = 0.57 CPU) > > > Result: FAIL
> > > > > > Can you please attach ( or better yet link me to ) the logs of a > > complete test run ( all tests )? Thank you!
> > You can reproduce this for yourself in a number of ways. For example, > using the shell script attached, you can issue the following commands: > > ##### > $ export TESTINGDIR=~/tmp > $ export SECONDARY_CHECKOUT_DIR=/home/jkeenan/gitwork/perl2 > $ export TEST_JOBS=4 > $ install_tag_for_testing v5.27.8 > $ cd "$TESTINGDIR/v5.27.8" > $ ./bin/cpan Moose MooseX::Types MooseX::Types::LoadableClass > Test::Moose > $ ./bin/cpan > # enter cpan shell
> > test DBIx::Class
> ##### > > As an alternative, you can run the script above, install 'cpanm' > against the newly built perl, then use 'cpanm' to install the modules. > > Whichever installer you use, the key thing is to install the 4 > prerequisites for t/storage/replicated.t *before* you test DBIx::Class > -- otherwise, the 'skip_all' condition in that test file will be > encountered. > > I've tried this at various Perl 5 tags and commits going back as far > as v5.24.3 and gotten the same results. So I believe we can rule out > a "blead breaks CPAN" problem. I've also tried this on both Linux and > FreeBSD, so I believe we can rule out an OS-related problem. And I've > tried it with both 'cpan' and 'cpanm', so we can rule out an installer > problem. See, for example, the attachment, which is a gzipped cpanm > build.log where the perl is v5.24.3, the OS is Linux and all other > DBIx::Class prerequisites have been successfully installed. > > Thank you very much. > Jim Keenan
Subject: install_tag_for_testing
Download install_tag_for_testing
application/octet-stream 1.3k

Message body not shown because it is not plain text.

I have the same problem I believe: Can't store CODE items at /opt/perl-5.24.3/lib/site_perl/5.24.3/Hash/Merge.pm line 222. Full log attached
Subject: dbix-class.txt

Message body is not shown because it is too large.

Subject: Re: [rt.cpan.org #124321] t/storage/replicated.t: no subtests run
Date: Fri, 8 Feb 2019 08:55:51 +0100
To: bug-DBIx-Class [...] rt.cpan.org
From: Peter Rabbitson <ribasushi [...] leporine.io>
On 02/08/2019 12:55 AM, Paul G Webster via RT wrote: Show quoted text
> Queue: DBIx-Class > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=124321 > > > I have the same problem I believe: > > Can't store CODE items at /opt/perl-5.24.3/lib/site_perl/5.24.3/Hash/Merge.pm line 222. >
I *just* happened to get to the bottom of this around FOSDEM, didn't have a chance to send out a fix yet ( a proper fix is sadly a bit more involved ). The problem comes from a dependency subtly breaking: previously this would unconditionally work: perl -MHash::Merge=merge -MDevel::Dwarn -e 'Dwarn merge( { somecref => sub {} } , {})' Today it doesn't *unless* you have Clone.pm explicitly installed: perl -MDevel::Hide=Clone -MHash::Merge=merge -MDevel::Dwarn -e 'Dwarn merge( { somecref => sub {} } , {})' Devel::Hide hides Clone.pm Can't store CODE items at /home/rabbit/perl5/perlbrew/perls/5.16.2/lib/site_perl/5.16.2/Hash/Merge.pm line 209. I should have an updated dist with the condition fixed in the next ~1.5 weeks.
Subject: Cannot install DBIx::Class on Mac OS X
Date: Thu, 2 May 2019 22:43:44 -0400
To: bug-DBIx-Class [...] rt.cpan.org
From: Daniel Gray <the.daniel.gray [...] gmail.com>
Hello!! I tried to install DBIx::Class on my Macbook Pro, with the following command: $ cpanm DBIx::Class And it returned the following error message: $ cpanm DBIx::Class --> Working on DBIx::Class Fetching http://www.cpan.org/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.082841.tar.gz ... OK Configuring DBIx-Class-0.082841 ... OK Building and testing DBIx-Class-0.082841 ... FAIL ! Installing DBIx::Class failed. See /Users/daniel/.cpanm/work/1556847655.90833/build.log for details. Retry with --force to force install it. I have attached the build.log file. The relevant part seems to be: Can't store CODE items at /Users/daniel/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.3/Hash/Merge.pm line 222. t/storage/replicated.t .............................. Dubious, test returned 255 (wstat 65280, 0xff00) No subtests run I'm open to providing any other information you need. Kind regards, Daniel
Download build.log
application/octet-stream 91.1k

Message body not shown because it is not plain text.

Looks to be a duplicate of https://rt.cpan.org/Ticket/Display.html?id=124321 (You can run cpanm -n to install without running the tests)
Nudge nudge. Any chance for a release?
On Thu Jul 18 11:46:47 2019, ALTREUS wrote: Show quoted text
> Nudge nudge. Any chance for a release?
A release of DBIC itself won't help. Either the "maintainer" of Hash::Merge needs to fix their deplist, or DBIC needs to migrate away from H::M. A replacement has not been prepared yet. Sorry for the delays :(
On Tue Jul 23 10:30:14 2019, RIBASUSHI wrote: Show quoted text
> > A release of DBIC itself won't help. >
I mis-spoke here, didn't realize at the time which callstack the error is occurring in. This will be addressed by https://github.com/Perl5/DBIx-Class/commit/79410c9b5 and is currently on CPAN in https://metacpan.org/release/RIBASUSHI/DBIx-Class-0.082841_01 . It should be released proper in a couple weeks, apologies for the massive delay here. A bug should still be opened against Hash::Merge if someone is so inclined.
On Wed Oct 30 20:16:42 2019, RIBASUSHI wrote: Show quoted text
> On Tue Jul 23 10:30:14 2019, RIBASUSHI wrote:
> > > > A release of DBIC itself won't help. > >
> > I mis-spoke here, didn't realize at the time which callstack the error > is occurring in. This will be addressed by > https://github.com/Perl5/DBIx-Class/commit/79410c9b5 and is currently > on CPAN in https://metacpan.org/release/RIBASUSHI/DBIx-Class- > 0.082841_01 . > > It should be released proper in a couple weeks, apologies for the > massive delay here. > > A bug should still be opened against Hash::Merge if someone is so > inclined.
I installed perl 5 blead, then cpanm, then used cpanm to install the 4 prerequisites cited above. I then used cpanm to install DBIx-Class-0.082841_01.tar.gz. All tests PASSed. However, when I ran t/storage/replicated.t, it exited quickly saying that Clone was a prerequisite. I then used cpanm to install Clone and retested t/storage/replicated.t. This time the unit tests ran and PASSed. So perhaps Clone needs to be added to Makefile.PL. Thank you very much for your investigations. Jim Keenan
On Thu Oct 31 13:49:14 2019, JKEENAN wrote: Show quoted text
> > So perhaps Clone needs to be added to Makefile.PL. >
No Jim, adding hard secondary dependencies would defeat the entire purpose of https://metacpan.org/pod/distribution/DBIx-Class/lib/DBIx/Class/Optional/Dependencies.pod#DESCRIPTION Cheers
A workaround for Sno's buggy Hash::Merge releases is now availabe on CPAN as https://metacpan.org/release/RIBASUSHI/DBIx-Class-0.082842 Note that Hash::Merge still remains broken, and a proper fix will get DBIC untangled from that dependency. But this will have to wait until better times :(
Hi, i'm sorry to hear that this is still an issue for you. So I reopened the ticket. But I need some more information on what's bothering you. Hash::Merge and Clone::Choose don't have a hard dependency (anymore) for Clone.pm in their Makefile. Of course, one (supported by Clone::Choose) Clone Module is needed in order for Hash::Merge to work correctly. So if you build an environment where no Clone Module available, that's not going to work. Maybe you could also tell me what you mean by the Clone::Choose module is "very iffy" so I can improve it? Best regards, Stefan
Sorry I replied to the wrong Ticket. This answer was supposed to be here: https://rt.cpan.org/Ticket/Display.html?id=74707