Hi,
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.
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) {
//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.
-1,1,
-1,1,
-1,1,
HEX8
);
MeshCommunication().broadcast(mesh);
mesh.allow_renumbering(false);
mesh.partitioner() = AutoPtr<Partitioner>(new LinearPartitioner);
mesh.prepare_for_use();
mesh.all_second_order(true); //not sure if this is strictly
necessary, but we need 2nd order elements for our application. Included
for completeness.
using libMesh::MeshTools::Private::globally_renumber_nodes_and_elements;
globally_renumber_nodes_and_elements(mesh);
mesh.fix_broken_node_and_element_numbering();
return 0;
}
We need this code in order to write partition-agnostic custom checkpoint
files for a cardiac simulation. I wrote this code based on the file IO
within the libmesh internals. If it's broken for me, input/output might
also be broken for others.
------------------------------------------------------------------------------
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel