On Tue, 10 Mar 2009, Roy Stogner wrote: > if I can't find the bug right away.
Found it. In UnstructuredMesh::contract() we loop over elements in no particular order and delete the subactive ones, but in devel or debug mode we test elem->level() to make sure it's not 0. elem->level() on a non-level-0 element accesses elem->parent()->dim()... but if the subactive element we're currently deleting is the child of one we've already deleted, that segfaults. It's fixed now - instead of asserting that elem->level() is non-zero we just assuage my paranoia by making sure elem->parent() is non-NULL. None of my apps do two coarsenings in a row without a contract() in between, so I would never have caught this on my own. Thanks! --- Roy ------------------------------------------------------------------------------ _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel