OpenBLAS: gbmv! segfaults for large matrices

I’m getting the following issue calling gbmv! in Julia, that is only present when compiled with OpenBLAS:

julia> n = 100_000_000; A = randn(3,n); x = randn(n); y = similar(x); BLAS.gbmv!('N', n, 1, 1, 1.0, A, x, 0.0, y);
ERROR: ReadOnlyMemoryError()
Stacktrace:
 [1] gbmv!(::Char, ::Int64, ::Int64, ::Int64, ::Float64, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Float64,1}) at /Users/solver/Projects/julia7/usr/share/julia/stdlib/v0.7/LinearAlgebra/src/blas.jl:652
 [2] top-level scope at none:0

julia> n = 100_000_000; A = randn(3,n); x = randn(n); y = similar(x); BLAS.gbmv!('N', n, 1, 1, 1.0, A, x, 0.0, y);
Segmentation fault: 11

When compiled with Apple’s system BLAS, the above examples work fine.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 2
  • Comments: 28 (6 by maintainers)

Most upvoted comments

Unlikely as that line is inside an #ifdef TRANSA that does not apply here. I suspect this is a different but related failure mode with range_n rather than range_m going out of bounds on the last thread of the set.