Fix linalg.lapack syevr segfault (#2099102)
This commit is contained in:
parent
58539acd90
commit
f824e735d7
69
scipy-1.8.1-syevr-operator-order-explicit.patch
Normal file
69
scipy-1.8.1-syevr-operator-order-explicit.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
--- scipy-1.8.1/scipy/linalg/flapack_sym_herm.pyf.src.debug 2022-04-30 06:14:37.965527300 +0900
|
||||||
|
+++ scipy-1.8.1/scipy/linalg/flapack_sym_herm.pyf.src 2022-07-01 22:51:14.057047006 +0900
|
||||||
|
@@ -772,10 +772,10 @@
|
||||||
|
integer intent(hide),dimension(liwork),depend(liwork) :: iwork
|
||||||
|
|
||||||
|
<ftype2> intent(out),dimension(n),depend(n) :: w
|
||||||
|
- <ftype2> intent(out),dimension((compute_v?MAX(0,n):0),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0)),depend(n,compute_v,range,iu,il) :: z
|
||||||
|
+ <ftype2> intent(out),dimension((compute_v?MAX(0,n):0),(compute_v?((*range=='I')?(iu-il+1):MAX(1,n)):0)),depend(n,compute_v,range,iu,il) :: z
|
||||||
|
integer intent(out) :: m
|
||||||
|
! Only returned if range=='A' or range=='I' and il, iu = 1, n
|
||||||
|
- integer intent(out),dimension((compute_v?(2*(*range=='A'||(*range=='I' && iu-il+1==n)?n:0)):0)),depend(n,iu,il,compute_v,range) :: isuppz
|
||||||
|
+ integer intent(out),dimension((compute_v?(2*((*range=='A')||((*range=='I') && (iu-il+1==n))?n:0)):0)),depend(n,iu,il,compute_v,range) :: isuppz
|
||||||
|
integer intent(out) :: info
|
||||||
|
|
||||||
|
end subroutine <prefix2>syevr
|
||||||
|
@@ -844,7 +844,7 @@
|
||||||
|
integer intent(hide),dimension(liwork),depend(liwork) :: iwork
|
||||||
|
|
||||||
|
<ftype2> intent(out),dimension(n),depend(n) :: w
|
||||||
|
- <ftype2c> intent(out),dimension((compute_v?MAX(0,n):0),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0)),depend(n,compute_v,range,iu,il) :: z
|
||||||
|
+ <ftype2c> intent(out),dimension((compute_v?MAX(0,n):0),(compute_v?((*range=='I')?(iu-il+1):MAX(1,n)):0)),depend(n,compute_v,range,iu,il) :: z
|
||||||
|
integer intent(out) :: m
|
||||||
|
! MKL implementation has a bug that still accesses isuppz array even if
|
||||||
|
! range=='A' or range=='I' and il, iu = 1, n which is not the case for
|
||||||
|
@@ -852,7 +852,7 @@
|
||||||
|
! of the settings. It is wasteful but necessary. The bug is fixed in
|
||||||
|
! mkl 2020 update 2 and when time comes change this line with
|
||||||
|
!
|
||||||
|
- ! integer intent(out),dimension((compute_v?(2*(*range=='A'||(*range=='I' && iu-il+1==n)?n:0)):0)),depend(n,iu,il,range,compute_v) :: isuppz
|
||||||
|
+ ! integer intent(out),dimension((compute_v?(2*(*range=='A'||((*range=='I') && (iu-il+1==n))?n:0)):0)),depend(n,iu,il,range,compute_v) :: isuppz
|
||||||
|
!
|
||||||
|
integer intent(out),dimension(2*max(1,n)),depend(n) :: isuppz
|
||||||
|
integer intent(out) :: info
|
||||||
|
@@ -919,7 +919,7 @@
|
||||||
|
integer intent(hide),dimension(5*n),depend(n) :: iwork
|
||||||
|
|
||||||
|
<ftype2> intent(out),dimension(n),depend(n) :: w
|
||||||
|
- <ftype2> intent(out),dimension((compute_v?MAX(0,n):0),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0)),depend(n,compute_v,range,iu,il) :: z
|
||||||
|
+ <ftype2> intent(out),dimension((compute_v?MAX(0,n):0),(compute_v?((*range=='I')?(iu-il+1):MAX(1,n)):0)),depend(n,compute_v,range,iu,il) :: z
|
||||||
|
integer intent(out) :: m
|
||||||
|
integer intent(out),dimension((compute_v?n:0)),depend(compute_v,n):: ifail
|
||||||
|
integer intent(out) :: info
|
||||||
|
@@ -984,7 +984,7 @@
|
||||||
|
<ftype2> intent(hide),dimension(7*n),depend(n) :: rwork
|
||||||
|
|
||||||
|
<ftype2> intent(out),dimension(n),depend(n) :: w
|
||||||
|
- <ftype2c> intent(out),dimension((compute_v*n),(compute_v?(*range=='I'?iu-il+1:MAX(1,n)):0)),depend(compute_v,range,n,iu,il) :: z
|
||||||
|
+ <ftype2c> intent(out),dimension((compute_v*n),(compute_v?((*range=='I')?(iu-il+1):MAX(1,n)):0)),depend(compute_v,range,n,iu,il) :: z
|
||||||
|
integer intent(out) :: m
|
||||||
|
integer intent(out),dimension(compute_v*n),depend(compute_v,n):: ifail
|
||||||
|
integer intent(out) :: info
|
||||||
|
@@ -1222,7 +1222,7 @@
|
||||||
|
integer intent(hide),dimension(5*n),depend(n) :: iwork
|
||||||
|
|
||||||
|
<ftype2> intent(out),dimension(n),depend(n) :: w
|
||||||
|
- <ftype2> intent(out),dimension((jobz[0]=='V'?MAX(0,n):0),(jobz[0]=='V'?(range[0]=='I'?iu-il+1:MAX(1,n)):0)),depend(n,jobz,range,iu,il) :: z
|
||||||
|
+ <ftype2> intent(out),dimension((jobz[0]=='V'?MAX(0,n):0),(jobz[0]=='V'?((range[0]=='I')?(iu-il+1):MAX(1,n)):0)),depend(n,jobz,range,iu,il) :: z
|
||||||
|
integer intent(out) :: m
|
||||||
|
integer intent(out),dimension((jobz[0]=='N'?0:n)),depend(jobz,n):: ifail
|
||||||
|
integer intent(out) :: info
|
||||||
|
@@ -1293,7 +1293,7 @@
|
||||||
|
<ftype2> intent(hide),dimension(7*n),depend(n) :: rwork
|
||||||
|
|
||||||
|
<ftype2> intent(out),dimension(n),depend(n) :: w
|
||||||
|
- <ftype2c> intent(out),dimension((jobz[0]=='V'?MAX(0,n):0),(jobz[0]=='V'?(range[0]=='I'?iu-il+1:MAX(1,n)):0)),depend(n,jobz,range,iu,il) :: z
|
||||||
|
+ <ftype2c> intent(out),dimension((jobz[0]=='V'?MAX(0,n):0),(jobz[0]=='V'?((range[0]=='I')?(iu-il+1):MAX(1,n)):0)),depend(n,jobz,range,iu,il) :: z
|
||||||
|
integer intent(out) :: m
|
||||||
|
integer intent(out),dimension((jobz[0]=='N'?0:n)),depend(jobz,n):: ifail
|
||||||
|
integer intent(out) :: info
|
@ -25,7 +25,7 @@
|
|||||||
Summary: Scientific Tools for Python
|
Summary: Scientific Tools for Python
|
||||||
Name: scipy
|
Name: scipy
|
||||||
Version: 1.8.1
|
Version: 1.8.1
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
|
|
||||||
# BSD -- whole package except:
|
# BSD -- whole package except:
|
||||||
# Boost -- scipy/special/cephes/scipy_iv.c
|
# Boost -- scipy/special/cephes/scipy_iv.c
|
||||||
@ -33,6 +33,10 @@ Release: 4%{?dist}
|
|||||||
License: BSD and Boost and Public Domain
|
License: BSD and Boost and Public Domain
|
||||||
Url: http://www.scipy.org/scipylib/index.html
|
Url: http://www.scipy.org/scipylib/index.html
|
||||||
Source0: https://github.com/scipy/scipy/releases/download/v%{version}/scipy-%{version}.tar.gz
|
Source0: https://github.com/scipy/scipy/releases/download/v%{version}/scipy-%{version}.tar.gz
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2099102
|
||||||
|
# https://github.com/scipy/scipy/issues/16527
|
||||||
|
# https://github.com/scipy/scipy/pull/16528
|
||||||
|
Patch0: scipy-1.8.1-syevr-operator-order-explicit.patch
|
||||||
|
|
||||||
BuildRequires: fftw-devel, suitesparse-devel
|
BuildRequires: fftw-devel, suitesparse-devel
|
||||||
BuildRequires: %{blaslib}-devel
|
BuildRequires: %{blaslib}-devel
|
||||||
@ -208,6 +212,9 @@ popd
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Jul 3 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.8.1-5
|
||||||
|
- Fix linalg.lapack syevr segfault (#2099102)
|
||||||
|
|
||||||
* Fri Jun 17 2022 Python Maint <python-maint@redhat.com> - 1.8.1-4
|
* Fri Jun 17 2022 Python Maint <python-maint@redhat.com> - 1.8.1-4
|
||||||
- Rebuilt for Python 3.11
|
- Rebuilt for Python 3.11
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user