On Apr 4, 2011, at 10:18 AM, Rob Latham wrote:

> What I see happening here is the OpenMPI finalize routine is deleting
> attributes.   one of those attributes is ROMIO's, which in turn tries
> to free keyvals.  Is the deadlock that noting "under" ompi_attr_delete
> can itself call ompi_* routines? (as ROMIO triggers a call to
> ompi_attr_free_keyval) ?

Yes, this is exactly what is happening -- the communicator attribute delete 
callback is invoking MPI_KEYVAL_FREE(), which is not something we anticipated. 
The locks are only active for THREAD_MULTIPLE, which results in this issue.

I'll have to dig some more to make this case safe; I'll file a ticket about it.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to