George, i was unable to reproduce the hang with icc 14.0.3.174 and greater on a RHEL6 like distro.
i was able to reproduce the opal_tree failure and found two possible workarounds : a) manually compile opal/class/opal_tree.lo *without* the -finline-functions flag b) update deserialize_add_tree_item and declare curr_delim as volatile char * (see the patch below) this function is recursive, and the compiler could generate some incorrect code. Cheers, Gilles diff --git a/opal/class/opal_tree.c b/opal/class/opal_tree.c index e8964e0..492e8dc 100644 --- a/opal/class/opal_tree.c +++ b/opal/class/opal_tree.c @@ -465,7 +465,7 @@ int opal_tree_serialize(opal_tree_item_t *start_item, opal_buffer_t *buffer) static int deserialize_add_tree_item(opal_buffer_t *data, opal_tree_item_t *parent_item, opal_tree_item_deserialize_fn_t deserialize, - char *curr_delim, + volatile char *curr_delim, int depth) { int idx = 1, rc; On 2015/01/16 8:57, George Bosilca wrote: > Today's trunk compiled with icc fails to complete the check on 2 tests: > opal_lifo and opal_tree. > > For opal_tree the output is: > OPAL dss:unpack: got type 9 when expecting type 3 > Failure : failed tree deserialization size compare > SUPPORT: OMPI Test failed: opal_tree_t (1 of 12 failed) > > and opal_lifo gets stuck forever in the single threaded call to thread_test > in a 128 bits atomic CAS. Unfortunately I lack the time to dig deep enough > to see what is the root cause, but a quick look at the opal_config.h file > indicates that our configure detects that __int128 is a supported type when > it should not be. > > George > > Open MPI git d13c14e configured with --enable-debug > icc (ICC) 14.0.0 20130728 > > > > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2015/01/16789.php