← Back to team overview

dolfin team mailing list archive

[Bug 783857] Re: uBLASSparseMatrix data deleted when object goes out of scope

 

What we could do is add a 'deep copy' option. Perhaps we shouldn't even
expose the shallow copy in Python since we can't make it const. Changing
the data would screw up the backend. Would a deep copy work for your
application?

-- 
You received this bug notification because you are a member of DOLFIN
Team, which is subscribed to DOLFIN.
https://bugs.launchpad.net/bugs/783857

Title:
  uBLASSparseMatrix data deleted when object goes out of scope

Status in DOLFIN:
  New

Bug description:
  This bug is similar to https://bugs.launchpad.net/dolfin/+bug/747273

  The following code produces the output:

  0.0333333333333
  1.8218374251e-316

  I.e. after deleting the uBLASSparseMatrix object the data members are
  freed even though there are other references to the data.

  
  from dolfin import *

  mesh = UnitTetrahedron()
  V = FunctionSpace(mesh, "Nedelec 1st kind H(curl)", 1)
  u = TrialFunction(V)
  v = TestFunction(V)
  m = inner(v,u)*dx
  M = uBLASSparseMatrix()
  assemble(m, tensor=M)
  row,col,data = M.data()
  print data[0]
  del M
  import gc
  gc.collect()
  print data[0]


Follow ups

References