Re: [OMPI devel] MPI_T SEGV on DSO

2014-07-30 Thread Nathan Hjelm
Yup, just noticed that. All component variables should be registered with mca_base_component_var_register but the versions were registered with the generic register function. The code in question is the oldest part of the MCA rewrite so it probably was missed when the component variable register f

Re: [OMPI devel] MPI_T SEGV on DSO

2014-07-30 Thread KAWASHIMA Takahiro
Nathan, The diffrences seems to be the flags on registering. Normal MCA variables shmem_sysv_priority etc. have flag MCA_BASE_VAR_FLAG_DWG so that they are deregistered through mca_base_var_group_deregister in mca_base_component_unload. But shmem_sysv_major_version doesn't have the flag. Regard

Re: [OMPI devel] MPI_T SEGV on DSO

2014-07-30 Thread Nathan Hjelm
This is odd. The variable in question is registered by the MCA itself. I will take a look and see if I can determine why it isn't being deregistered correctly when the rest of the component's parameters are. -Nathan On Wed, Jul 30, 2014 at 08:17:15AM +0900, KAWASHIMA Takahiro wrote: > Nathan, >

Re: [OMPI devel] MPI_T SEGV on DSO

2014-07-29 Thread KAWASHIMA Takahiro
Nathan, Thanks for your response. Yes. My previous mail was the result of uncommented code. Now I also pulled latest varList source code which uncommented the section you mentioned, but the result was same. If MPI_T_cvar_get_info should return MPI_T_ERR_INVALID_INDEX for variables for unloaded c

Re: [OMPI devel] MPI_T SEGV on DSO

2014-07-29 Thread Jeff Squyres (jsquyres)
FYI: We have pinged the upstream/LLNL authors of varlist about this issue. On Jul 29, 2014, at 11:38 AM, Nathan Hjelm wrote: > > The problem is the code in question does not check the return code of > MPI_T_cvar_handle_alloc . We are returning an error and they still try > to use the handle (w

Re: [OMPI devel] MPI_T SEGV on DSO

2014-07-29 Thread Nathan Hjelm
The problem is the code in question does not check the return code of MPI_T_cvar_handle_alloc . We are returning an error and they still try to use the handle (which is stale). Uncomment this section of the code: //if (MPI_T_ERR_INVALID_INDEX == err)// { NOTE TZI: This variable