[prev in list] [next in list] [prev in thread] [next in thread] 

List:       unison-users
Subject:    RE: [unison-users] Unison issue Fatal error: inconsistent state
From:       "Zdenek () gmail" <zdenek ! sekera () gmail ! com>
Date:       2007-10-04 13:12:10
Message-ID: 4704e6ab.26a75e0a.1a14.05f4 () mx ! google ! com
[Download RAW message or body]

Hi, Benjamin,

happy to hear from you, I haven't gotten much further
since I have sent my original email, though I tried quite
hard. I'll try more using your suggestions and will
come back to you. It will take me a few days due to
some other urgent work. Thanks again!

---Zdenek

> -----Original Message-----
> From: Benjamin Pierce [mailto:bcpierce@cis.upenn.edu]
> Sent: 04 October 2007 14:48
> To: Zdenek@gmail
> Cc: 'Derek Rayside'; unison-users@yahoogroups.com
> Subject: Re: [unison-users] Unison issue Fatal error: inconsistent
> state
> 
> Hi,
> 
> I've been looking at the query you sent a few weeks ago.  I don't
> have a very clear understanding of what might be going on (I agree
> with Derek that it may have something to do with AFS), but I can
> offer some thoughts:
> 
> One of the first things Unison does during its startup phase is to
> "canonize" the names of the roots.  This involves doing something
> with the name of the host (which seems to be OK in your case) and
> with the path to the root on each host (which is where problems seem
> to be arising).  The function that does the latter operation is
> canonizeFspath, in the Fspath module.  Basically, it is attempting to
> "cd" to the given root directory, then do a "getcwd" to find out what
> it is really called, according to the host on which it lives.
> 
> You can get a slightly clearer view of how the roots are being
> canonized just by giving the '-debug all' flag on the command line.
> But if that doesn't clarify things enough, you'll probably want to
> insert some additional tracing statements, to try to track down where
> a wrong value seems to be arising in the control flow.  Look
> elsewhere in fspath.ml for statements like
> 
>    debug
>      (fun() ->
>        Util.msg "Os.findWorkingDir(%s,%s) = (%s,%s)\n"
>          (toString fspath)
>          (Path.toString path)
>          (myDirname realpath)
>          p);
> 
> for a template of how to write things out.
> 
> Now, to answer one question from your mail...
> 
> >>>  Just out of curiosity: my experience shows that ar* files is never
> >> much
> >>>  bigger than 1Mb, it will be split if it should come bigger. Why?
> 
> ar files are never "split".  One archive is created for each root, on
> the host where that root lives.
> 
> Regards,
> 
>      - Benjamin
> 
> 
> 
> On Sep 7, 2007, at 2:42 AM, Zdenek@gmail wrote:
> 
> >
> >
> >> -----Original Message-----
> >> From: Derek Rayside [mailto:drayside@csail.mit.edu] On Behalf Of
> >> Derek
> >> Rayside
> > [...]
> >>
> >> I just skimmed over your email, and noticed that you're using AFS
> >> from
> >> multiple computers.  You'll want to use the UNISONLOCALHOSTNAME
> >> variable
> >> on any machines that mount AFS.  That may not be related to the
> issue
> >> you're reporting here, but if you don't use it you'll get other
> >> issues.
> >
> > Yes, I *do* use it. I didn't mention it because I believe
> > it is indeed not related to my problem. And yes, if one doesn't
> > use UNISONLOCALHOSTNAME in these circumstances, one *does*
> > get other problems, I tried :-).
> >
> > ---Zdenek
> >
> >>
> >> On Tue, 4 Sep 2007, Zdenek Sekera wrote:
> >>
> >>> Sorry for the length, I tried to describe in details
> >>> all steps permitting to reproduce reliably the error.
> >>>
> >>> All '.unison' directories are clean, no ar* anywhere.
> >>> -----------------------------------------------------
> >>> 1. on the machine 'pcitdi10'
> >>>
> >>>> unison zs_common $HOME $AFS/w0/common
> >>>       where:
> >>>                -> $HOME=/home/zs
> >>> 		-> $AFS =/afs/cern.ch/user/s/sekera
> >>>  This command issues the following comment:
> >>>  Connected [//pcitdi10.cern.ch//afs/cern.ch/user/s/sekera/w0/
> >>> common -
> >>>
> >>>  //pcitdi10.cern.ch//home/zs]
> >>>  This seems correct, the AFS is indeed mounted on 'pcitdi10' and
> >>> this
> >> PATH
> >>>  just says this is a synchronization of two "folders" on the same
> >> machine.
> >>>  I get the usual warning 'no archives were found for these
> roots...'
> >> because
> >>>  it is the first time.
> >>>  The run correctly found identical files I've put in both roots
> >>> (as a
> >> test)
> >>>  and finished properly.
> >>>  Two ar* files were produced:
> >>>
> >>>> cd .unison  -> on pcitdi10
> >>>> ls -l ar*
> >>> -rw-------  1 zs zs 1030510 Sep  4 15:01
> >> ar34d7b618ce27e1cc31527fcce3940f7d
> >>> -rw-------  1 zs zs 1030542 Sep  4 15:01
> >> ardbd9badeb161b7255ada8929187ec337
> >>>
> >>>  Just out of curiosity: my experience shows that ar* files is never
> >> much
> >>>  bigger than 1Mb, it will be split if it should come bigger. Why?
> >>>
> >>> 2. Now: the AFS file system is also accessible from another machine
> >>>   'lxplus' where it is mounted.The machine can be accessed via
> >>> 'ssh'.
> >>>   This machine is the heart of my *star*
> >>>   arrangement, other machines, that do not have direct access to
> AFS
> >>>   will be synchronized using 'lxplus' machine accessed by 'ssh'.
> >>>
> >>>   So I expected that the following execution will proceed without
> >>>   anything particular (because it should now synchronize identical
> >>>   roots), however, it is not *quite* so:
> >>>
> >>>> unison zs_common $HOME ssh://sekera@lxplus.cern.ch/$AFS/w0/common
> >>>
> >>>  Note roots are identical to the previous test, only the access to
> >>>  ROOT2 is via 'ssh'.
> >>>
> >>>   a. I get the same "no archive files were found for these
> roots..."
> >>>      message. This may (probably is) correct since 'unison' cannot
> >> know
> >>>      that those two roots are in fact identical to the previous
> >>> test.
> >>>   b. However, and it bothers me very much, the following message is
> >>>      displayed by 'unison'
> >>>
> >>>  Connected [//lxplus.cern.ch//afs/cern.ch/user/s/sekera/w0/common -
> >
> >>>  //lxplus.cern.ch//home/zs]
> >>>
> >>>  While the first part is correct (the AFS root is accessed from
> >> lxplus
> >>>  using ssh, the second part seems to me wrong:
> >>>  I would have expected it to be identical to the first test above,
> >>>  that is:  //pcitdi10.cern.ch//home/zs
> >>>  Indeed, when executing unison for this test, the '/home/zs' ROOT
> is
> >>>  on pcitdi10 and *not* on 'lxplus'. There is *no* /home/zs on
> >>> lxplus.
> >>>
> >>>  Nevertheless, unison will find that both roots are identical and
> >>>  do nothing, except generating the appropriate ar* file in my
> >>>  HOME directory on lxplus (which happens to be part of the AFS
> >>>  namely: /afs/cern.ch/user/s/sekera
> >>>
> >>>  New ar* file will also be created on the originating 'pcitdi10':
> >>>
> >>>> ls -lrt
> >>> -rw-------  1 zs zs 1030542 Sep  4 15:01
> >> ardbd9badeb161b7255ada8929187ec337
> >>> -rw-------  1 zs zs 1030510 Sep  4 15:01
> >> ar34d7b618ce27e1cc31527fcce3940f7d
> >>> -rw-------  1 zs zs 1030578 Sep  4 15:22
> >> arcc21948e8f9896b0cc8a8798135ad5f3
> >>>
> >>>  Remember first two are from the previous run.
> >>>  The interesting thing (for me anyway) is that only one ar* was
> >> needed
> >>>  rather than two as before.
> >>>
> >>>  The analysis of those files (which I think is relevent to the
> >> problem
> >>> below)
> >>>  is this:
> >>>
> >>>> strings ardbd9badeb161b7255ada8929187ec337 | head -3
> >>>  Unison archive format 22
> >>>  Archive for root
> >> //pcitdi10.cern.ch//afs/cern.ch/user/s/sekera/w0/common
> >>> synchronizing roots
> >> //pcitdi10.cern.ch//afs/cern.ch/user/s/sekera/w0/common,
> >>> //pcitdi10.cern.ch//home/zs
> >>>  Written at 2007-09-04 at 15:01:30
> >>>
> >>>  strings ar34d7b618ce27e1cc31527fcce3940f7d | head -3
> >>>  Unison archive format 22
> >>>  Archive for root //pcitdi10.cern.ch//home/zs synchronizing roots
> >>> //pcitdi10.cern.ch//afs/cern.ch/user/s/sekera/w0/common,
> >>> //pcitdi10.cern.ch//home/zs
> >>>  Written at 2007-09-04 at 15:01:30
> >>>
> >>>  strings arcc21948e8f9896b0cc8a8798135ad5f3|head -3
> >>>  Unison archive format 22
> >>>  Archive for root //lxplus.cern.ch//home/zs synchronizing roots
> >>> //lxplus.cern.ch//afs/cern.ch/user/s/sekera/w0/common,
> >>> //lxplus.cern.ch//home/zs
> >>>  Written at 2007-09-04 at 15:22:46
> >>>
> >>>  So these ar* files *remember* how the synchronization was made.
> >>> Note
> >> that
> >>>  the ROOT /home/zs has the wrong machine name associated with it,
> >>>  it should be //pcitdi10.cern.ch/ and *not* //lxplus.cern.ch/, this
> >>>  *must* be an error in unison IMHO.
> >>>
> >>> 3. This step will generat the error, consistently repeatable:
> >>>
> >>>   I go now to another machine 'pcitpb12', which has an 'ssh' access
> >>>   to 'lxplus', so I should be able to synchronize the AFS ROOT
> >>>   from lxplus with my ROOT on 'pcitpb12'.
> >>>   More precisely, I execute the following on 'pcitpb12':
> >>>
> >>>> unison zs_common $HOME ssh://sekera@lxplus.cern.ch/$AFS/w0/common
> >>>
> >>>  This is *exactly* the same command as in the 2. case above, the
> >>>  difference being that this time my $HOME ROOT in on 'pcitpb12'
> >>>  (where the unison command is executed). It so happens that
> >>>  $HOME=/home/zs on both 'pcitpb12' and 'pcitdi10' (comparing still
> >>>  case 2 and 3) but it shouldn't be an issue..
> >>>
> >>>  The command displays this:
> >>>
> >>>  Connected [//lxplus.cern.ch//afs/cern.ch/user/s/sekera/w0/common -
> >
> >>>  //lxplus.cern.ch//home/zs]
> >>>
> >>>  Which is identical to the case above except this time the HOME
> ROOT
> >>>  should read //pcitpb12.cern.ch/ and *not* //lxplus.cern.ch/.
> Again,
> >>>  lxplus has no '/home/zs' directory on it.
> >>>
> >>>  And now the final error, unison will display the following
> message:
> >>>
> >>>  ----------------------------------------------------------------
> >>>  Fatal error:
> >>>  Warning: inconsistent state.
> >>>  The archive file is missing on some hosts.
> >>>  For safety, the remaining copies should be deleted.
> >>>   Archive arcc21948e8f9896b0cc8a8798135ad5f3 on host lxplus.cern.ch
> >> is
> >>> MISSING.
> >>>   Archive ar7cf2d2aef5c0de5c94288b65c0694ac0 on host lxplus.cern.ch
> >> should
> >>> be
> >>>   DELETED.
> >>>  Please delete archive files as appropriate and try again.
> >>>  ----------------------------------------------------------------
> >>> A few comments to this message:
> >>>
> >>>  a. Indeed, there is no arcc* file on lxplus.cern.ch.
> >>>     The only ar* file that's there is:
> >> ar7cf2d2aef5c0de5c94288b65c0694ac0
> >>>     it says:
> >>>     strings ar7cf2d2aef5c0de5c94288b65c0694ac0 |head -3
> >>>     Unison archive format 22
> >>>     Archive for root
> >> //lxplus.cern.ch//afs/cern.ch/user/s/sekera/w0/common
> >>>     synchronizing roots
> >>> //lxplus.cern.ch//afs/cern.ch/user/s/sekera/w0/common,
> >>>     //lxplus.cern.ch//home/zs
> >>>     Written at 2007-09-04 at 15:22:46
> >>>
> >>>     Again the HOME root is wrong, so it cannot be determined how
> the
> >> file
> >>>     was generated (which ROOTs were synchronized), though we know
> it
> >> is
> >>>     the result on run 2 above.
> >>>
> >>>  b. The ar7c* is indeed on lxplus as noted above, but it should be
> >> perfectly
> >>>     legitimate (perhaps it would be if the HOME ROOT was correct).
> >>>
> >>>  c. If I indeed proceed as requested in the error message (delete
> >>> the
> >>>     file and restart unison, it will make the "standard" initial
> run
> >>>     ('no archives were found for these roots...') and the unison
> >>> will
> >> run.
> >>>
> >>>     However, next time, when I want to synchronize from another
> >> machine
> >>>     and ROOT is that AFS ROOT, I will get the same error, so I have
> >> to
> >>>     always delete all ar* files to be able to run, so there is in
> >>>     fact no synchronization per say.
> >>>
> >>> For completeness, in my 'zs_common.prf' file I have a statement to
> >> igonre
> >>> .unison/ar* files (as suggested in unison user manual), don't
> >>> know if
> >>> it is relevent to this case.
> >>>
> >>> Has anybody run into such problems? Is it me who is doing something
> >>> wrong or is this a genuaine unison bug (as I tend to believe)?
> >>>
> >>> For developers: I am ready to run any test you may wish, the
> problem
> >>> is perfectly reproducible with steps above, it only takes some
> time.
> >>>
> >>> Best regards,
> >>>
> >>> ---Zdenek
> >>>
> >
> >
> >
> >
> > Yahoo! Groups Links
> >
> >
> >


[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" \
"http://www.w3.org/TR/html4/strict.dtd"> <html>
<head>
</head>




<body style="background-color: #ffffff;">

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="width:655px; position:relative;">
  <div id="ygrp-msg" style="width: 490px; padding: 0 15px 0 0; float:left;  \
z-index:1;"> <!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text">
            <p>Hi, Benjamin,<br>
<br>
happy to hear from you, I haven't gotten much further<br>
since I have sent my original email, though I tried quite<br>
hard. I'll try more using your suggestions and will<br>
come back to you. It will take me a few days due to<br>
some other urgent work. Thanks again!<br>
<br>
---Zdenek<br>
<br>
&gt; -----Original Message-----<br>
&gt; From: Benjamin Pierce [mailto:<a \
href="mailto:bcpierce%40cis.upenn.edu">bcpierce@cis.<wbr>upenn.edu</a>]<br> &gt; \
Sent: 04 October 2007 14:48<br> &gt; To: Zdenek@gmail<br>
&gt; Cc: 'Derek Rayside'; <a \
href="mailto:unison-users%40yahoogroups.com">unison-users@<wbr>yahoogroups.<wbr>com</a><br>
 &gt; Subject: Re: [unison-users] Unison issue Fatal error: inconsistent<br>
&gt; state<br>
&gt; <br>
&gt; Hi,<br>
&gt; <br>
&gt; I've been looking at the query you sent a few weeks ago.  I don't<br>
&gt; have a very clear understanding of what might be going on (I agree<br>
&gt; with Derek that it may have something to do with AFS), but I can<br>
&gt; offer some thoughts:<br>
&gt; <br>
&gt; One of the first things Unison does during its startup phase is to<br>
&gt; &quot;canonize&quot; the names of the roots.  This involves doing something<br>
&gt; with the name of the host (which seems to be OK in your case) and<br>
&gt; with the path to the root on each host (which is where problems seem<br>
&gt; to be arising).  The function that does the latter operation is<br>
&gt; canonizeFspath, in the Fspath module.  Basically, it is attempting to<br>
&gt; &quot;cd&quot; to the given root directory, then do a &quot;getcwd&quot; to find \
out what<br> &gt; it is really called, according to the host on which it lives.<br>
&gt; <br>
&gt; You can get a slightly clearer view of how the roots are being<br>
&gt; canonized just by giving the '-debug all' flag on the command line.<br>
&gt; But if that doesn't clarify things enough, you'll probably want to<br>
&gt; insert some additional tracing statements, to try to track down where<br>
&gt; a wrong value seems to be arising in the control flow.  Look<br>
&gt; elsewhere in fspath.ml for statements like<br>
&gt; <br>
&gt;    debug<br>
&gt;      (fun() -&gt;<br>
&gt;        Util.msg &quot;Os.findWorkingDir(<wbr>%s,%s) = (%s,%s)\n&quot;<br>
&gt;          (toString fspath)<br>
&gt;          (Path.toString path)<br>
&gt;          (myDirname realpath)<br>
&gt;          p);<br>
&gt; <br>
&gt; for a template of how to write things out.<br>
&gt; <br>
&gt; Now, to answer one question from your mail...<br>
&gt; <br>
&gt; &gt;&gt;&gt;  Just out of curiosity: my experience shows that ar* files is \
never<br> &gt; &gt;&gt; much<br>
&gt; &gt;&gt;&gt;  bigger than 1Mb, it will be split if it should come bigger. \
Why?<br> &gt; <br>
&gt; ar files are never &quot;split&quot;.  One archive is created for each root, \
on<br> &gt; the host where that root lives.<br>
&gt; <br>
&gt; Regards,<br>
&gt; <br>
&gt;      - Benjamin<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; On Sep 7, 2007, at 2:42 AM, Zdenek@gmail wrote:<br>
&gt; <br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;&gt; -----Original Message-----<br>
&gt; &gt;&gt; From: Derek Rayside [mailto:<a \
href="mailto:drayside%40csail.mit.edu">drayside@csail.<wbr>mit.edu</a>] On Behalf \
Of<br> &gt; &gt;&gt; Derek<br>
&gt; &gt;&gt; Rayside<br>
&gt; &gt; [...]<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; I just skimmed over your email, and noticed that you're using AFS<br>
&gt; &gt;&gt; from<br>
&gt; &gt;&gt; multiple computers.  You'll want to use the UNISONLOCALHOSTNAME<br>
&gt; &gt;&gt; variable<br>
&gt; &gt;&gt; on any machines that mount AFS.  That may not be related to the<br>
&gt; issue<br>
&gt; &gt;&gt; you're reporting here, but if you don't use it you'll get other<br>
&gt; &gt;&gt; issues.<br>
&gt; &gt;<br>
&gt; &gt; Yes, I *do* use it. I didn't mention it because I believe<br>
&gt; &gt; it is indeed not related to my problem. And yes, if one doesn't<br>
&gt; &gt; use UNISONLOCALHOSTNAME in these circumstances, one *does*<br>
&gt; &gt; get other problems, I tried :-).<br>
&gt; &gt;<br>
&gt; &gt; ---Zdenek<br>
&gt; &gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On Tue, 4 Sep 2007, Zdenek Sekera wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt; Sorry for the length, I tried to describe in details<br>
&gt; &gt;&gt;&gt; all steps permitting to reproduce reliably the error.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; All '.unison' directories are clean, no ar* anywhere.<br>
&gt; &gt;&gt;&gt; ------------<wbr>---------<wbr>---------<wbr>---------<wbr>---------<wbr>-----<br>
 &gt; &gt;&gt;&gt; 1. on the machine 'pcitdi10'<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; unison zs_common $HOME $AFS/w0/common<br>
&gt; &gt;&gt;&gt;       where:<br>
&gt; &gt;&gt;&gt;                -&gt; $HOME=/home/<wbr>zs<br>
&gt; &gt;&gt;&gt; 		-&gt; $AFS =/afs/cern.ch/<wbr>user/s/sekera<br>
&gt; &gt;&gt;&gt;  This command issues the following comment:<br>
&gt; &gt;&gt;&gt;  Connected \
[//pcitdi10.<wbr>cern.ch//<wbr>afs/cern.<wbr>ch/user/s/<wbr>sekera/w0/<br> &gt; \
&gt;&gt;&gt; common -<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  //pcitdi10.cern.<wbr>ch//home/<wbr>zs]<br>
&gt; &gt;&gt;&gt;  This seems correct, the AFS is indeed mounted on 'pcitdi10' \
and<br> &gt; &gt;&gt;&gt; this<br>
&gt; &gt;&gt; PATH<br>
&gt; &gt;&gt;&gt;  just says this is a synchronization of two &quot;folders&quot; on \
the same<br> &gt; &gt;&gt; machine.<br>
&gt; &gt;&gt;&gt;  I get the usual warning 'no archives were found for these<br>
&gt; roots...'<br>
&gt; &gt;&gt; because<br>
&gt; &gt;&gt;&gt;  it is the first time.<br>
&gt; &gt;&gt;&gt;  The run correctly found identical files I've put in both roots<br>
&gt; &gt;&gt;&gt; (as a<br>
&gt; &gt;&gt; test)<br>
&gt; &gt;&gt;&gt;  and finished properly.<br>
&gt; &gt;&gt;&gt;  Two ar* files were produced:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; cd .unison  -&gt; on pcitdi10<br>
&gt; &gt;&gt;&gt;&gt; ls -l ar*<br>
&gt; &gt;&gt;&gt; -rw-------  1 zs zs 1030510 Sep  4 15:01<br>
&gt; &gt;&gt; ar34d7b618ce27e1cc3<wbr>1527fcce3940f7d<br>
&gt; &gt;&gt;&gt; -rw-------  1 zs zs 1030542 Sep  4 15:01<br>
&gt; &gt;&gt; ardbd9badeb161b7255<wbr>ada8929187ec337<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  Just out of curiosity: my experience shows that ar* files is \
never<br> &gt; &gt;&gt; much<br>
&gt; &gt;&gt;&gt;  bigger than 1Mb, it will be split if it should come bigger. \
Why?<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; 2. Now: the AFS file system is also accessible from another \
machine<br> &gt; &gt;&gt;&gt;   'lxplus' where it is mounted.The machine can be \
accessed via<br> &gt; &gt;&gt;&gt; 'ssh'.<br>
&gt; &gt;&gt;&gt;   This machine is the heart of my *star*<br>
&gt; &gt;&gt;&gt;   arrangement, other machines, that do not have direct access \
to<br> &gt; AFS<br>
&gt; &gt;&gt;&gt;   will be synchronized using 'lxplus' machine accessed by \
'ssh'.<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;   So I expected that the following execution will proceed \
without<br> &gt; &gt;&gt;&gt;   anything particular (because it should now \
synchronize identical<br> &gt; &gt;&gt;&gt;   roots), however, it is not *quite* \
so:<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; unison zs_common $HOME <a \
href="ssh://sekera@lxplus.cern.ch/$AFS/w0/common">ssh://sekera@<wbr>lxplus.cern.<wbr>ch/$AFS/w0/<wbr>common</a><br>
 &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  Note roots are identical to the previous test, only the access \
to<br> &gt; &gt;&gt;&gt;  ROOT2 is via 'ssh'.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;   a. I get the same &quot;no archive files were found for these<br>
&gt; roots...&quot;<br>
&gt; &gt;&gt;&gt;      message. This may (probably is) correct since 'unison' \
cannot<br> &gt; &gt;&gt; know<br>
&gt; &gt;&gt;&gt;      that those two roots are in fact identical to the previous<br>
&gt; &gt;&gt;&gt; test.<br>
&gt; &gt;&gt;&gt;   b. However, and it bothers me very much, the following message \
is<br> &gt; &gt;&gt;&gt;      displayed by 'unison'<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  Connected \
[//lxplus.cern.<wbr>ch//afs/cern.<wbr>ch/user/s/<wbr>sekera/w0/<wbr>common -<br> &gt; \
&gt;<br> &gt; &gt;&gt;&gt;  //lxplus.cern.<wbr>ch//home/<wbr>zs]<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  While the first part is correct (the AFS root is accessed from<br>
&gt; &gt;&gt; lxplus<br>
&gt; &gt;&gt;&gt;  using ssh, the second part seems to me wrong:<br>
&gt; &gt;&gt;&gt;  I would have expected it to be identical to the first test \
above,<br> &gt; &gt;&gt;&gt;  that is:  //pcitdi10.cern.<wbr>ch//home/<wbr>zs<br>
&gt; &gt;&gt;&gt;  Indeed, when executing unison for this test, the '/home/zs' \
ROOT<br> &gt; is<br>
&gt; &gt;&gt;&gt;  on pcitdi10 and *not* on 'lxplus'. There is *no* /home/zs on<br>
&gt; &gt;&gt;&gt; lxplus.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  Nevertheless, unison will find that both roots are identical \
and<br> &gt; &gt;&gt;&gt;  do nothing, except generating the appropriate ar* file in \
my<br> &gt; &gt;&gt;&gt;  HOME directory on lxplus (which happens to be part of the \
AFS<br> &gt; &gt;&gt;&gt;  namely: /afs/cern.ch/<wbr>user/s/sekera<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  New ar* file will also be created on the originating \
'pcitdi10':<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; ls -lrt<br>
&gt; &gt;&gt;&gt; -rw-------  1 zs zs 1030542 Sep  4 15:01<br>
&gt; &gt;&gt; ardbd9badeb161b7255<wbr>ada8929187ec337<br>
&gt; &gt;&gt;&gt; -rw-------  1 zs zs 1030510 Sep  4 15:01<br>
&gt; &gt;&gt; ar34d7b618ce27e1cc3<wbr>1527fcce3940f7d<br>
&gt; &gt;&gt;&gt; -rw-------  1 zs zs 1030578 Sep  4 15:22<br>
&gt; &gt;&gt; arcc21948e8f9896b0c<wbr>c8a8798135ad5f3<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  Remember first two are from the previous run.<br>
&gt; &gt;&gt;&gt;  The interesting thing (for me anyway) is that only one ar* was<br>
&gt; &gt;&gt; needed<br>
&gt; &gt;&gt;&gt;  rather than two as before.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  The analysis of those files (which I think is relevent to the<br>
&gt; &gt;&gt; problem<br>
&gt; &gt;&gt;&gt; below)<br>
&gt; &gt;&gt;&gt;  is this:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; strings ardbd9badeb161b7255<wbr>ada8929187ec337 | head -3<br>
&gt; &gt;&gt;&gt;  Unison archive format 22<br>
&gt; &gt;&gt;&gt;  Archive for root<br>
&gt; &gt;&gt; //pcitdi10.cern.<wbr>ch//afs/cern.<wbr>ch/user/s/<wbr>sekera/w0/<wbr>common<br>
 &gt; &gt;&gt;&gt; synchronizing roots<br>
&gt; &gt;&gt; //pcitdi10.cern.<wbr>ch//afs/cern.<wbr>ch/user/s/<wbr>sekera/w0/<wbr>common,<br>
 &gt; &gt;&gt;&gt; //pcitdi10.cern.<wbr>ch//home/<wbr>zs<br>
&gt; &gt;&gt;&gt;  Written at 2007-09-04 at 15:01:30<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  strings ar34d7b618ce27e1cc3<wbr>1527fcce3940f7d | head -3<br>
&gt; &gt;&gt;&gt;  Unison archive format 22<br>
&gt; &gt;&gt;&gt;  Archive for root //pcitdi10.cern.<wbr>ch//home/<wbr>zs \
synchronizing roots<br> &gt; &gt;&gt;&gt; \
//pcitdi10.cern.<wbr>ch//afs/cern.<wbr>ch/user/s/<wbr>sekera/w0/<wbr>common,<br> &gt; \
&gt;&gt;&gt; //pcitdi10.cern.<wbr>ch//home/<wbr>zs<br> &gt; &gt;&gt;&gt;  Written at \
2007-09-04 at 15:01:30<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  strings arcc21948e8f9896b0c<wbr>c8a8798135ad5f3|<wbr>head -3<br>
&gt; &gt;&gt;&gt;  Unison archive format 22<br>
&gt; &gt;&gt;&gt;  Archive for root //lxplus.cern.<wbr>ch//home/<wbr>zs synchronizing \
roots<br> &gt; &gt;&gt;&gt; \
//lxplus.cern.<wbr>ch//afs/cern.<wbr>ch/user/s/<wbr>sekera/w0/<wbr>common,<br> &gt; \
&gt;&gt;&gt; //lxplus.cern.<wbr>ch//home/<wbr>zs<br> &gt; &gt;&gt;&gt;  Written at \
2007-09-04 at 15:22:46<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  So these ar* files *remember* how the synchronization was \
made.<br> &gt; &gt;&gt;&gt; Note<br>
&gt; &gt;&gt; that<br>
&gt; &gt;&gt;&gt;  the ROOT /home/zs has the wrong machine name associated with \
it,<br> &gt; &gt;&gt;&gt;  it should be //pcitdi10.cern.<wbr>ch/ and *not* \
//lxplus.cern.<wbr>ch/, this<br> &gt; &gt;&gt;&gt;  *must* be an error in unison \
IMHO.<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; 3. This step will generat the error, consistently repeatable:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;   I go now to another machine 'pcitpb12', which has an 'ssh' \
access<br> &gt; &gt;&gt;&gt;   to 'lxplus', so I should be able to synchronize the \
AFS ROOT<br> &gt; &gt;&gt;&gt;   from lxplus with my ROOT on 'pcitpb12'.<br>
&gt; &gt;&gt;&gt;   More precisely, I execute the following on 'pcitpb12':<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; unison zs_common $HOME <a \
href="ssh://sekera@lxplus.cern.ch/$AFS/w0/common">ssh://sekera@<wbr>lxplus.cern.<wbr>ch/$AFS/w0/<wbr>common</a><br>
 &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  This is *exactly* the same command as in the 2. case above, \
the<br> &gt; &gt;&gt;&gt;  difference being that this time my $HOME ROOT in on \
'pcitpb12'<br> &gt; &gt;&gt;&gt;  (where the unison command is executed). It so \
happens that<br> &gt; &gt;&gt;&gt;  $HOME=/home/<wbr>zs on both 'pcitpb12' and \
'pcitdi10' (comparing still<br> &gt; &gt;&gt;&gt;  case 2 and 3) but it shouldn't be \
an issue..<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  The command displays this:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  Connected \
[//lxplus.cern.<wbr>ch//afs/cern.<wbr>ch/user/s/<wbr>sekera/w0/<wbr>common -<br> &gt; \
&gt;<br> &gt; &gt;&gt;&gt;  //lxplus.cern.<wbr>ch//home/<wbr>zs]<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  Which is identical to the case above except this time the HOME<br>
&gt; ROOT<br>
&gt; &gt;&gt;&gt;  should read //pcitpb12.cern.<wbr>ch/ and *not* \
//lxplus.cern.<wbr>ch/.<br> &gt; Again,<br>
&gt; &gt;&gt;&gt;  lxplus has no '/home/zs' directory on it.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  And now the final error, unison will display the following<br>
&gt; message:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  ------------<wbr>---------<wbr>---------<wbr>---------<wbr>---------<wbr>---------<wbr>-<br>
 &gt; &gt;&gt;&gt;  Fatal error:<br>
&gt; &gt;&gt;&gt;  Warning: inconsistent state.<br>
&gt; &gt;&gt;&gt;  The archive file is missing on some hosts.<br>
&gt; &gt;&gt;&gt;  For safety, the remaining copies should be deleted.<br>
&gt; &gt;&gt;&gt;   Archive arcc21948e8f9896b0c<wbr>c8a8798135ad5f3 on host \
lxplus.cern.<wbr>ch<br> &gt; &gt;&gt; is<br>
&gt; &gt;&gt;&gt; MISSING.<br>
&gt; &gt;&gt;&gt;   Archive ar7cf2d2aef5c0de5c9<wbr>4288b65c0694ac0 on host \
lxplus.cern.<wbr>ch<br> &gt; &gt;&gt; should<br>
&gt; &gt;&gt;&gt; be<br>
&gt; &gt;&gt;&gt;   DELETED.<br>
&gt; &gt;&gt;&gt;  Please delete archive files as appropriate and try again.<br>
&gt; &gt;&gt;&gt;  ------------<wbr>---------<wbr>---------<wbr>---------<wbr>---------<wbr>---------<wbr>-<br>
 &gt; &gt;&gt;&gt; A few comments to this message:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  a. Indeed, there is no arcc* file on lxplus.cern.<wbr>ch.<br>
&gt; &gt;&gt;&gt;     The only ar* file that's there is:<br>
&gt; &gt;&gt; ar7cf2d2aef5c0de5c9<wbr>4288b65c0694ac0<br>
&gt; &gt;&gt;&gt;     it says:<br>
&gt; &gt;&gt;&gt;     strings ar7cf2d2aef5c0de5c9<wbr>4288b65c0694ac0 |head -3<br>
&gt; &gt;&gt;&gt;     Unison archive format 22<br>
&gt; &gt;&gt;&gt;     Archive for root<br>
&gt; &gt;&gt; //lxplus.cern.<wbr>ch//afs/cern.<wbr>ch/user/s/<wbr>sekera/w0/<wbr>common<br>
 &gt; &gt;&gt;&gt;     synchronizing roots<br>
&gt; &gt;&gt;&gt; //lxplus.cern.<wbr>ch//afs/cern.<wbr>ch/user/s/<wbr>sekera/w0/<wbr>common,<br>
 &gt; &gt;&gt;&gt;     //lxplus.cern.<wbr>ch//home/<wbr>zs<br>
&gt; &gt;&gt;&gt;     Written at 2007-09-04 at 15:22:46<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;     Again the HOME root is wrong, so it cannot be determined \
how<br> &gt; the<br>
&gt; &gt;&gt; file<br>
&gt; &gt;&gt;&gt;     was generated (which ROOTs were synchronized)<wbr>, though we \
know<br> &gt; it<br>
&gt; &gt;&gt; is<br>
&gt; &gt;&gt;&gt;     the result on run 2 above.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  b. The ar7c* is indeed on lxplus as noted above, but it should \
be<br> &gt; &gt;&gt; perfectly<br>
&gt; &gt;&gt;&gt;     legitimate (perhaps it would be if the HOME ROOT was \
correct).<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;  c. If I indeed proceed as requested in the error message \
(delete<br> &gt; &gt;&gt;&gt; the<br>
&gt; &gt;&gt;&gt;     file and restart unison, it will make the &quot;standard&quot; \
initial<br> &gt; run<br>
&gt; &gt;&gt;&gt;     ('no archives were found for these roots...') and the \
unison<br> &gt; &gt;&gt;&gt; will<br>
&gt; &gt;&gt; run.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;     However, next time, when I want to synchronize from another<br>
&gt; &gt;&gt; machine<br>
&gt; &gt;&gt;&gt;     and ROOT is that AFS ROOT, I will get the same error, so I \
have<br> &gt; &gt;&gt; to<br>
&gt; &gt;&gt;&gt;     always delete all ar* files to be able to run, so there is \
in<br> &gt; &gt;&gt;&gt;     fact no synchronization per say.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; For completeness, in my 'zs_common.prf' file I have a statement \
to<br> &gt; &gt;&gt; igonre<br>
&gt; &gt;&gt;&gt; .unison/ar* files (as suggested in unison user manual), don't<br>
&gt; &gt;&gt;&gt; know if<br>
&gt; &gt;&gt;&gt; it is relevent to this case.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Has anybody run into such problems? Is it me who is doing \
something<br> &gt; &gt;&gt;&gt; wrong or is this a genuaine unison bug (as I tend to \
believe)?<br> &gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; For developers: I am ready to run any test you may wish, the<br>
&gt; problem<br>
&gt; &gt;&gt;&gt; is perfectly reproducible with steps above, it only takes some<br>
&gt; time.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Best regards,<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; ---Zdenek<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Yahoo! Groups Links<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
<br>
</p>
    </div>  

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <span width="1" style="color: white;">__._,_.___</span>
    <!-- Start the section with Message In topic -->
    <div id="ygrp-actbar">
              <span class="left">
          <a href="http://groups.yahoo.com/group/unison-users/message/6539;_ylc=X3oDMT \
MzYmczMmIwBF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEbXNnSWQDNjYzOARzZWMDZnRyBHNsawN2dHBjBHN0aW1lAzExOTE1MDQzOTEEdHBjSWQDNjUzOQ--">
                
            Messages in this topic          </a> (<span class="bld">0</span>)
        </span>
        <a href="http://groups.yahoo.com/group/unison-users/post;_ylc=X3oDMTJvbmJnajBt \
BF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEbXNnSWQDNjYzOARzZWMDZnRyBHNsawNycGx5BHN0aW1lAzExOTE1MDQzOTE-?act=reply&messageNum=6638">
  <span class="bld">
            Reply          </span> (via web post)
        </a>  | 
        <a href="http://groups.yahoo.com/group/unison-users/post;_ylc=X3oDMTJkODdqanRt \
BF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA2Z0cgRzbGsDbnRwYwRzdGltZQMxMTkxNTA0Mzkx" \
class="bld">  Start a new topic        </a>
          </div> 
    <!-------     Start Nav Bar  ------>
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-vitnav">
                <a href="http://groups.yahoo.com/group/unison-users/messages;_ylc=X3oD \
MTJkN2xtbGg0BF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA2Z0cgRzbGsDbXNncwRzdGltZQMxMTkxNTA0Mzkx">Messages</a> \
  
        
        
            |    <a href="http://groups.yahoo.com/group/unison-users/database;_ylc=X3o \
DMTJiOXRjMWdvBF9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA2Z0cgRzbGsDZGIEc3RpbWUDMTE5MTUwNDM5MQ--">Database</a> \
  
        
        
    </div>  
    <!-- |**|end egp html banner|**| -->

                <div id="ygrp-grft">
              </div>
    
    <!-- yahoo logo -->
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-ft">
      <a href="http://groups.yahoo.com/;_ylc=X3oDMTJjaHFybGs2BF9TAzk3MzU5NzE0BGdycElkA \
                zQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA2Z0cgRzbGsDZ2ZwBHN0aW1lAzExOTE1MDQzOTE-">
                
      <img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" \
height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br>  <a \
href="http://groups.yahoo.com/group/unison-users/join;_ylc=X3oDMTJlaGlhcWczBF9TAzk3MzU \
5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA2Z0cgRzbGsDc3RuZ3MEc3RpbWUDMTE5MTUwNDM5MQ--">Change \
settings via the Web</a> (Yahoo! ID required) <br>  Change settings via email: <a \
href="mailto:unison-users-digest@yahoogroups.com?subject=Email Delivery: \
Digest">Switch delivery to Daily Digest</a> | <a href = \
"mailto:unison-users-traditional@yahoogroups.com?subject=Change Delivery Format: \
Traditional">Switch format to Traditional</a> <br>

      <a href="http://groups.yahoo.com/group/unison-users;_ylc=X3oDMTJjYnY1dHFvBF9TAzk \
3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA2Z0cgRzbGsDaHBmBHN0aW1lAzExOTE1MDQzOTE-">
  Visit Your Group 
      </a> |
      <a href="http://docs.yahoo.com/info/terms/">
        Yahoo! Groups Terms of Use      </a> |
      <a href="mailto:unison-users-unsubscribe@yahoogroups.com?subject=">
        Unsubscribe      </a> 
    </div>     <!-- |**|end egp html banner|**| -->
  </div> <!-- ygrp-msg -->

  
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:140px;float: left; clear: none; margin-left: \
5px; background:white; margin-bottom:25px ;position:absolute; top:0; right: 0;">  \
<!-- Network content -->  
    <!-- Start vitality -->
    <div id="ygrp-vital">
              <div id="vithd">Recent Activity</div>
        <ul style="list-style-type:none; padding: 0; margin: 2px 0;">
                <li style="clear: both;">
      <div class="ct" style="float: right;"><span \
style="display:none">&nbsp;</span>7</div>  <div class="cat"><a \
href="http://groups.yahoo.com/group/unison-users/members;_ylc=X3oDMTJlYmVlZTlrBF9TAzk3 \
MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA3Z0bARzbGsDdm1icnMEc3RpbWUDMTE5MTUwNDM5MQ--">New \
Members</a></div>  </li>
  
            
            
            
            
            
        </ul>
            <a href="http://groups.yahoo.com/group/unison-users;_ylc=X3oDMTJkNDlxcnNoB \
F9TAzk3MzU5NzE0BGdycElkAzQ3OTc2NwRncnBzcElkAzE3MDUwMDQ3MjYEc2VjA3Z0bARzbGsDdmdocARzdGltZQMxMTkxNTA0Mzkx">
  Visit Your Group      </a>
    </div> 
              
    <!-- Network content -->
              <div id="nc">
              <div class="ad">
                      <div id="hd1">Yahoo! Finance</div> 
<p><a href="http://us.ard.yahoo.com/SIG=12j64tsct/M=493064.10729649.11333340.8674578/D \
=groups/S=1705004726:NC/Y=YAHOO/EXP=1191511591/A=4507179/R=0/SIG=12de4rskk/*http://us.rd.yahoo.com/evt=50284/*http://finance.yahoo.com/personal-finance">It's \
Now Personal</a></p>  <p>Guides, news,</p> 
<p>advice & more.</p>                   </div>
                    <div class="ad">
                      <div id="hd1">Search Ads</div> 
<p><a href="http://us.ard.yahoo.com/SIG=12jijcbj3/M=493064.10729656.11333347.8674578/D \
=groups/S=1705004726:NC/Y=YAHOO/EXP=1191511591/A=3848641/R=0/SIG=1312g85fq/*http://sea \
rchmarketing.yahoo.com/arp/srchv2.php?o=US2003&cmp=Yahoo&ctv=Groups2&s=Y&s2=&s3=&b=50">Get \
new customers.</a></p>  <p>List your web site</p> 
<p>in Yahoo! Search.</p>                  </div>
                    <div class="ad">
                      <div id="hd1">Yahoo! Groups</div> 
<p><a href="http://us.ard.yahoo.com/SIG=12j3joq10/M=493064.11135488.11710474.8674578/D \
=groups/S=1705004726:NC/Y=YAHOO/EXP=1191511591/A=4776364/R=0/SIG=11mj2s6kj/*http://advision.webevents.yahoo.com/green/index.html">Going \
Green</a></p>  <p>Share your passion</p> 
<p>for the planet.</p>                  </div>
          </div>
    
  </div>   <!-- |**|end egp html banner|**| -->
  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>   <img src="http://geo.yahoo.com/serv?s=97359714/grpId=479767/grpspId=1705004726/msgId=6638/stime=1191504391/nc1=4507179/nc2=3848641/nc3=4776364" \
width="1" height="1"> <br>

<span  style="color: white;">__,_._,___</span>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</body>
<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
<style type="text/css">
<!--
#ygrp-mkp{
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 14px 0px;
  padding: 0px 14px;
}
#ygrp-mkp hr{
  border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd{
  color: #628c2a;
  font-size: 85%;
  font-weight: bold;
  line-height: 122%;
  margin: 10px 0px;
}
#ygrp-mkp #ads{
  margin-bottom: 10px;
}
#ygrp-mkp .ad{
  padding: 0 0;
}
#ygrp-mkp .ad a{
  color: #0000ff;
  text-decoration: none;
}
-->
</style>
</head>
<head>
<style type="text/css">
<!--
#ygrp-sponsor #ygrp-lc{
  font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd{
  margin: 10px 0px;
  font-weight: bold;
  font-size: 78%;
  line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad{
  margin-bottom: 10px;
  padding: 0 0;
}
-->
</style>
</head>
<head>
<style type="text/css">
<!--
#ygrp-mlmsg {font-size:13px; font-family: \
arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;} #ygrp-mlmsg table \
{font-size:inherit;font:100%;} #ygrp-mlmsg select, input, textarea {font:99% \
arial,helvetica,clean,sans-serif;} #ygrp-mlmsg pre, code {font:115% \
monospace;*font-size:100%;} #ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
    font-family: Georgia;	
}
#ygrp-text p{
    margin: 0 0 1em 0;
}
#ygrp-tpmsgs{
    font-family: Arial;	
    clear: both;
}
#ygrp-vitnav{
	padding-top: 10px;
	font-family: Verdana;
	font-size: 77%;
	margin: 0;
}
#ygrp-vitnav a{
	padding: 0 1px;
}
#ygrp-actbar{
	clear: both;
	margin: 25px 0;
	white-space:nowrap;
	color: #666;
	text-align: right;
}
#ygrp-actbar .left{
	float: left;
	white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
	font-family: Verdana;
	font-size: 77%;
	padding: 15px 0;
}
#ygrp-ft{
  font-family: verdana;
  font-size: 77%;
  border-top: 1px solid #666; 
  padding: 5px 0; 
}
#ygrp-mlmsg #logo{
  padding-bottom: 10px;
}

#ygrp-vital{
	background-color: #e0ecee;
	margin-bottom: 20px;
	padding: 2px 0 8px 8px;
}
#ygrp-vital #vithd{
	font-size: 77%;
	font-family: Verdana;
	font-weight: bold;
	color: #333;
	text-transform: uppercase;
}
#ygrp-vital ul{
	padding: 0;
	margin: 2px 0;
}
#ygrp-vital ul li{
  list-style-type: none;
  clear: both;
  border: 1px solid #e0ecee;  
}
#ygrp-vital ul li .ct{
  font-weight: bold;
  color: #ff7900;
  float: right;
  width: 2em;
  text-align:right;
  padding-right: .5em;
}
#ygrp-vital ul li .cat{
  font-weight: bold;
}
#ygrp-vital a{
	text-decoration: none;
}

#ygrp-vital a:hover{
  text-decoration: underline;
}

#ygrp-sponsor #hd{
	color: #999;
	font-size: 77%;
}
#ygrp-sponsor #ov{
	padding: 6px 13px;
	background-color: #e0ecee;
	margin-bottom: 20px;
}
#ygrp-sponsor #ov ul{
	padding: 0 0 0 8px;
	margin: 0;
}
#ygrp-sponsor #ov li{
	list-style-type: square;
	padding: 6px 0;
	font-size: 77%;
}
#ygrp-sponsor #ov li a{
	text-decoration: none;
	font-size: 130%;
}
#ygrp-sponsor #nc{
  background-color: #eee;
  margin-bottom: 20px;
  padding: 0 8px;
}
#ygrp-sponsor .ad{
	padding: 8px 0;
}
#ygrp-sponsor .ad #hd1{
	font-family: Arial;
	font-weight: bold;
	color: #628c2a;
	font-size: 100%;
	line-height: 122%;
}
#ygrp-sponsor .ad a{
	text-decoration: none;
}
#ygrp-sponsor .ad a:hover{
	text-decoration: underline;
}
#ygrp-sponsor .ad p{
	margin: 0;
}
o{font-size: 0; }
.MsoNormal{
   margin: 0 0 0 0;
}
#ygrp-text tt{
  font-size: 120%;
}
blockquote{margin: 0 0 0 4px;}
.replbq{margin:4}
-->
</style>
</head>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</html><!--End group email -->



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic