On Wed, 29 Oct 2014, Robert Blake wrote: > We're running into a intermittent deadlock when calling > assign_global_indices(). The problem only appears on >= 5 processors, > and even then it only appears intermittently.
I'd like to try and replicate, but if it's an intermittent problem then every bit of information you've got might help: OS, compiler, configure settings, METHOD, config summary (which isn't redundant w/settings, since a lot of options are autodetected), libMesh version (release number or git hash), etc. > Here's the error we see: > > Assertion `hi <= node_upper_bounds[communicator.rank()]' failed. > hi = 887794606_2212644264_162978473 > node_upper_bounds[communicator.rank()] = 583640776_2377824377_539889346 > [0] src/mesh/mesh_communication_global_indices.C, line 412, compiled Oct > 29 2013 at 08:06:24 > > Valgrind for this code returns no problems, both with and without the > intermittent error. > > The code generating this error is as follows: > > int main(void) { I assume a LibMeshInit goes here? > //create a mesh > const int dim=3; > Mesh mesh(dim); > MeshTools::Generation::build_cube(mesh, > 5000, 5000, 5000, //increase this if needed to generate the bug. You're configuring with 8 byte dof indices, I assume? Otherwise there's no way you're going to be running successfully with more than a few billion elements. Actually, wait a minute. Glancing at our libHilbert code it looks like it's hard-coded to use 32-bit integers. That's not *necessarily* the end of the world (it still means using 96 bits total, there should be no collisions on a simple 5000^3 cube, and IIRC we have code for handling collisions) but it still worries me. Ben, thoughts? --- Roy ------------------------------------------------------------------------------ _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel