See <https://koji.fedoraproject.org/koji/packageinfo?packageID=8941>. perl-Test-Refcount fails to build for long time. %check phase fails. Substituting `make test' with `prove --verbose' shows: xecuting(%check): /bin/sh -e /var/tmp/rpm-tmp.AFwG63 + umask 022 + cd /builddir/build/BUILD + cd Test-Refcount-0.07 + unset DISPLAY + prove --blib --verbose t t/00use.t ....... 1..1 ok 1 - use Test::Refcount; ok t/01count.t ..... 1..8 ok 1 - anon ARRAY ref succeeds ok 2 - not ref fails ok 3 - normal object succeeds ok 4 - two refs to object succeeds Failed 4/8 subtests [...] Tests 5--8 do not proceed for unknown reason. t/01count.t does not contain any exit or die. This problem exhibits on i686, s390, ppc. It does not occur on x86_64 and ppc64. So it's problem on 32-bit platforms only. Upstream has one related bug report: <https://rt.cpan.org/Public/Bug/Display.html?id=74460>. The bug is in perl-Devel-FindRef probably, but we did not notice because perl-Devel-FindRef tests check loading of the module only.
I propose to remove perl(Devel::FindRef) from BuildRequires.
Please don't just hide the problem by simply removing the BuildRequires. As Petr's noted in the upstream bug, Devel::FindRef is segfaulting for weird reasons. Anyone installing both Test-Refcount and Devel-FindRef may run into the same problem. Would be better to remove the use of Devel::FindRef from Test/Refcount.pm entirely (at least until Devel-FindRef is fixed).
(In reply to comment #2) > Please don't just hide the problem by simply removing the BuildRequires. ACK. > As > Petr's noted in the upstream bug, Devel::FindRef is segfaulting for weird > reasons. Anyone installing both Test-Refcount and Devel-FindRef may run into > the same problem. Would be better to remove the use of Devel::FindRef from > Test/Refcount.pm entirely (at least until Devel-FindRef is fixed). Did anybody try to go after the warnings building Devel::FindRef shows? I currently don't have time to do so, but a quick look into Devel::FindRef's build logs shows some suspicious pieces of code, related to improper fprintf format strings, my gut feeling is they could be related to this issue.
Those warnings seem to be innocuous. But I have a patch for Devel-FindRef that seems to solve the problem. diff -up Devel-FindRef-1.422/FindRef.xs.orig Devel-FindRef-1.422/FindRef.xs --- Devel-FindRef-1.422/FindRef.xs.orig 2009-08-30 16:33:01.000000000 +0200 +++ Devel-FindRef-1.422/FindRef.xs 2012-02-01 10:17:35.698276247 +0100 @@ -214,7 +214,7 @@ find_ (SV *target_ref) if (GvSV (sv) == (SV *)targ) res_gv ('$'); if (GvAV (sv) == (AV *)targ) res_gv ('@'); if (GvHV (sv) == (HV *)targ) res_gv ('%'); - if (GvCV (sv) == (CV *)targ) res_gv ('&'); + if (GvCVu(sv) == (CV *)targ) res_gv ('&'); } break;
Created attachment 558816 [details] Silent warnings on 32-bit system
Created attachment 558817 [details] Silent warning on 64-bit systems Add-on patch on top of the 32-bit patch.
You are right, the warnings are just warnings. Maybe one or two could create bogus output, but nothing to crash. Your patch is fine.
perl-Devel-FindRef-1.42-15.fc17,perl-Test-Refcount-0.07-5.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/perl-Devel-FindRef-1.42-15.fc17,perl-Test-Refcount-0.07-5.fc17
Package perl-Test-Refcount-0.07-5.fc17, perl-Devel-FindRef-1.42-16.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing perl-Test-Refcount-0.07-5.fc17 perl-Devel-FindRef-1.42-16.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-6422/perl-Devel-FindRef-1.42-16.fc17,perl-Test-Refcount-0.07-5.fc17 then log in and leave karma (feedback).
perl-Test-Refcount-0.07-5.fc17, perl-Devel-FindRef-1.42-16.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.