On Feb 21, 2011, at 1:00 AM, Mike Dubman wrote:

> Mercurial uses "Copytree" to copy fresh checked-out copy to the build 
> location.

This statement threw me for a little while; I had to go to the code to figure 
it out.  It's not Mercurial.pm that uses copytree; it looks like SCM.pm sets up 
a pointer to use copytree later...?

Can you send your MPI Get and MPI Install sections to help understand what is 
going on here?  I tried to dig into the code a bit, but it's been (literally) 
years since I looked at these parts of the code; it looks like the specific 
code paths are going to be driven by your ini file.

> These are messages coming from mtt during problematic situation:
> 
> Debug message stating that post-copy completed (should be applied AFTER copy 
> to the build location):
> > >> copytree running post_copy command:
> 
> Debug message stating that copying completed --> race
> > >> copytree finished copying

Actually, looking at lib/MTT/Common/Copytree.pm, it looks like this sequence of 
messages is normal in Copytree::PrepareForInstall...?  I.e., the Debug 
statement with ">> copytree finished copying" is actually output after the 
post-copy command, not before.  Perhaps it's just the location of this debug 
statement that is confusing / incorrect...

> 
> 
> On Fri, Feb 18, 2011 at 6:26 PM, Jeff Squyres <jsquy...@cisco.com> wrote:
> Hmm -- I'm having difficulty understanding the exact scenario here.
> 
> Are you using the Mercurial SCM module, or copytree?
> 
> I don't think that I have used the Mercurial SCM module before -- I believe 
> Ethan added that.  Ethan -- does SCM/Mercurial work well for you?
> 
> 
> 
> On Feb 18, 2011, at 2:06 AM, Mike Dubman wrote:
> 
> >
> > 1. post_copy fails because does not find some files which should be already 
> > copied.
> > 2. In the mtt debug output, (attached in original post) you can see that 
> > "post_copy" is executed before "copytree" has finished.
> >
> > >> copytree running post_copy command:
> > ...
> > ...
> >
> > >> copytree finished copying
> >
> > On Fri, Feb 18, 2011 at 12:23 AM, Jeff Squyres <jsquy...@cisco.com> wrote:
> > On Feb 10, 2011, at 2:36 PM, Mike Dubman wrote:
> >
> > > There is a race condition in SCM, Mercurial module when used from MPI GET 
> > > phase:
> > >
> > > - scm_post_copy hook can be started before MPI GET completed copy of 
> > > fetched tree into install location.
> >
> > How have you verified this?
> >
> > > - This leads to mtt failure, because post_copy starts too early (tree was 
> > > not copied yet) and fails.
> > > - adding sleeps to post_copy hook - helps.
> > > - does copytree used during mtt get phase have async behave?
> >
> > No, it shouldn't.  Everything is serial.
> >
> > >
> > >
> > > ---------------- from the mtt -d -v output ---------------------
> > >
> > > copytree running post_copy command:
> > > ...
> > > ...
> > >
> > > >> copytree finished copying
> > > ----------------------------------------------------------------------------
> > >
> > >
> > > Please suggest.
> > >
> > > Thanks
> > >
> > > M
> > >
> > >
> > >
> > > _______________________________________________
> > > mtt-devel mailing list
> > > mtt-de...@open-mpi.org
> > > http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
> >
> >
> > --
> > Jeff Squyres
> > jsquy...@cisco.com
> > For corporate legal information go to:
> > http://www.cisco.com/web/about/doing_business/legal/cri/
> >
> >
> > _______________________________________________
> > mtt-devel mailing list
> > mtt-de...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel
> >
> 
> 
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> 


-- 
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