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