diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb index 4892d464d85..b59a24cece2 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb @@ -15,7 +15,8 @@ sources = ['v%(version)s.tar.gz'] patches = [ ('large.tgz', '.'), ('timing.tgz', '.'), - '%(name)s-%(version)s_workaround-gcc11-miscompiling-C-ZBLAS3-tests.patch', + 'OpenBLAS-%(version)s_workaround-gcc11-miscompiling-C-ZBLAS3-tests.patch', + 'OpenBLAS-%(version)s_fix-segfault-ztrsv.patch', ] checksums = [ 'df2934fa33d04fd84d839ca698280df55c690c86a5a1133b3f7266fce1de279f', # v0.3.17.tar.gz @@ -23,6 +24,7 @@ checksums = [ '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz # OpenBLAS-0.3.17_workaround-gcc11-miscompiling-C-ZBLAS3-tests.patch 'ea76320bc047eff1bf2a2f50c1c19acb4fd6d2b8a5bf81a4dce73145a2a5cfcb', + 'b1f89d90cc46b486534069135854e6081994b5a1a88370d32dae982e0f040111', # OpenBLAS-0.3.17_fix-segfault-ztrsv.patch ] # extensive testing can be enabled by uncommenting the line below diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17_fix-segfault-ztrsv.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17_fix-segfault-ztrsv.patch new file mode 100644 index 00000000000..411242af12c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17_fix-segfault-ztrsv.patch @@ -0,0 +1,29 @@ +fix segmentation fault triggered via scipy tests +and https://github.com/xianyi/OpenBLAS/issues/3419 + https://github.com/xianyi/OpenBLAS/pull/3420 +From 2845f54eb8ad4c79d0374b52cceac434fc93d8ac Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Wed, 20 Oct 2021 10:50:02 +0200 +Subject: [PATCH] Remove dangerous optimization from previous #3252 - buffer is + never unused here + +--- + interface/ztrsv.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/interface/ztrsv.c b/interface/ztrsv.c +index cf750b0b0c..cbb7bba13b 100644 +--- a/interface/ztrsv.c ++++ b/interface/ztrsv.c +@@ -199,12 +199,6 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, + + if (n == 0) return; + +- if (incx == 1 && trans == 0 && n < 50) { +- buffer = NULL; +- (trsv[(trans<<2) | (uplo<<1) | unit])(n, a, lda, x, incx, buffer); +- return; +- } +- + IDEBUG_START; + + FUNCTION_PROFILE_START(); diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb index 04bb5898705..a1b6049921b 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb @@ -15,11 +15,13 @@ sources = ['v%(version)s.tar.gz'] patches = [ ('large.tgz', '.'), ('timing.tgz', '.'), + 'OpenBLAS-0.3.17_fix-segfault-ztrsv.patch', ] checksums = [ '1632c1e8cca62d8bed064b37747e331a1796fc46f688626337362bf0d16aeadb', # v0.3.18.tar.gz 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz + 'b1f89d90cc46b486534069135854e6081994b5a1a88370d32dae982e0f040111', # OpenBLAS-0.3.17_fix-segfault-ztrsv.patch ] # extensive testing can be enabled by uncommenting the line below