Skip Menu |

This queue is for tickets about the Set-Object CPAN distribution.

Report information
The Basics
Id: 83426
Status: resolved
Priority: 0/
Queue: Set-Object

People
Owner: RURBAN [...] cpan.org
Requestors: CHORNY [...] cpan.org
DCPETROV [...] cpan.org
KENTNL [...] cpan.org
Cc: rsrchboy [...] cpan.org
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 1.30



Subject: 1.29 fails to install
Hi, I've just tried to install the latest available version from cpan and it fails. 1.28 installs just fine. Here is the full trace. cpanm (App::cpanminus) 1.5021 on perl 5.016002 built for x86_64-linux Work directory is /home/dpetrov/.cpanm/work/1361194707.8330 You have make /usr/bin/make You have LWP 6.04 You have /bin/tar: tar (GNU tar) 1.23 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason. You have /usr/bin/unzip Searching Set::Object on cpanmetadb ... --> Working on Set::Object Fetching http://www.cpan.org/authors/id/S/SA/SAMV/Set-Object-1.29.tar.gz -> OK Unpacking Set-Object-1.29.tar.gz Entering Set-Object-1.29 Checking configure dependencies from META.yml Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.64) Configuring Set-Object-1.29 Running Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Set::Object Writing MYMETA.yml and MYMETA.json -> OK Checking dependencies from MYMETA.json ... Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.64) Checking if you have Scalar::Util 0 ... Yes (1.25) Building and testing Set-Object-1.29 cp lib/Set/Object.pm blib/lib/Set/Object.pm AutoSplitting blib/lib/Set/Object.pm (blib/lib/auto/Set/Object) cp lib/Set/Object/Weak.pm blib/lib/Set/Object/Weak.pm /home/dpetrov/perl5/perlbrew/perls/perl-5.16.2/bin/perl /home/dpetrov/perl5/perlbrew/perls/perl- 5.16.2/lib/5.16.2/ExtUtils/xsubpp -typemap /home/dpetrov/perl5/perlbrew/perls/perl- 5.16.2/lib/5.16.2/ExtUtils/typemap Object.xs > Object.xsc && mv Object.xsc Object.c cc -c -fno-strict-aliasing -pipe -fstack-protector - I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 - DVERSION=\"1.29\" -DXS_VERSION=\"1.29\" -fPIC "- I/home/dpetrov/perl5/perlbrew/perls/perl-5.16.2/lib/5.16.2/x86_64- linux/CORE" Object.c Running Mkbootstrap for Set::Object () chmod 644 Object.bs rm -f blib/arch/auto/Set/Object/Object.so cc -shared -O2 -L/usr/local/lib -fstack-protector Object.o -o blib/arch/auto/Set/Object/Object.so \ \ chmod 755 blib/arch/auto/Set/Object/Object.so cp Object.bs blib/arch/auto/Set/Object/Object.bs chmod 644 blib/arch/auto/Set/Object/Object.bs Manifying blib/man3/Set::Object.3 Manifying blib/man3/Set::Object::Weak.3 PERL_DL_NONLAZY=1 /home/dpetrov/perl5/perlbrew/perls/perl- 5.16.2/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/ingy/arrayref.t t/misc/leaks.t t/misc/pod.t t/misc/pod_coverage.t t/misc/undef.t t/object/abuse.t t/object/clear.t t/object/difference.t t/object/equal.t t/object/flags.t t/object/includes.t t/object/insert.t t/object/intersection.t t/object/members.t t/object/properties.t t/object/refcount.t t/object/remove.t t/object/set_subclass.t t/object/storable.t t/object/subsuper.t t/object/symmetric_difference.t t/object/union.t t/object/weakref.t t/scalar/basic.t t/scalar/basic_overload.t t/scalar/boolean.t t/scalar/clear.t t/scalar/compare.t t/scalar/custom_display.t t/scalar/difference.t t/scalar/each.t t/scalar/has.t t/scalar/intersection.t t/scalar/member.t t/scalar/misc.t t/scalar/set_set.t t/scalar/storable.t t/scalar/symmdiff.t t/scalar/union.t t/scalar/unique.t t/ingy/arrayref.t ................ ok t/misc/leaks.t ................... ok t/misc/pod.t ..................... ok t/misc/pod_coverage.t ............ ok t/misc/undef.t ................... ok t/object/abuse.t ................. ok t/object/clear.t ................. ok t/object/difference.t ............ ok t/object/equal.t ................. ok t/object/flags.t ................. ok t/object/includes.t .............. ok t/object/insert.t ................ ok t/object/intersection.t .......... ok t/object/members.t ............... ok t/object/properties.t ............ ok t/object/refcount.t .............. ok t/object/remove.t ................ ok t/object/set_subclass.t .......... ok t/object/storable.t .............. ok t/object/subsuper.t .............. ok t/object/symmetric_difference.t .. ok Attempt to free unreferenced scalar: SV 0x22d9fc0 during global destruction. DESTROY created new reference to dead object 'Set::Object::Weak' during global destruction. t/object/union.t ................. Dubious, test returned 22 (wstat 5632, 0x1600) All 10 subtests passed t/object/weakref.t ............... ok t/scalar/basic.t ................. ok t/scalar/basic_overload.t ........ ok t/scalar/boolean.t ............... ok t/scalar/clear.t ................. ok t/scalar/compare.t ............... ok t/scalar/custom_display.t ........ ok t/scalar/difference.t ............ ok t/scalar/each.t .................. skipped: TO-DO t/scalar/has.t ................... ok t/scalar/intersection.t .......... ok t/scalar/member.t ................ ok t/scalar/misc.t .................. ok t/scalar/set_set.t ............... ok t/scalar/storable.t .............. ok t/scalar/symmdiff.t .............. ok t/scalar/union.t ................. ok t/scalar/unique.t ................ ok Test Summary Report ------------------- t/object/union.t (Wstat: 5632 Tests: 10 Failed: 0) Non-zero exit status: 22 Files=40, Tests=453, 1 wallclock secs ( 0.10 usr 0.02 sys + 0.63 cusr 0.08 csys = 0.83 CPU) Result: FAIL Failed 1/40 test programs. 0/453 subtests failed. make: *** [test_dynamic] Error 255 -> FAIL Installing Set::Object failed. See /home/dpetrov/.cpanm/build.log for details. Cheers
I'd also like to see this fixed - 1.28 and earlier also fail to install on blead because of other bugs, so currently there's no way to install any version of this module on blead (and 5.18 is quite close to an actual release).
Fails on two environments (at least) at work with the same error: t/object/symmetric_difference.t .. ok t/object/union.t ................. 1/10 Attempt to free unreferenced scalar: SV 0x18f13360 during global destruction. DESTROY created new reference to dead object 'Set::Object::Weak' during global destruction. t/object/union.t ................. Dubious, test returned 22 (wstat 5632, 0x1600) All 10 subtests passed t/object/weakref.t ............... ok [5775][c.wright@fulcrum-chz:Set-Object-1.29][CPAN-updates↑⚡]➔ uname -a Linux fulcrum-chz.dave.net-a-porter.com 2.6.18-308.24.1.el5 #1 SMP Tue Dec 4 17:43:34 EST 2012 x86_64 x86_64 x86_64 GNU/Linux [5776][c.wright@fulcrum-chz:Set-Object-1.29][CPAN-updates↑⚡]➔ perl -v This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux
Interestingly, its no longer failing with this specific error on my blead  @ commit 97927b02e770cc108bacba3ab142068174310fb9 / Date:   Fri Mar 29 12:29:46 2013 -0600

Instead, I'm getting only failures from  t/scalar/storable.t , which appear to be hash randomization related.



Fixed both bugs on github. 1.30 will be released shortly See https://github.com/rurban/Set-Object/ On Wed Apr 03 08:11:31 2013, KENTNL wrote: Show quoted text
> Interestingly, its no longer failing with this specific error on my > blead @ > commit 97927b02e770cc108bacba3ab142068174310fb9 / Date: Fri Mar 29 > 12:29:46 > 2013 -0600 > > Instead, I'm getting only failures from t/scalar/storable.t , which > appear to > be hash randomization related.
-- Reini Urban
CC: CHORNY [...] cpan.org, DCPETROV [...] cpan.org, KENTNL [...] cpan.org
Subject: Re: [rt.cpan.org #83426] 1.29 fails to install
Date: Wed, 3 Apr 2013 13:31:40 -0700
To: bug-Set-Object [...] rt.cpan.org
From: Chris Weyl <rsrchboy [...] cpan.org>
Wicked! Thanks Reini :-D On Wed, Apr 3, 2013 at 9:47 AM, Reini Urban via RT < bug-Set-Object@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=83426 > > > Fixed both bugs on github. 1.30 will be released shortly > See https://github.com/rurban/Set-Object/ > > On Wed Apr 03 08:11:31 2013, KENTNL wrote:
> > Interestingly, its no longer failing with this specific error on my > > blead @ > > commit 97927b02e770cc108bacba3ab142068174310fb9 / Date: Fri Mar 29 > > 12:29:46 > > 2013 -0600 > > > > Instead, I'm getting only failures from t/scalar/storable.t , which > > appear to > > be hash randomization related.
> > > -- > Reini Urban >
-- Chris Weyl Ex astris, scientia
Because I wasn't sure if this is really "fixed" or not in 1.30 ( because it wasn't obvious in the first place why it just started working on blead to begin with ), I did a git bisect on Perl, and found that this commit is the one that t/object/union.t magically starts working at:

1a904fc88069e249a4bd0ef196a3f1a7f549e0fe is the first bad commit
commit 1a904fc88069e249a4bd0ef196a3f1a7f549e0fe
Author: Father Chrysostomos <sprout@cpan.org>
Date:   Sun Nov 25 12:57:04 2012 -0800


    Disable PL_sawampersand
   
    PL_sawampersand actually causes bugs (e.g., perl #4289), because the
    behaviour changes.  eval '$&' after a match will produce different
    results depending on whether $& was seen before the match.
   
    Using copy-on-write for the pre-match copy (preceding patches do that)
    alleviates the slowdown caused by mentioning $&.  The copy doesn’t
    happen unless the string is modified after the match.  It’s now a
    post- match copy.  So we no longer need to do things differently
    depending on whether $& has been seen.
   
    PL_sawampersand is now #defined to be equal to what it would be if
    every program began with $',$&,$`.
   
    I left the PL_sawampersand code in place, in case this commit proves
    immature.  Running Configure with -Accflags=PERL_SAWAMPERSAND will
    reënable the PL_sawampersand mechanism.


So for some reason, disabling PL_sawampersand makes this specific bug go away.

Though testing proves that this bug is indeed fixed, because it seems Set::Object 1.30 does indeed pass all tests on 07d01d6ec25527bf0236de2205ea412d40353058 , the last known commit that Set::Object 1.29 failed t/object/union.t  in.


t/ingy/arrayref.t ................ ok    
t/misc/leaks.t ................... ok  
t/misc/more_leaks.t .............. skipped: Test::LeakTrace missing
t/misc/pod.t ..................... skipped: Test::Pod 1.00 required for testing POD
t/misc/pod_coverage.t ............ skipped: Test::Pod::Coverage required for testing POD coverage
t/misc/segfault.t ................ ok  
t/misc/threads.t ................. skipped: threads missing
t/misc/undef.t ................... ok  
t/object/abuse.t ................. ok    
t/object/clear.t ................. ok  
t/object/difference.t ............ ok  
t/object/equal.t ................. ok  
t/object/flags.t ................. ok  
t/object/includes.t .............. ok  
t/object/insert.t ................ ok    
t/object/intersection.t .......... ok  
t/object/members.t ............... ok  
t/object/properties.t ............ ok    
t/object/refcount.t .............. ok  
t/object/remove.t ................ ok  
t/object/set_subclass.t .......... ok  
t/object/storable.t .............. ok  
t/object/subsuper.t .............. ok    
t/object/symmetric_difference.t .. ok  
t/object/union.t ................. ok    
t/object/weakref.t ............... ok   
t/scalar/basic.t ................. ok    
t/scalar/basic_overload.t ........ ok    
t/scalar/boolean.t ............... ok  
t/scalar/clear.t ................. ok  
t/scalar/compare.t ............... ok    
t/scalar/custom_display.t ........ ok  
t/scalar/difference.t ............ ok    
t/scalar/each.t .................. skipped: TO-DO
t/scalar/has.t ................... ok  
t/scalar/intersection.t .......... ok    
t/scalar/member.t ................ ok  
t/scalar/misc.t .................. ok  
t/scalar/set_set.t ............... ok  
t/scalar/storable.t .............. ok  
t/scalar/symmdiff.t .............. ok    
t/scalar/union.t ................. ok    
t/scalar/unique.t ................ ok  
All tests successful.
Files=43, Tests=450,  2 wallclock secs ( 0.19 usr  0.05 sys +  1.17 cusr  0.25 csys =  1.66 CPU)
Result: PASS
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /tmp/xbuild/v5.17.6-87-g07d01d6/lib/perl5/site_perl/5.17.7/x86_64-linux/auto/Set/Object/Object.bs
Installing /tmp/xbuild/v5.17.6-87-g07d01d6/lib/perl5/site_perl/5.17.7/x86_64-linux/auto/Set/Object/Object.so
Installing /tmp/xbuild/v5.17.6-87-g07d01d6/lib/perl5/site_perl/5.17.7/x86_64-linux/Set/Changes.pod
Installing /tmp/xbuild/v5.17.6-87-g07d01d6/lib/perl5/site_perl/5.17.7/x86_64-linux/Set/Object.pm
Installing /tmp/xbuild/v5.17.6-87-g07d01d6/lib/perl5/site_perl/5.17.7/x86_64-linux/Set/Object/Weak.pm
Installing /tmp/xbuild/v5.17.6-87-g07d01d6/lib/perl5/site_perl/5.17.7/x86_64-linux/auto/Set/Object/autosplit.ix
Appending installation info to /tmp/xbuild/v5.17.6-87-g07d01d6/lib/perl5/5.17.7/x86_64-linux/perllocal.pod
OK
Successfully installed Set-Object-1.30
Installing /tmp/xbuild/v5.17.6-87-g07d01d6/lib/perl5/site_perl/5.17.7/x86_64-linux/.meta/Set-Object-1.30/MYMETA.json
Installing /tmp/xbuild/v5.17.6-87-g07d01d6/lib/perl5/site_perl/5.17.7/x86_64-linux/.meta/Set-Object-1.30/install.json
1 distribution installed


Fixed as of 1.30 -- Reini Urban