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 >