Index: ompi/debuggers/ompi_mpihandles_dll.c =================================================================== --- ompi/debuggers/ompi_mpihandles_dll.c (revision 22102) +++ ompi/debuggers/ompi_mpihandles_dll.c (working copy) @@ -544,6 +544,9 @@ int i, ndims, tmp; mqs_taddr_t dims, periods; + if ( ! i_info->ompi_mca_topo_base_comm_1_0_0_t.is_present_in_target ) + return MPIDBG_ERR_NOT_FOUND; + /* Alloc space for copying arrays */ (*info)->comm_cart_num_dims = ndims = ompi_fetch_int(process, @@ -581,6 +584,9 @@ int i, nnodes; mqs_taddr_t index, edges; + if ( ! i_info->ompi_mca_topo_base_comm_1_0_0_t.is_present_in_target ) + return MPIDBG_ERR_NOT_FOUND; + /* Alloc space for copying the indexes */ (*info)->comm_graph_num_nodes = nnodes = ompi_fetch_int(process, Index: ompi/debuggers/ompi_common_dll.c =================================================================== --- ompi/debuggers/ompi_common_dll.c (revision 22102) +++ ompi/debuggers/ompi_common_dll.c (working copy) @@ -334,19 +334,20 @@ { mqs_type* qh_type = mqs_find_type( image, "mca_topo_base_comm_1_0_0_t", mqs_lang_c ); if( !qh_type ) { - missing_in_action = "mca_topo_base_comm_1_0_0_t"; - goto type_missing; + i_info->ompi_mca_topo_base_comm_1_0_0_t.is_present_in_target = 0; + } else { + i_info->ompi_mca_topo_base_comm_1_0_0_t.is_present_in_target = 1; + i_info->ompi_mca_topo_base_comm_1_0_0_t.type = qh_type; + i_info->ompi_mca_topo_base_comm_1_0_0_t.size = mqs_sizeof(qh_type); + ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_ndims_or_nnodes, + qh_type, mca_topo_base_comm_1_0_0_t, mtc_ndims_or_nnodes); + ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_dims_or_index, + qh_type, mca_topo_base_comm_1_0_0_t, mtc_dims_or_index); + ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_periods_or_edges, + qh_type, mca_topo_base_comm_1_0_0_t, mtc_periods_or_edges); + ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_reorder, + qh_type, mca_topo_base_comm_1_0_0_t, mtc_reorder); } - i_info->ompi_mca_topo_base_comm_1_0_0_t.type = qh_type; - i_info->ompi_mca_topo_base_comm_1_0_0_t.size = mqs_sizeof(qh_type); - ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_ndims_or_nnodes, - qh_type, mca_topo_base_comm_1_0_0_t, mtc_ndims_or_nnodes); - ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_dims_or_index, - qh_type, mca_topo_base_comm_1_0_0_t, mtc_dims_or_index); - ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_periods_or_edges, - qh_type, mca_topo_base_comm_1_0_0_t, mtc_periods_or_edges); - ompi_field_offset(i_info->ompi_mca_topo_base_comm_1_0_0_t.offset.mtc_reorder, - qh_type, mca_topo_base_comm_1_0_0_t, mtc_reorder); } { mqs_type* qh_type = mqs_find_type( image, "ompi_group_t", mqs_lang_c ); Index: ompi/debuggers/ompi_common_dll_defs.h =================================================================== --- ompi/debuggers/ompi_common_dll_defs.h (revision 22102) +++ ompi/debuggers/ompi_common_dll_defs.h (working copy) @@ -205,6 +205,7 @@ struct { mqs_type *type; int size; + int is_present_in_target; struct { int mtc_ndims_or_nnodes; int mtc_dims_or_index;