<p dir="auto">Stacktrace here:<br>
<a href="https://gist.github.com/ssfrr/248bd3f34a31456acea457756ce4feb6">https://gist.github.com/ssfrr/248bd3f34a31456acea457756ce4feb6</a></p>
<p dir="auto">I can reproduce reliably with <a href="https://github.com/JuliaAudio/LibSndFile.jl">LibSndFile</a> master on Win64.</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="using LibSndFile
buf = LibSndFile.load(&quot;C:\\Users\\sfr\\Dropbox\\chris_mann.wav&quot;) # use your own wav file here"><pre class="notranslate"><span class="pl-k">using</span> LibSndFile
buf <span class="pl-k">=</span> LibSndFile<span class="pl-k">.</span><span class="pl-c1">load</span>(<span class="pl-s"><span class="pl-pds">"</span>C:<span class="pl-cce">\\</span>Users<span class="pl-cce">\\</span>sfr<span class="pl-cce">\\</span>Dropbox<span class="pl-cce">\\</span>chris_mann.wav<span class="pl-pds">"</span></span>) <span class="pl-c"><span class="pl-c">#</span> use your own wav file here</span></pre></div>
<p dir="auto">Versioninfo:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Julia Version 0.7.0-rc2.0
Commit 78540cba4c (2018-08-02 19:14 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, skylake)
Environment:
  JULIA_NUM_THREADS = 2"><pre class="notranslate"><code class="notranslate">Julia Version 0.7.0-rc2.0
Commit 78540cba4c (2018-08-02 19:14 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, skylake)
Environment:
  JULIA_NUM_THREADS = 2
</code></pre></div>
<p dir="auto">This script works fine on 0.6, but segfaults on master:</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="using Base.LinAlg
using Base.LinAlg.BLAS: libblas, BlasInt, @blasfunc

function gemm!(transA::Char, transB::Char, M::Int, N::Int, K::Int, alpha::(Float64), A::Ptr{Float64}, B::Ptr{Float64}, beta::(Float64), C::Ptr{Float64})
    if transA=='N'; lda=M; else; lda=K; end
    if transB=='N'; ldb=K; else; ldb=N; end
    ldc = M;
    ccall((@blasfunc(dgemm_), libblas), Void,
          (Ptr{UInt8}, Ptr{UInt8}, Ptr{BlasInt}, Ptr{BlasInt},
           Ptr{BlasInt}, Ptr{Float64}, Ptr{Float64}, Ptr{BlasInt},
           Ptr{Float64}, Ptr{BlasInt}, Ptr{Float64}, Ptr{Float64},
           Ptr{BlasInt}),
          &amp;transA, &amp;transB, &amp;M, &amp;N, &amp;K,
          &amp;alpha, A, &amp;lda, B, &amp;ldb, &amp;beta, C, &amp;ldc)
end

x = zeros(12, 4)
w = zeros(2, 2, 1, 1)
y = zeros(4, 3, 1, 1)

gemm!('N','N',12,1,4,1.0,pointer(x),pointer(w),0.,pointer(y))"><pre class="notranslate"><span class="pl-k">using</span> Base<span class="pl-k">.</span>LinAlg
<span class="pl-k">using</span> Base<span class="pl-k">.</span>LinAlg<span class="pl-k">.</span>BLAS<span class="pl-k">:</span> libblas, BlasInt, <span class="pl-c1">@blasfunc</span>

<span class="pl-k">function</span> <span class="pl-en">gemm!</span>(transA<span class="pl-k">::</span><span class="pl-c1">Char</span>, transB<span class="pl-k">::</span><span class="pl-c1">Char</span>, M<span class="pl-k">::</span><span class="pl-c1">Int</span>, N<span class="pl-k">::</span><span class="pl-c1">Int</span>, K<span class="pl-k">::</span><span class="pl-c1">Int</span>, alpha<span class="pl-k">::</span><span class="pl-c1">(Float64)</span>, A<span class="pl-k">::</span><span class="pl-c1">Ptr{Float64}</span>, B<span class="pl-k">::</span><span class="pl-c1">Ptr{Float64}</span>, beta<span class="pl-k">::</span><span class="pl-c1">(Float64)</span>, C<span class="pl-k">::</span><span class="pl-c1">Ptr{Float64}</span>)
    <span class="pl-k">if</span> transA<span class="pl-k">==</span><span class="pl-s"><span class="pl-pds">'</span>N<span class="pl-pds">'</span></span>; lda<span class="pl-k">=</span>M; <span class="pl-k">else</span>; lda<span class="pl-k">=</span>K; <span class="pl-k">end</span>
    <span class="pl-k">if</span> transB<span class="pl-k">==</span><span class="pl-s"><span class="pl-pds">'</span>N<span class="pl-pds">'</span></span>; ldb<span class="pl-k">=</span>K; <span class="pl-k">else</span>; ldb<span class="pl-k">=</span>N; <span class="pl-k">end</span>
    ldc <span class="pl-k">=</span> M;
    <span class="pl-c1">ccall</span>((<span class="pl-c1">@blasfunc</span>(dgemm_), libblas), Void,
          (Ptr{UInt8}, Ptr{UInt8}, Ptr{BlasInt}, Ptr{BlasInt},
           Ptr{BlasInt}, Ptr{Float64}, Ptr{Float64}, Ptr{BlasInt},
           Ptr{Float64}, Ptr{BlasInt}, Ptr{Float64}, Ptr{Float64},
           Ptr{BlasInt}),
          <span class="pl-k">&amp;</span>transA, <span class="pl-k">&amp;</span>transB, <span class="pl-k">&amp;</span>M, <span class="pl-k">&amp;</span>N, <span class="pl-k">&amp;</span>K,
          <span class="pl-k">&amp;</span>alpha, A, <span class="pl-k">&amp;</span>lda, B, <span class="pl-k">&amp;</span>ldb, <span class="pl-k">&amp;</span>beta, C, <span class="pl-k">&amp;</span>ldc)
<span class="pl-k">end</span>

x <span class="pl-k">=</span> <span class="pl-c1">zeros</span>(<span class="pl-c1">12</span>, <span class="pl-c1">4</span>)
w <span class="pl-k">=</span> <span class="pl-c1">zeros</span>(<span class="pl-c1">2</span>, <span class="pl-c1">2</span>, <span class="pl-c1">1</span>, <span class="pl-c1">1</span>)
y <span class="pl-k">=</span> <span class="pl-c1">zeros</span>(<span class="pl-c1">4</span>, <span class="pl-c1">3</span>, <span class="pl-c1">1</span>, <span class="pl-c1">1</span>)

<span class="pl-c1">gemm!</span>(<span class="pl-s"><span class="pl-pds">'</span>N<span class="pl-pds">'</span></span>,<span class="pl-s"><span class="pl-pds">'</span>N<span class="pl-pds">'</span></span>,<span class="pl-c1">12</span>,<span class="pl-c1">1</span>,<span class="pl-c1">4</span>,<span class="pl-c1">1.0</span>,<span class="pl-c1">pointer</span>(x),<span class="pl-c1">pointer</span>(w),<span class="pl-c1">0.</span>,<span class="pl-c1">pointer</span>(y))</pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="➜  NNlib.jl git:(julia-0.7) ✗ j --depwarn=no test.jl

signal (11): Segmentation fault
in expression starting at /home/mike/projects/flux/NNlib.jl/test.jl:21
_ZNK4llvm5Value16DoPHITranslationEPKNS_10BasicBlockES3_ at /home/mike/projects/julia/usr/bin/../lib/libLLVM-6.0.so (unknown line)
Allocations: 341387 (Pool: 341240; Big: 147); GC: 0
[1]    3837 segmentation fault (core dumped)  j --depwarn=no test.jl"><pre class="notranslate"><code class="notranslate">➜  NNlib.jl git:(julia-0.7) ✗ j --depwarn=no test.jl

signal (11): Segmentation fault
in expression starting at /home/mike/projects/flux/NNlib.jl/test.jl:21
_ZNK4llvm5Value16DoPHITranslationEPKNS_10BasicBlockES3_ at /home/mike/projects/julia/usr/bin/../lib/libLLVM-6.0.so (unknown line)
Allocations: 341387 (Pool: 341240; Big: 147); GC: 0
[1]    3837 segmentation fault (core dumped)  j --depwarn=no test.jl
</code></pre></div>
<p dir="auto">Tried some older versions and it doesn't seem to be recent (e.g. newoptimizer related).</p>