On Jul 17, 2015, at 8:00 PM, Gilles Gouaillardet
<gilles.gouaillar...@gmail.com
<javascript:_e(%7B%7D,'cvml','gilles.gouaillar...@gmail.com');>> wrote:
Ralph,
I will try to reproduce this.
I guess you already checked the output of ompi_info to confirm
params are checked at runtime.
Cheers,
Gilles
On Saturday, July 18, 2015, Ralph Castain <r...@open-mpi.org
<javascript:_e(%7B%7D,'cvml','r...@open-mpi.org');>> wrote:
Hi folks
I keep getting segfault errors when testing 1.10, while
others say the tests are passing for them. The tests are in
the onesided area, but I don’t believe they necessarily are
a onesided issue.
Specifically, the tests (e.g., test_start1.c) call
MPI_Win_set_errhandler with a NULL argument for the first
parameter (MPI_win). Looking at the code for that function,
I see this:
int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler
errhandler)
{
MPI_Errhandler tmp;
OPAL_CR_NOOP_PROGRESS();
if (MPI_PARAM_CHECK) {
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
if (ompi_win_invalid(win)) {
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_WIN,
FUNC_NAME);
} else if (NULL == errhandler ||
MPI_ERRHANDLER_NULL == errhandler ||
(OMPI_ERRHANDLER_TYPE_WIN != errhandler->eh_mpi_object_type &&
OMPI_ERRHANDLER_TYPE_PREDEFINED !=
errhandler->eh_mpi_object_type) ) {
return OMPI_ERRHANDLER_INVOKE(win, MPI_ERR_ARG,
FUNC_NAME);
}
}
/* Prepare the new error handler */
OBJ_RETAIN(errhandler);
/* Ditch the old errhandler, and decrement its
refcount. On 64
bits environments we have to make sure the reading
of the
error_handler became atomic. */
do {
tmp = win->error_handler;
} while (!OPAL_ATOMIC_CMPSET(&(win->error_handler),
tmp, errhandler));
OBJ_RELEASE(tmp);
/* All done */
return MPI_SUCCESS;
}
If someone built with —with-mpi-param-check=always or
runtime, then this function will return an error when given
the NULL argument. Otherwise, it will definitely segfault.
According to the configure output, this option is supposed
to default to “runtime”. I don’t set it in my configury, so
I would have thought this was the case. And when I look at
the config.log, I see:
configure:10401: checking if want run-time MPI parameter
checking
configure:10425: result: runtime
However, what I’m seeing implies that this is *not* the
case - i.e., we aren’t checking MPI params, and hence I am
crashing. Does anyone have any thoughts on what could be
going on? Is this test itself even correct?
Ralph
_______________________________________________
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/07/17656.php
_______________________________________________
devel mailing list
de...@open-mpi.org
<javascript:_e(%7B%7D,'cvml','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/07/17661.php