Ralph, based on the source code (ompi_mpi_params.c:91) I was expecting a Boolean ompi_mpi_param_check
Cheers, Gilles On Saturday, July 18, 2015, Ralph Castain <r...@open-mpi.org> wrote: > Yep, I checked: > > MPI parameter check: runtime > > > > 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 > > >