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
>
>
>

Reply via email to