Hmmm... I saw that Mike closed the PR with reverting Nathan's commit and
merged another one which contains just a small fix (
https://github.com/open-mpi/ompi/pull/532). I asked Nathan to look at it
and if he has no objections, it resolves the problem.

Best regards,
Elena

On Wed, Apr 15, 2015 at 6:36 PM, Ralph Castain <r...@open-mpi.org> wrote:

> Soooo….are you going to restore the rest of it? Or are we asking Nathan to
> refile it without that one piece?
>
>
> On Apr 15, 2015, at 7:26 AM, Elena Elkina <elena.elk...@itseez.com> wrote:
>
> Hi Ralph.
>
> We don't need to revert the whole commit, just to fix this small part. I
> proposed a fast fix for that in the PR but probably we need to fix it more
> intellectually.
>
> Best regards,
> Elena
>
> On Wed, Apr 15, 2015 at 6:08 PM, Ralph Castain <r...@open-mpi.org> wrote:
>
>> I’m really puzzled - I saw where you fixed the one part of this commit
>> that caused a problem for you. But what happened to the rest of it? Was it
>> really necessary to revert the entire thing, or was it only that piece that
>> caused a problem?
>>
>>
>> > On Apr 15, 2015, at 5:41 AM, git...@crest.iu.edu wrote:
>> >
>> > This is an automated email from the git hooks/post-receive script. It
>> was
>> > generated because a ref change was pushed to the repository containing
>> > the project "open-mpi/ompi".
>> >
>> > The branch, revert-520-valgrind_cleanness has been created
>> >        at  7a8a4a0c945f1918094caf57bca62cf1f263bfba (commit)
>> >
>> > - Log -----------------------------------------------------------------
>> >
>> https://github.com/open-mpi/ompi/commit/7a8a4a0c945f1918094caf57bca62cf1f263bfba
>> >
>> > commit 7a8a4a0c945f1918094caf57bca62cf1f263bfba
>> > Author: Mike Dubman <mi...@mellanox.com>
>> > Date:   Wed Apr 15 15:41:27 2015 +0300
>> >
>> >    Revert "fix memory leaks and valgrind errors"
>> >
>> > diff --git a/ompi/mpi/tool/finalize.c b/ompi/mpi/tool/finalize.c
>> > index 38a0ce3..7efec79 100644
>> > --- a/ompi/mpi/tool/finalize.c
>> > +++ b/ompi/mpi/tool/finalize.c
>> > @@ -37,15 +37,6 @@ int MPI_T_finalize (void)
>> >
>> >     if (0 == --mpit_init_count) {
>> >         (void) ompi_info_close_components ();
>> > -
>> > -        if ((!ompi_mpi_initialized || ompi_mpi_finalized) &&
>> > -            (NULL != ompi_mpi_main_thread)) {
>> > -            /* we are not between MPI_Init and MPI_Finalize so we
>> > -             * have to free the ompi_mpi_main_thread */
>> > -            OBJ_RELEASE(ompi_mpi_main_thread);
>> > -            ompi_mpi_main_thread = NULL;
>> > -        }
>> > -
>> >         (void) opal_finalize_util ();
>> >     }
>> >
>> > diff --git a/ompi/runtime/ompi_mpi_init.c b/ompi/runtime/ompi_mpi_init.c
>> > index 81fef2a..dbc800b 100644
>> > --- a/ompi/runtime/ompi_mpi_init.c
>> > +++ b/ompi/runtime/ompi_mpi_init.c
>> > @@ -1,4 +1,3 @@
>> > -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
>> > /*
>> >  * Copyright (c) 2004-2010 The Trustees of Indiana University and
>> Indiana
>> >  *                         University Research and Technology
>> > @@ -11,7 +10,7 @@
>> >  * Copyright (c) 2004-2005 The Regents of the University of California.
>> >  *                         All rights reserved.
>> >  * Copyright (c) 2006-2014 Cisco Systems, Inc.  All rights reserved.
>> > - * Copyright (c) 2006-2015 Los Alamos National Security, LLC.  All
>> rights
>> > + * Copyright (c) 2006-2013 Los Alamos National Security, LLC.  All
>> rights
>> >  *                         reserved.
>> >  * Copyright (c) 2006-2009 University of Houston. All rights reserved.
>> >  * Copyright (c) 2008-2009 Sun Microsystems, Inc.  All rights reserved.
>> > @@ -343,10 +342,7 @@ void ompi_mpi_thread_level(int requested, int
>> *provided)
>> >             ompi_mpi_thread_provided = *provided = requested;
>> >         }
>> >     }
>> > -
>> > -    if (!ompi_mpi_main_thread) {
>> > -        ompi_mpi_main_thread = opal_thread_get_self();
>> > -    }
>> > +    ompi_mpi_main_thread = opal_thread_get_self();
>> >
>> >     ompi_mpi_thread_multiple = (ompi_mpi_thread_provided ==
>> >                                 MPI_THREAD_MULTIPLE);
>> > diff --git a/opal/mca/base/mca_base_var.c b/opal/mca/base/mca_base_var.c
>> > index fe6a87e..67511f3 100644
>> > --- a/opal/mca/base/mca_base_var.c
>> > +++ b/opal/mca/base/mca_base_var.c
>> > @@ -67,8 +67,7 @@ static char *mca_base_var_file_prefix = NULL;
>> > static char *mca_base_envar_file_prefix = NULL;
>> > static char *mca_base_param_file_path = NULL;
>> > static char *mca_base_env_list = NULL;
>> > -#define MCA_BASE_ENV_LIST_SEP_DEFAULT ";"
>> > -static char *mca_base_env_list_sep = MCA_BASE_ENV_LIST_SEP_DEFAULT;
>> > +static char *mca_base_env_list_sep = ";";
>> > static char *mca_base_env_list_internal = NULL;
>> > static bool mca_base_var_suppress_override_warning = false;
>> > static opal_list_t mca_base_var_file_values;
>> > @@ -274,8 +273,6 @@ int mca_base_var_init(void)
>> >                                      "Set SHELL env variables",
>> >                                      MCA_BASE_VAR_TYPE_STRING, NULL, 0,
>> 0, OPAL_INFO_LVL_3,
>> >                                      MCA_BASE_VAR_SCOPE_READONLY,
>> &mca_base_env_list);
>> > -
>> > -        mca_base_env_list_sep = MCA_BASE_ENV_LIST_SEP_DEFAULT;
>> >         (void)mca_base_var_register ("opal", "mca", "base",
>> "env_list_delimiter",
>> >                                      "Set SHELL env variables
>> delimiter. Default: semicolon ';'",
>> >                                      MCA_BASE_VAR_TYPE_STRING, NULL, 0,
>> 0, OPAL_INFO_LVL_3,
>> > @@ -433,7 +430,6 @@ static int mca_base_var_cache_files(bool
>> rel_path_search)
>> >     if (OPAL_SUCCESS != ret) {
>> >         return ret;
>> >     }
>> > -
>> >     mca_base_envar_files = strdup(mca_base_var_files);
>> >
>> >     (void) mca_base_var_register_synonym (ret, "opal", "mca", NULL,
>> "param_files",
>> > @@ -1135,15 +1131,11 @@ int mca_base_var_finalize(void)
>> >         if (NULL != mca_base_var_file_list) {
>> >             opal_argv_free(mca_base_var_file_list);
>> >         }
>> > -        mca_base_var_file_list = NULL;
>> >
>> >         (void) mca_base_var_group_finalize ();
>> >         (void) mca_base_pvar_finalize ();
>> >
>> >         OBJ_DESTRUCT(&mca_base_var_index_hash);
>> > -
>> > -        free (mca_base_envar_files);
>> > -        mca_base_envar_files = NULL;
>> >     }
>> >
>> >     /* All done */
>> > @@ -1249,31 +1241,15 @@ static int fixup_files(char **file_list, char *
>> path, bool rel_path_search, char
>> >
>> > static int read_files(char *file_list, opal_list_t *file_values, char
>> sep)
>> > {
>> > -    char **tmp = opal_argv_split(file_list, sep);
>> > -    int i, count, ret;
>> > -
>> > -    if (!tmp) {
>> > -        return OPAL_ERR_OUT_OF_RESOURCE;
>> > -    }
>> > -
>> > -    if (mca_base_var_file_list) {
>> > -        count = opal_argv_count (mca_base_var_file_list);
>> > -        ret = opal_argv_insert (&mca_base_var_file_list, count, tmp);
>> > -        if (OPAL_SUCCESS != ret) {
>> > -            return ret;
>> > -        }
>> > -
>> > -        opal_argv_free (tmp);
>> > -    } else {
>> > -        mca_base_var_file_list = tmp;
>> > -    }
>> > -
>> > -    count = opal_argv_count(mca_base_var_file_list);
>> > +    int i, count;
>> >
>> >     /* Iterate through all the files passed in -- read them in reverse
>> >        order so that we preserve unix/shell path-like semantics (i.e.,
>> >        the entries farthest to the left get precedence) */
>> >
>> > +    mca_base_var_file_list = opal_argv_split(file_list, sep);
>> > +    count = opal_argv_count(mca_base_var_file_list);
>> > +
>> >     for (i = count - 1; i >= 0; --i) {
>> >         mca_base_parse_paramfile(mca_base_var_file_list[i],
>> file_values);
>> >     }
>> > diff --git a/opal/mca/btl/vader/btl_vader_component.c
>> b/opal/mca/btl/vader/btl_vader_component.c
>> > index 9363d47..e25035a 100644
>> > --- a/opal/mca/btl/vader/btl_vader_component.c
>> > +++ b/opal/mca/btl/vader/btl_vader_component.c
>> > @@ -209,7 +209,6 @@ static int mca_btl_vader_component_register (void)
>> >                                            "single_copy_mechanism",
>> "Single copy mechanism to use (defaults to best available)",
>> >                                            MCA_BASE_VAR_TYPE_INT,
>> new_enum, 0, MCA_BASE_VAR_FLAG_SETTABLE,
>> >                                            OPAL_INFO_LVL_3,
>> MCA_BASE_VAR_SCOPE_GROUP, &mca_btl_vader_component.single_copy_mechanism);
>> > -    OBJ_RELEASE(new_enum);
>> >
>> > #if OPAL_BTL_VADER_HAVE_KNEM
>> >     /* Currently disabling DMA mode by default; it's not clear that
>> this is useful in all applications and architectures. */
>> > diff --git a/opal/mca/installdirs/base/installdirs_base_components.c
>> b/opal/mca/installdirs/base/installdirs_base_components.c
>> > index 4ae3a0f..33a92db 100644
>> > --- a/opal/mca/installdirs/base/installdirs_base_components.c
>> > +++ b/opal/mca/installdirs/base/installdirs_base_components.c
>> > @@ -164,7 +164,6 @@ opal_installdirs_base_close(void)
>> >     free(opal_install_dirs.opaldatadir);
>> >     free(opal_install_dirs.opallibdir);
>> >     free(opal_install_dirs.opalincludedir);
>> > -    memset (&opal_install_dirs, 0, sizeof (opal_install_dirs));
>> >
>> >     return mca_base_framework_components_close
>> (&opal_installdirs_base_framework, NULL);
>> > }
>> > diff --git a/opal/runtime/opal_finalize.c b/opal/runtime/opal_finalize.c
>> > index 5a12398..b6d67bd 100644
>> > --- a/opal/runtime/opal_finalize.c
>> > +++ b/opal/runtime/opal_finalize.c
>> > @@ -104,9 +104,6 @@ opal_finalize_util(void)
>> >     /* finalize the class/object system */
>> >     opal_class_finalize();
>> >
>> > -    free (opal_process_info.nodename);
>> > -    opal_process_info.nodename = NULL;
>> > -
>> >     return OPAL_SUCCESS;
>> > }
>> >
>> > diff --git a/opal/runtime/opal_init.c b/opal/runtime/opal_init.c
>> > index 7ae32a4..89d6600 100644
>> > --- a/opal/runtime/opal_init.c
>> > +++ b/opal/runtime/opal_init.c
>> > @@ -303,6 +303,11 @@ opal_init_util(int* pargc, char*** pargv)
>> >         goto return_error;
>> >     }
>> >
>> > +    if (OPAL_SUCCESS != (ret = opal_net_init())) {
>> > +        error = "opal_net_init";
>> > +        goto return_error;
>> > +    }
>> > +
>> >     /* Setup the parameter system */
>> >     if (OPAL_SUCCESS != (ret = mca_base_var_init())) {
>> >         error = "mca_base_var_init";
>> > @@ -315,11 +320,6 @@ opal_init_util(int* pargc, char*** pargv)
>> >         goto return_error;
>> >     }
>> >
>> > -    if (OPAL_SUCCESS != (ret = opal_net_init())) {
>> > -        error = "opal_net_init";
>> > -        goto return_error;
>> > -    }
>> > -
>> >     /* pretty-print stack handlers */
>> >     if (OPAL_SUCCESS != (ret = opal_util_register_stackhandlers())) {
>> >         error = "opal_util_register_stackhandlers";
>> > diff --git a/opal/runtime/opal_params.c b/opal/runtime/opal_params.c
>> > index ff28a0c..3b4d4a7 100644
>> > --- a/opal/runtime/opal_params.c
>> > +++ b/opal/runtime/opal_params.c
>> > @@ -231,7 +231,6 @@ int opal_register_params(void)
>> >     }
>> >
>> > #if OPAL_ENABLE_TIMING
>> > -    opal_timing_sync_file = NULL;
>> >     (void) mca_base_var_register ("opal", "opal", NULL,
>> "timing_sync_file",
>> >                                   "Clock synchronisation information
>> generated by mpisync tool. You don't need to touch this if you use
>> mpirun_prof tool.",
>> >                                   MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
>> > @@ -241,14 +240,12 @@ int opal_register_params(void)
>> >         opal_output(0, "Cannot read file %s containing clock
>> synchronisation information\n", opal_timing_sync_file);
>> >     }
>> >
>> > -    opal_timing_output = NULL;
>> >     (void) mca_base_var_register ("opal", "opal", NULL, "timing_output",
>> >                                   "The name of output file for timing
>> information. If this parameter is not set then output will be directed into
>> OPAL debug channel.",
>> >                                   MCA_BASE_VAR_TYPE_STRING, NULL, 0, 0,
>> >                                   OPAL_INFO_LVL_9,
>> MCA_BASE_VAR_SCOPE_ALL,
>> >                                   &opal_timing_output);
>> >
>> > -    opal_timing_overhead = true;
>> >     (void) mca_base_var_register ("opal", "opal", NULL,
>> "timing_overhead",
>> >                                   "Timing framework introduce
>> additional overhead (malloc's mostly)."
>> >                                   " The time spend in such costly
>> routines is measured and may be accounted"
>> > @@ -283,6 +280,9 @@ int opal_register_params(void)
>> >
>> > int opal_deregister_params(void)
>> > {
>> > +    opal_signal_string = NULL;
>> > +    opal_net_private_ipv4 = NULL;
>> > +    opal_set_max_sys_limits = NULL;
>> >     opal_register_done = false;
>> >
>> >     return OPAL_SUCCESS;
>> > diff --git a/orte/runtime/orte_init.c b/orte/runtime/orte_init.c
>> > index 678a66c..cc47927 100644
>> > --- a/orte/runtime/orte_init.c
>> > +++ b/orte/runtime/orte_init.c
>> > @@ -182,8 +182,7 @@ int orte_init(int* pargc, char*** pargv,
>> orte_proc_type_t flags)
>> >     if (NULL != opal_process_info.nodename) {
>> >         free(opal_process_info.nodename);
>> >     }
>> > -    /* opal_finalize_util will call free on this pointer so set from
>> strdup */
>> > -    opal_process_info.nodename = strdup (orte_process_info.nodename);
>> > +    opal_process_info.nodename = orte_process_info.nodename;
>> >
>> >     /* setup the dstore framework */
>> >     if (ORTE_SUCCESS != (ret =
>> mca_base_framework_open(&opal_dstore_base_framework, 0))) {
>> >
>> >
>> > -----------------------------------------------------------------------
>> >
>> >
>> > hooks/post-receive
>> > --
>> > open-mpi/ompi
>> > _______________________________________________
>> > ompi-commits mailing list
>> > ompi-comm...@open-mpi.org
>> > http://www.open-mpi.org/mailman/listinfo.cgi/ompi-commits
>>
>> _______________________________________________
>> 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/04/17224.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/04/17225.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/04/17226.php
>

Reply via email to