On 1/4/19, 3:37 PM, "Stogner, Roy H" <royst...@ices.utexas.edu> wrote:
On Thu, 3 Jan 2019, Salazar De Troya, Miguel via Libmesh-users wrote: >> Running an example with 10 processors (works in serial) fails with the error: >One of our examples? No. My own example so to speak. Sorry for the confusion. >> !libmesh_assert_pass' failed >> >> The program stops at libmesh_assert(test_unflagged(true)) in >> MeshRefinement::refine_and_coarsen_elements(). The remaining stack >> trace when TotalView stops is as follows (sorry for the rudimentary >> copy and paste, it’s all I can do now): >> >> MeshRefinement::test_unflagged (bool libmesh_dbg_var(libmesh_assert_pass)) >> std::ostream & operator << (std::ostream & os, const Elem & e) >> Elem::print_info (std::ostream & os) >> std::string Elem::get_info () >> bool DofObject::valid_id () <-- Stops here. >That's... baffling. At that point _coarsen_elements should have >coarsened (and cleared flags of) anything flagged to coarsen, then >_refine_elements should have refined (and cleared flags of) anything >flagged to refine, then there should obviously be nothing left to >coarsen or to refine. >Hmm... the flag clearing in coarsening is actually done when the >parents get coarsen() called. Is it possible that we're screwing up >make_coarsening_compatible somewhere and leaving a child marked >COARSEN without properly marking its parent COARSEN_INACTIVE? I noticed there are two test_unflagged() in MeshRefinement::refine_and_coarsen_elements(). It is the first one where the problem is (where the condition (coarsening_changed_mesh || refining_changed_mesh) is met). >> Please let me know if you need more details. I will keep investigating. >There's no output from that print_info? There is no more output. I should apologize because the "stack trace" that I sent is not the one for the processor that failed (I'm a newbie at TotalView). This is the one for the processor that failed: libmesh_assert(!libmesh_assert_pass); in MeshRefinement::test_unflagged (bool libmesh_dbg_var(libmesh_assert_pass)) (mesh_refinement.C 467) libMesh::write_traceout() in MacroFunctions::report_error() libMesh::print_trace(traceout); gdb_worked = gdb_backtrace(out_stream); int fd = mkstemp(temp_file); and then I see two frames with what looks assembly language from the file libc.so.6 >I don't know what I can do about this unless I can reproduce it. I >could suggest some asserts that might catch the hypothesis above. Could you please suggest those assertions? Sending the code could be a bit cumbersome. Thanks --- Roy _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users