# Segmentation fault when cloning a sparse matrix

**URL:** https://discourse.julialang.org/t/segmentation-fault-when-cloning-a-sparse-matrix/14121
**Category:** General Usage
**Created:** [August 27, 2018, 10:36am UTC](https://discourse.julialang.org/t/segmentation-fault-when-cloning-a-sparse-matrix/14121 "2018-08-27T10:36:35Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![bennedich](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bennedich/32/4894_2.png) [@bennedich](https://discourse.julialang.org/u/bennedich)
#### Post date: [August 27, 2018, 10:36am UTC](https://discourse.julialang.org/t/segmentation-fault-when-cloning-a-sparse-matrix/14121/1 "2018-08-27T10:36:36Z")

</div>

The following program:

```julia
using SparseArrays

function go()
    A = sprandn(10, 10, 0.1)
    v = Vector(undef, 2)
    for i = 1:2
        v[i] = SparseMatrixCSC(A.m, A.n, A.colptr, A.rowval, copy(A.nzval))
    end
end

@time go()

```

Results in a segmentation fault for me:

```julia
signal (11): Segmentation fault: 11
in expression starting at no file:0
_ZN4llvm9LiveRange4joinERS0_PKiS3_RNS_15SmallVectorImplIPNS_6VNInfoEEE at /Applications/Julia-0.7.app/Contents/Resources/julia/lib/julia/libLLVM.dylib (unknown line)
_ZN12_GLOBAL__N_117RegisterCoalescer8joinCopyEPN4llvm12MachineInstrERb at /Applications/Julia-0.7.app/Contents/Resources/julia/lib/julia/libLLVM.dylib (unknown line)
_ZN12_GLOBAL__N_117RegisterCoalescer20copyCoalesceWorkListEN4llvm15MutableArrayRefIPNS1_12MachineInstrEEE at /Applications/Julia-0.7.app/Contents/Resources/julia/lib/julia/libLLVM.dylib (unknown line)
_ZN12_GLOBAL__N_117RegisterCoalescer20runOnMachineFunctionERN4llvm15MachineFunctionE at /Applications/Julia-0.7.app/Contents/Resources/julia/lib/julia/libLLVM.dylib (unknown line)
_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE at /Applications/Julia-0.7.app/Contents/Resources/julia/lib/julia/libLLVM.dylib (unknown line)
_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE at /Applications/Julia-0.7.app/Contents/Resources/julia/lib/julia/libLLVM.dylib (unknown line)
_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE at /Applications/Julia-0.7.app/Contents/Resources/julia/lib/julia/libLLVM.dylib (unknown line)
_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE at /Applications/Julia-0.7.app/Contents/Resources/julia/lib/julia/libLLVM.dylib (unknown line)

```

I’m using Julia 0.7.0 on Mac. If I replace the for loop with `v[1] =` and `v[2] =`, the program works. Also, if I use `copy(A.colptr)` it works. It also works in Julia 0.6.4.

What I’m trying to achieve is to create a few new matrices with the same sparsity pattern as an existing matrix, but with modified values, and in order to save memory I want to reuse the `colptr` and `rowval` vectors.

Any idea what’s going on? Perhaps it’s not allowed to reuse the column/row vectors this way?

---

<div class="post-metadata">

### Author: ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)
#### Post date: [August 27, 2018, 10:56am UTC](https://discourse.julialang.org/t/segmentation-fault-when-cloning-a-sparse-matrix/14121/2 "2018-08-27T10:56:15Z")

</div>

This should not happen, can you open an issue with this example? [https://github.com/JuliaLang/julia/issues/new](https://github.com/JuliaLang/julia/issues/new)

---

<div class="post-metadata">

### Author: ![bennedich](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bennedich/32/4894_2.png) [@bennedich](https://discourse.julialang.org/u/bennedich)
#### Post date: [August 27, 2018, 11:21am UTC](https://discourse.julialang.org/t/segmentation-fault-when-cloning-a-sparse-matrix/14121/3 "2018-08-27T11:21:57Z")

</div>

Alright, done: [Segmentation fault when cloning a sparse matrix · Issue #28913 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/issues/28913)
