Brilliant! Indeed that fixed the problem.

Thank you so much! On to the next bug! =)
Andrea



On Tue, Jan 5, 2010 at 1:53 PM, John Peterson <[email protected]> wrote:

> On Tue, Jan 5, 2010 at 1:48 PM, Roy Stogner <[email protected]>
> wrote:
> >
> > On Tue, 5 Jan 2010, Andrea Hawkins wrote:
> >
> >> solution vector in gdb, but it never caught in between where I know it
> >> exists and then it doesn't. I've tried commented everything out, and
> >> adding
> >> lines to see when it fails, and surprisingly it fails when the line
> >>
> >> TransientNonlinearImplicitSystem system =
> >> es.get_system<TransientNonlinearImplicitSystem>("Cahn-Hilliard-Init");
> >>
> >> is added...
> >>
> >> Is there something about getting a reference to a system where I would
> >> need
> >> to close it or something?
> >
> > Yup, here's the bug.
> >
> > Your problem is that you want to be declaring a reference and you're
> > accidentally declaring a new object.
> >
> > Your fix is simple: add one ampersand to get
> > TransientNonlinearImplicitSystem &system =
> >  es.get_system<TransientNonlinearImplicitSystem>("Cahn-Hilliard-Init");
> >
> > Our problem is that our System classes are non-copyable, but we
> > haven't disabled the default System copy constructor.  So when you
> > accidentally copy a System, the compiler calls the copy constructor on
> > all its members, and the solution AutoPtr on the original System gets
> > invalidated.
> >
> > I'm not sure what our fix should be.  Probably a private do-nothing
> > (or do-libmesh_error) copy constructor, so that this kind of mistake
> > gets caught at compile time?  The compiler error would be confusing,
> > but probably not as confusing as wondering why your solution pointer
> > appears to randomly invalidate itself.
>
> Wow, good find.  I guess I'd prefer the compile-time error, rather
> than runtime.  It's usually easier to debug compiler messages than
> runtime errors.  This is C++, though, so strong emphasis on "usually".
>
> --
> John
>
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to