← Back to team overview

dolfin team mailing list archive

Re: [HG] merge

 

On Tue, May 30, 2006 at 08:40:38PM +0200, Garth N. Wells wrote:
> On Tue, 2006-05-30 at 20:33 +0200, Anders Logg wrote:
> > On Tue, May 30, 2006 at 08:15:30PM +0200, DOLFIN wrote:
> > > One or more new changesets pushed to the primary DOLFIN repository.
> > > A short summary of the last three changesets is included below.
> > > 
> > > changeset:   1973:58eb9fd7d198e1399d3823c68827b21dd93bd4de
> > > tag:         tip
> > > parent:      1972:d8b92c7a9e6ea975b878cfcddb9243137521431e
> > > parent:      1971:85207c04dd90d3b2e5a207ae2819d5a817a13c44
> > > user:        "Garth N. Wells <g.n.wells@xxxxxxxxxx>"
> > > date:        Tue May 30 20:15:20 2006 +0200
> > > files:       src/kernel/la/PETScSparseMatrix.cpp
> > > description:
> > > merge
> > > 
> > > 
> > > changeset:   1972:d8b92c7a9e6ea975b878cfcddb9243137521431e
> > > parent:      1969:a0e2c91d30f0582317a8c53a4396ddad7dbfe7c0
> > > user:        "Garth N. Wells <g.n.wells@xxxxxxxxxx>"
> > > date:        Tue May 30 20:10:15 2006 +0200
> > > files:       src/kernel/io/MatlabFile.cpp src/kernel/io/OctaveFile.cpp src/kernel/io/XMLFile.cpp src/kernel/la/PETScSparseMatrix.cpp src/kernel/la/dolfin/PETScSparseMatrix.h src/kernel/la/dolfin/uBlasSparseMatrix.h src/kernel/la/uBlasSparseMatrix.cpp src/kernel/ode/Dependencies.cpp src/test/main.cpp
> > > description:
> > > Add function getRow() to PETScSparseMatrix and uBlasSparseMatrix which inserts the data in an Array. This avoids calling the PETSc function MatGetRow() outside of the PETSc warpper class.
> > > 
> > > Anders: I made a change in Dependenices::set(const Matrix& A). Any problems withthis?
> > 
> > Looks good. Is the #ifdef HAVE_PETSC_H in Dependencies needed now?
> > 
> 
> Don't know. I haven't tested.
> 
> Garth

I ran a test problem (src/demo/ode/bistable) and get a segmentation
fault after the udpate. I didn't get this before the update so
something is broken.

I won't have time to debug it now, but here's a printout from
valgrind. Do you recognize anything that you have changed?

==24412== Invalid read of size 4
==24412==    at 0x417F97C: dolfin::SparseVector::getval(unsigned)
const (SparseVector.cpp:383)
==24412==    by 0x41801A7: dolfin::SparseVectorElement::operator
double() const (SparseVector.cpp:484)
==24412==    by 0x804A3F8: Bistable::f(double const*, double,
unsigned) (main.cpp:35)
==24412==    by 0x41D816E: dolfin::ODE::f(double const*, double,
double*) (ODE.cpp:45)
==24412==    by 0x41D022F:
dolfin::MonoAdaptiveTimeSlab::MonoAdaptiveTimeSlab(dolfin::ODE&)
(MonoAdaptiveTimeSlab.cpp:45)
==24412==    by 0x41DCD1A:
dolfin::TimeStepper::TimeStepper(dolfin::ODE&) (TimeStepper.cpp:41)
==24412==    by 0x41DD9CA: dolfin::TimeStepper::solve(dolfin::ODE&)
(TimeStepper.cpp:78)
==24412==    by 0x41D8BF3: dolfin::ODESolver::solve(dolfin::ODE&)
(ODESolver.cpp:21)
==24412==    by 0x41D8278: dolfin::ODE::solve() (ODE.cpp:181)
==24412==    by 0x8049FB9: main (main.cpp:101)

I get a segmentation fault even if I disable the call to Dependencies
(the line sparse(A) in the demo) so it does not seem to be related to
that.

/Anders



Follow ups

References