Bug 1041304

Summary: FTBFS: self check failures
Product: [Fedora] Fedora Reporter: Karsten Hopp <karsten>
Component: perl-PDLAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: medium    
Version: 20CC: jplesnik, mmaslano, perl-devel, ppisar, psabata
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64   
OS: Linux   
Whiteboard:
Fixed In Version: perl-PDL-2.7.0-3.fc21 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-02 13:45:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1018592    
Bug Blocks:    
Attachments:
Description Flags
build.log
none
root.log none

Description Karsten Hopp 2013-12-12 14:27:38 UTC
Created attachment 835819 [details]
build.log

Description of problem:
Result: FAIL
RPM build errors:
Failed 3/124 test programs. 0/1745 subtests failed.
make: *** [test_dynamic] Error 255

Version-Release number of selected component (if applicable):
perl-PDL-2.6.0.90-1.fc20

How reproducible:
always

Steps to Reproduce:
1. ppc-koji build --scratch f20 perl-PDL-2.6.0.90-1.fc20.src.rpm
2.
3.

Actual results:
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1568457

Expected results:


Additional info:
This might be a perl bug exposed by perl-PDL's testsuite

Comment 1 Karsten Hopp 2013-12-12 14:28:19 UTC
Created attachment 835830 [details]
root.log

Comment 2 Petr Pisar 2013-12-15 19:04:13 UTC
There is bug in the fortran slatec code:

t/foo.t ..................... ok
 ***MESSAGE FROM ROUTINE PCHIM IN LIBRARY SLATEC.
 ***POTENTIALLY RECOVERABLE ERROR, PROG ABORTED, TRACEBACK REQUESTED
 *  NUMBER OF DATA POINTS LESS THAN TWO
 *  ERROR NUMBER = -1
 *   
 ***END OF MESSAGE
 
 ***JOB ABORT DUE TO UNRECOVERED ERROR.
0          ERROR MESSAGE SUMMARY
 LIBRARY    SUBROUTINE MESSAGE START             NERR     LEVEL     COUNT
 SLATEC     PCHIM      NUMBER OF DATA POINT        -1         1         1
slatec called halt at /builddir/build/BUILD/PDL-2.006_90/blib/lib/PDL/Func.pm line 406.
	(in cleanup) INVALID MAGIC NO 886729600 886731200
	(in cleanup) INVALID MAGIC NO 886729600 -1799157872
t/func.t .................... 
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 8/16 subtests 

And then next invalid free in perl while performing slatec library again:
t/slatec.t .................. 
Failed 40/40 subtests 

It's also caused by the slatec code. Latest 2.007 PDL release fixes some bugs in the slatec.

Comment 3 Petr Pisar 2013-12-16 13:34:16 UTC
2.007 is not better.

Comment 4 Petr Pisar 2013-12-16 14:03:35 UTC
No distribution seems delivering PDL >= 2.4.11 for PPC64. One can disable Slatec with WITH_SLATEC=0.

Comment 5 Petr Pisar 2013-12-16 15:55:41 UTC
After disabling Slatec, tests pass. I will disable the Slatec on PPC64 since F20.

Comment 6 Fedora Update System 2013-12-16 16:38:06 UTC
perl-PDL-2.7.0-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/perl-PDL-2.7.0-2.fc20

Comment 7 Fedora Update System 2014-01-03 08:46:02 UTC
perl-PDL-2.7.0-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Petr Pisar 2014-02-26 12:04:31 UTC
The fix is not sufficient as it will install some files requiring the disabled PDL::Slatec module:

$ grep -Hnr PDL::Slatec
share/doc/perl-PDL-2.7.0/TODO:137:   * PDL::Slatec
share/doc/perl-PDL-2.7.0/TODO:212:   * Convert PDL::Slatec to use C with f2c of source
share/doc/perl-PDL-2.7.0/Release_Notes:1380:       and EU::F77 installed, PDL::Slatec will be built.
share/doc/perl-PDL-2.7.0/Changes:4964:    we now check if PDL::Slatec can actually be used.  My
share/doc/perl-PDL-2.7.0/Changes:4966:    from the PDL::Slatec build time configuration.
lib64/perl5/vendor_perl/PDL/Modules.pod:228:=item L<PDL::Slatec|PDL::Slatec>
lib64/perl5/vendor_perl/PDL/MatrixOps.pm:46:L<PDL::Slatec|PDL::Slatec> or any of the PDL::GSL family of modules).
lib64/perl5/vendor_perl/PDL/Matrix.pm:32:want to read L<PDL::MatrixOps> or L<PDL::Slatec>.
lib64/perl5/vendor_perl/PDL/Matrix.pm:90:#use PDL::Slatec;
lib64/perl5/vendor_perl/PDL/Matrix.pm:215:eval "use PDL::Slatec";
lib64/perl5/vendor_perl/PDL/Matrix.pm:220:  croak "inv: PDL::Slatec not available" unless $has_slatec;
lib64/perl5/vendor_perl/PDL/Func.pm:75:Only available if L<PDL::Slatec|PDL::Slatec> is installed.
lib64/perl5/vendor_perl/PDL/Func.pm:104:L<PDL::Slatec::chic|PDL::Slatec/chic> and use a hash reference
lib64/perl5/vendor_perl/PDL/Func.pm:124:of L<chic|PDL::Slatec/chic>. 
lib64/perl5/vendor_perl/PDL/Func.pm:166:    eval "use PDL::Slatec";
lib64/perl5/vendor_perl/PDL/Func.pm:265:    croak "ERROR: Hermite interpolation is not available without PDL::Slatec.\n"
lib64/perl5/vendor_perl/PDL/Func.pm:396:        croak "ERROR: Hermite interpolation is not available without PDL::Slatec.\n"
lib64/perl5/vendor_perl/PDL/Func.pm:404:        croak "ERROR: Hermite interpolation is not available without PDL::Slatec.\n"
lib64/perl5/vendor_perl/PDL/Fit/Polynomial.pm:75:# use PDL::Slatec;  # For matinv()
lib64/perl5/vendor_perl/PDL/Fit/Polynomial.pm:136:L<PDL::Slatec/"polyfit">
lib64/perl5/vendor_perl/PDL/Fit/Linfit.pm:118:use PDL::Slatec; # For matinv()
lib64/perl5/vendor_perl/PDL/Fit/LM.pm:29:use PDL::Slatec; # for matrix inversion
lib64/perl5/vendor_perl/PDL/Filter/LinPred.pm:75:use PDL::Slatec;
lib64/perl5/vendor_perl/PDL/Filter/LinPred.pm:173:use PDL::Slatec;
lib64/perl5/vendor_perl/PDL/FFT.pm:116:L<PDL::FFTW|PDL::FFTW> and L<PDL::Slatec|PDL::Slatec> - 

We need to remove the reverse dependencies either.

Comment 9 Fedora Update System 2014-02-26 15:40:22 UTC
perl-PDL-2.7.0-3.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/perl-PDL-2.7.0-3.fc20

Comment 10 Fedora Update System 2014-03-11 04:17:52 UTC
perl-PDL-2.7.0-3.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.