|
2012-09-29 03:21 AEST by Glen Starrett - Created an attachment (id=2552)
Trace 9 of autocvsflt not working
Trace of the --autocvsflt not working attached. I didn't find any messages in
event log at all, not even when I did the "setci -l", so I suspect the
debugging has stopped logging requests. I'll restart to see if I can get this
non-working trace while I get debugging, or if this another symptom of this
problem.
>>>>
C:\test>setci -l
\Device\HarddiskVolume1\test\CS1
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
C:\test>dir
Volume in drive C has no label.
Volume Serial Number is 14EC-08E8
Directory of C:\test
09/27/2012 04:14 PM <DIR> .
09/27/2012 04:14 PM <DIR> ..
09/27/2012 03:42 PM <DIR> CS1
09/27/2012 03:11 PM <DIR> CSlintest1
09/27/2012 04:12 PM <DIR> l2
09/27/2012 04:14 PM <DIR> l3
0 File(s) 0 bytes
6 Dir(s) 3,670,040,576 bytes free
C:\test>rd /q/s l2 l3
C:\test>cvs -ttttttttt --autocvsflt -d :sspi:localhost:/myrepo co -d l1
lintest1
> co9.txt 2>&1
C:\test>setci -l
\Device\HarddiskVolume1\test\CS1
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
<<<<
|
|
2012-09-29 07:10 AEST by Glen Starrett - There seems to be some point where the cvsflt driver stops accepting directories
from --autocvsflt and won't post more debug events to the event log. I've been
trying to identify a good reproduction case but haven't been able to get one
that's repeatable.
I'm including my raw notes below in hopes that it is helpful -- I'll document
better steps to repro if I get them.
Trying to get some traces on --autocvsflt for Arthur, but seeing some odd
behavior. I might have a repro case for the --autocvsflt stopping from working.
It could be either:
1) Second autocvsflt down the same "area". E.g. in c:\test, then co with auto
flt to l2. Later do it again with l3 >> does it register the second one??
2) Second auto flt on the system
3) Anytime after system sleeps? I think I started it, left it to sleep, then
got in. Still all fresh, but no workie.
4) Something else completely
Need to watch event view closely because it seems that the events stop getting
added at the same time auto flt stops working. Not sure which happens first,
but can check since debugging is on and every setci -l will produce messages, so
should the registration calls.
• Restart VM. See event view looks good with entries from cvsflt:
○ load driver CvsFlt OK.
○ get directory \DosDevices\C:\REPOS\myrepo OK.
○ add directory \Device\HarddiskVolume1\REPOS\myrepo OK.
○ cvsflt is running OK.
○ get directory \DosDevices\C:\REPOS\TEMP OK.
○ add directory \Device\HarddiskVolume1\REPOS\TEMP OK. (1:54:29 PM)
C:\Documents and Settings\Administrator>setci -l
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
○ list directory \Device\HarddiskVolume1\REPOS\TEMP OK.
○ list directory \Device\HarddiskVolume1\REPOS\myrepo OK.
○ list directory OK.
• Repeat the setci command and get the same set of events again. So far so good.
• Pause (suspend) VM. Resume VM.
• Check event view -- no new events 9/28/2012 2:01 PM
• Run setci -l, Get new events. Again, so far so good.
• Set VM to Standby - Start, Turn Off Computer, Stand By
• Resume VM.
• Still working (setci -l produces event view entries).
• Clean up test directory.
C:\test>dir
Volume in drive C has no label.
Volume Serial Number is 14EC-08E8
Directory of C:\test
09/28/2012 02:04 PM <DIR> .
09/28/2012 02:04 PM <DIR> ..
09/27/2012 03:42 PM <DIR> CS1
09/27/2012 03:11 PM <DIR> CSlintest1
0 File(s) 0 bytes
4 Dir(s) 3,659,456,512 bytes free
• Co with auto flt & trace it. Get LOTS of entries in event viewer (31).
C:\test>cvs --autocvsflt -ttttttttt -d :sspi:localhost:/myrepo co -d l1 lintest1
> co-l1.txt 2>&1
○ get directory \DosDevices\C:\test\l1 OK.
○ get directory \DosDevices\C:\test\l1 OK.
○ add directory \Device\HarddiskVolume1\test\l1 OK.
○ get directory \DosDevices\C:\test\l1\net OK.
○ get directory \DosDevices\C:\test\l1 OK.
○ get directory \DosDevices\C:\test\l1\net OK.
○ add directory \Device\HarddiskVolume1\test\l1\net OK.
○ get directory \DosDevices\C:\test\l1\net\netfilter OK.
○ get directory \DosDevices\C:\test\l1 OK.
○ get directory \DosDevices\C:\test\l1\net OK.
○ get directory \DosDevices\C:\test\l1\net\netfilter OK.
○ add directory \Device\HarddiskVolume1\test\l1\net\netfilter OK.
○ get directory \DosDevices\C:\test\l1\net\netfilter\ipset OK.
○ get directory \DosDevices\C:\test\l1 OK.
○ get directory \DosDevices\C:\test\l1\net OK.
○ get directory \DosDevices\C:\test\l1\net\netfilter OK.
○ get directory \DosDevices\C:\test\l1\net\netfilter\ipvs OK.
○ get directory \Device\LanmanRedirector1 OK.
○ get directory \Device\LanmanRedirector1 OK.
○ get directory \Device\LanmanRedirector1\net OK.
○ get directory \Device\LanmanRedirector1 OK.
○ get directory \Device\LanmanRedirector1\net OK.
○ get directory \Device\LanmanRedirector1\net\netfilter OK.
○ get directory \Device\LanmanRedirector1 OK.
○ get directory \Device\LanmanRedirector1\net OK.
○ get directory \Device\LanmanRedirector1\net\netfilter OK.
○ get directory \Device\LanmanRedirector1\net\netfilter\ipset OK.
○ get directory \Device\LanmanRedirector1 OK.
○ get directory \Device\LanmanRedirector1\net OK.
○ get directory \Device\LanmanRedirector1\net\netfilter OK.
○ get directory \Device\LanmanRedirector1\net\netfilter\ipvs OK.
• Looks good still. I still get entries in event viewer for each call to setci -l
C:\test\l1>tree /a
Folder PATH listing
Volume serial number is 14EC-08E8
C:.
\---net
\---netfilter
+---ipset
\---ipvs
C:\test\l1>setci -l
\Device\HarddiskVolume1\test\l1\net\netfilter
\Device\HarddiskVolume1\test\l1\net
\Device\HarddiskVolume1\test\l1
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
○ list directory \Device\HarddiskVolume1\test\l1\net\netfilter OK.
○ list directory \Device\HarddiskVolume1\test\l1\net OK.
○ list directory \Device\HarddiskVolume1\test\l1 OK.
○ list directory \Device\HarddiskVolume1\REPOS\TEMP OK.
○ list directory \Device\HarddiskVolume1\REPOS\myrepo OK.
○ list directory OK.
• It's still not getting the full list of all files that have namespace
collisions at the sandbox root level.
C:\test\l1>dir
Volume in drive C has no label.
Volume Serial Number is 14EC-08E8
Directory of C:\test\l1
09/28/2012 02:06 PM <DIR> .
09/28/2012 02:06 PM <DIR> ..
09/27/2012 04:02 PM 31 BYE.txt
09/27/2012 02:18 PM 20 ChangeCASE.txt
09/27/2012 02:18 PM 3 HI.txt
09/28/2012 02:06 PM <DIR> net
3 File(s) 54 bytes
3 Dir(s) 3,652,976,640 bytes free
C:\test\l1>cvs ls lintest1
Listing module: lintest1
BYE.txt
Bye.txt
ChangeCASE.txt
HI.txt
Hi.txt
bYE.txt
hi.txt
net
• However, it's getting all deeper in the tree.
C:\test\l1\net\netfilter>dir xt_*
Volume in drive C has no label.
Volume Serial Number is 14EC-08E8
Directory of C:\test\l1\net\netfilter
09/27/2012 02:18 PM 6,746 xt_addrtype.c
09/27/2012 02:18 PM 5,410 xt_AUDIT.c
09/27/2012 02:18 PM 1,866 xt_CHECKSUM.c
09/27/2012 02:18 PM 2,085 xt_CLASSIFY.c
09/27/2012 02:18 PM 5,258 xt_cluster.c
09/27/2012 02:18 PM 1,098 xt_comment.c
09/27/2012 02:18 PM 4,664 xt_connbytes.c
09/27/2012 02:18 PM 8,540 xt_connlimit.c
09/27/2012 02:18 PM 4,699 xt_connmark.c
09/27/2012 02:18 PM 3,809 xt_CONNSECMARK.c
09/27/2012 02:18 PM 10,164 xt_conntrack.c
09/27/2012 02:18 PM 1,647 xt_cpu.c
09/27/2012 02:18 PM 9,672 xt_CT.c
09/27/2012 02:18 PM 4,738 xt_dccp.c
09/27/2012 02:18 PM 2,360 xt_devgroup.c
09/27/2012 02:18 PM 4,214 xt_DSCP.c
09/27/2012 02:18 PM 3,005 xt_dscp.c
… etc …
• NOW the setci -l has STOPPED working. Maybe because I CD'd into the
directory or ran another CVS command?? The machine certainly hasn't gone to sleep.
• OK, test with a simple CS test:
cvsflt driver stops logging & responding to autocvsflt:
* Check out a folder, e.g. cvs --autocvsflt -d ... co check
* Change into that directory and do a LS command that queries CS file names but
do NOT use --cvsflt
>> events stop getting logged.
NOTE: Reviewing this case I may be able to simplify this further.
>>>>>
C:\test>dir
Volume in drive C has no label.
Volume Serial Number is 14EC-08E8
Directory of C:\test
09/28/2012 02:06 PM <DIR> .
09/28/2012 02:06 PM <DIR> ..
09/28/2012 02:06 PM 4,019,353 co-l1.txt
09/27/2012 03:42 PM <DIR> CS1
09/27/2012 03:11 PM <DIR> CSlintest1
09/28/2012 02:06 PM <DIR> l1
1 File(s) 4,019,353 bytes
5 Dir(s) 3,652,943,872 bytes free
C:\test>rd /q/s l1
C:\test>del co-l1.txt
C:\test>setci -l
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
C:\test>cvs --autocvsflt -d :sspi:localhost:/myrepo co check
cvsntsrv server: Updating check
U check/CamelCase.txt
U check/UPPERCASE.txt
U check/funnyEXT.TxT
U check/lowercase.txt
C:\test>setci -l
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
C:\test>cd check
C:\test\check>cvs --cvsflt ls
Listing modules on server
CVSROOT
check
lintest1
C:\test\check>setci -l
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
C:\test\check>cvs ls
Listing modules on server
CVSROOT
check
lintest1
C:\test\check>setci -l
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
C:\test\check>cvs --cvsflt ls check
Listing module: check
CamelCase.txt
UPPERCASE.txt
funnyEXT.TxT
lowercase.txt
C:\test\check>setci -l
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
C:\test\check>cvs ls check
Listing module: check
CamelCase.txt
UPPERCASE.txt
funnyEXT.TxT
lowercase.txt
C:\test\check>setci -l
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
C:\test\check>cvs --cvsflt ls lintest1
Listing module: lintest1
BYE.txt
Bye.txt
ChangeCASE.txt
HI.txt
Hi.txt
bYE.txt
hi.txt
net
C:\test\check>setci -l
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
C:\test\check>cvs ls lintest1
Listing module: lintest1
BYE.txt
Bye.txt
ChangeCASE.txt
HI.txt
Hi.txt
bYE.txt
hi.txt
net
C:\test\check>setci -l
\Device\HarddiskVolume1\REPOS\TEMP
\Device\HarddiskVolume1\REPOS\myrepo
<<<<<
OK, I tried doing this but it didn't repro:
Setci -l
Cvs -d … ls lintest1
Setci -l
So not THAT simple. Maybe it needs a sandbox?
Checkout check (NOT case sensitive or any cvsflt)
Ls lintest1
Setci -l >> STILL works.
Now try a simple CS test
CO lintest1/net/netfilter WITH --autocvsflt
Ls lintest1
Ls lintest1/net/netfilter
>> Still works.
Restart to freshen it up again. Try this:
CO --autocvsflt check
Setci -l (only repo is CS since there was not need CS with check)
Cd check; ls lintest1; setci -l
>> Still works ???!!!
Seems I can't repeat like I did above. Try the deeper test, with lintest1
checkout and additional listing.
So now I did a checkout of lintest1 with --autocvsflt and it stops working
right away, no l1 in the list, no event viewer entries either. GO FIGURE.
|