Yep, I checked:

     MPI parameter check: runtime



> On Jul 17, 2015, at 8:00 PM, Gilles Gouaillardet 
> <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 
> <mailto: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 <javascript:;>
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel 
> <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 
> <http://www.open-mpi.org/community/lists/devel/2015/07/17656.php>_______________________________________________
> 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/17661.php

Reply via email to