bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

protocol bug seeks inspection :-).


From: K. Richard Pixley
Subject: protocol bug seeks inspection :-).
Date: Thu, 26 Jun 2003 11:32:51 -0700 (PDT)

Hey all.

I'm trying to chase down a bug that shows up in both 1.11.6 as well as
1.12.1 (and several other versions I happen to have lying about).  The
bug is consistent and highly reproducible.  It shows on at least
redhat-8.0 and freebsd-4.7.  It does NOT show when using a local
repository but it does show with :fork:.

As it's difficult to understand the cvs protocol without a LOT of
background context, I'm hoping someone will notice an obvious flaw by
inspection.  I've been around all three instances of cvs for a day now
and I still don't even know which one is misbehaving.

Anyone see anything obviously wrong?  Any suggestions on what to look
for or where?

A quick overview of the symptom and working directory follows.  Please
note: running "./cvs-1.12.1 co -P nomdocs/Makefile" will successfully
check out the file.

--rich

rpixley@freebsd.releng.nominum.com> CVS_CLIENT_LOG=cvsbroke ./cvs-1.12.1 -t co 
-P nomdocs/Makefile nomdocs/dcs/Makefile
  -> parse_cvsroot ( :fork:/net/storage/storage0/proj/nominum/cvs )
  -> main loop with CVSROOT=:fork:/net/storage/storage0/proj/nominum/cvs
  -> safe_location ( where=(null) )
 -> Forking server: ./cvs-1.12.1 server
S-> do_module (nomdocs/Makefile, Updating, , )
S-> do_module (nomdocs/dcs/Makefile, Updating, , )
S -> safe_location ( where=(null) )
S-> do_module (nomdocs/Makefile, Updating, , )
cvs-1.12.1 server: existing repository 
/net/storage/storage0/proj/nominum/cvs/CVSROOT/Emptydir does not match 
/net/storage/storage0/proj/nominum/cvs/nomdocs
cvs-1.12.1 server: ignoring module nomdocs/Makefile
S-> do_module (nomdocs/dcs/Makefile, Updating, , )
S -> fopen(/net/storage/storage0/proj/nominum/cvs/CVSROOT/history,a)
S -> Reader_Lock(/net/storage/storage0/proj/nominum/cvs/nomdocs/dcs)
S -> Lock_Cleanup()
  -> Lock_Cleanup()
  -> Lock_Cleanup()
rpixley@freebsd.releng.nominum.com> ls -lasR cvsbroke* nomdocs
2 -rw-rw-r--  1 rpixley  rpixley   813 Jun 26 11:12 cvsbroke.in
2 -rw-rw-r--  1 rpixley  rpixley  1241 Jun 26 11:12 cvsbroke.out

nomdocs:
total 8
2 drwxrwxr-x   4 rpixley  rpixley   512 Jun 26 11:11 .
2 drwxrwxr-x  16 rpixley  rpixley  1024 Jun 26 11:12 ..
2 drwxrwxr-x   2 rpixley  rpixley   512 Jun 26 11:11 CVS
2 drwxrwxr-x   3 rpixley  rpixley   512 Jun 26 11:10 dcs

nomdocs/CVS:
total 10
2 drwxrwxr-x  2 rpixley  rpixley  512 Jun 26 11:11 .
2 drwxrwxr-x  4 rpixley  rpixley  512 Jun 26 11:11 ..
0 -rw-rw-r--  1 rpixley  rpixley    0 Jun 26 11:11 Entries
2 -rw-rw-r--  1 rpixley  rpixley   12 Jun 25 10:54 Entries.Log
0 -rw-rw-r--  1 rpixley  rpixley    0 Jun 25 10:50 Entries.Static
2 -rw-rw-r--  1 rpixley  rpixley    8 Jun 25 10:36 Repository
2 -rw-rw-r--  1 rpixley  rpixley   45 Jun 25 10:36 Root

nomdocs/dcs:
total 8
2 drwxrwxr-x  3 rpixley  rpixley  512 Jun 26 11:10 .
2 drwxrwxr-x  4 rpixley  rpixley  512 Jun 26 11:11 ..
2 drwxrwxr-x  2 rpixley  rpixley  512 Jun 26 11:10 CVS
2 -rw-rw-r--  1 rpixley  rpixley  535 May 29 01:32 Makefile

nomdocs/dcs/CVS:
total 10
2 drwxrwxr-x  2 rpixley  rpixley  512 Jun 26 11:10 .
2 drwxrwxr-x  3 rpixley  rpixley  512 Jun 26 11:10 ..
2 -rw-rw-r--  1 rpixley  rpixley   41 Jun 26 11:10 Entries
0 -rw-rw-r--  1 rpixley  rpixley    0 Jun 25 10:54 Entries.Static
2 -rw-rw-r--  1 rpixley  rpixley   12 Jun 25 10:54 Repository
2 -rw-rw-r--  1 rpixley  rpixley   45 Jun 25 10:54 Root
rpixley@freebsd.releng.nominum.com> shar cvsbroke* nomdocs/CVS/* 
nomdocs/dcs/CVS/*
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#       cvsbroke.in
#       cvsbroke.out
#       nomdocs/CVS/Entries
#       nomdocs/CVS/Entries.Log
#       nomdocs/CVS/Entries.Static
#       nomdocs/CVS/Repository
#       nomdocs/CVS/Root
#       nomdocs/dcs/CVS/Entries
#       nomdocs/dcs/CVS/Entries.Static
#       nomdocs/dcs/CVS/Repository
#       nomdocs/dcs/CVS/Root
#
echo x - cvsbroke.in
sed 's/^X//' >cvsbroke.in << 'END-of-cvsbroke.in'
XRoot /net/storage/storage0/proj/nominum/cvs
XValid-responses ok error Valid-requests Checked-in New-entry Checksum 
Copy-file Updated Created Update-existing Merged Patched Rcs-diff Mode Mod-time 
Removed Remove-entry Set-static-directory Clear-static-directory Set-sticky 
Clear-sticky Template Clear-template Notified Module-expansion 
Wrapper-rcsOption M Mbinary E F MT
Xvalid-requests
XUseUnchanged
XGlobal_option -t
XArgument nomdocs/Makefile
XArgument nomdocs/dcs/Makefile
XDirectory .
X/net/storage/storage0/proj/nominum/cvs
Xexpand-modules
XArgument -N
XArgument -P
XArgument --
XArgument nomdocs/Makefile
XArgument nomdocs/dcs/Makefile
XDirectory nomdocs/dcs
X/net/storage/storage0/proj/nominum/cvs/nomdocs/dcs
XStatic-directory
XEntry /Makefile/1.9///
XUnchanged Makefile
XDirectory .
X/net/storage/storage0/proj/nominum/cvs
Xco
END-of-cvsbroke.in
echo x - cvsbroke.out
sed 's/^X//' >cvsbroke.out << 'END-of-cvsbroke.out'
XValid-requests Root Valid-responses valid-requests Repository Directory 
Max-dotdot Static-directory Sticky Entry Kopt Checkin-time Modified Is-modified 
UseUnchanged Unchanged Notify Questionable Case Argument Argumentx 
Global_option Gzip-stream wrapper-sendme-rcsOptions Set Gssapi-authenticate 
expand-modules ci co update diff log rlog add remove update-patches 
gzip-file-contents status rdiff tag rtag import admin export history release 
watch-on watch-off watch-add watch-remove watchers editors init annotate 
rannotate noop version
Xok
XE S-> do_module (nomdocs/Makefile, Updating, , )
XModule-expansion nomdocs/Makefile
XE S-> do_module (nomdocs/dcs/Makefile, Updating, , )
XModule-expansion nomdocs/dcs/Makefile
Xok
XE S -> safe_location ( where=(null) )
XE S-> do_module (nomdocs/Makefile, Updating, , )
XE cvs-1.12.1 server: existing repository 
/net/storage/storage0/proj/nominum/cvs/CVSROOT/Emptydir does not match 
/net/storage/storage0/proj/nominum/cvs/nomdocs
XE cvs-1.12.1 server: ignoring module nomdocs/Makefile
XE S-> do_module (nomdocs/dcs/Makefile, Updating, , )
XE S -> fopen(/net/storage/storage0/proj/nominum/cvs/CVSROOT/history,a)
XE S -> Reader_Lock(/net/storage/storage0/proj/nominum/cvs/nomdocs/dcs)
XE S -> Lock_Cleanup()
Xerror  
END-of-cvsbroke.out
echo x - nomdocs/CVS/Entries
sed 's/^X//' >nomdocs/CVS/Entries << 'END-of-nomdocs/CVS/Entries'
END-of-nomdocs/CVS/Entries
echo x - nomdocs/CVS/Entries.Log
sed 's/^X//' >nomdocs/CVS/Entries.Log << 'END-of-nomdocs/CVS/Entries.Log'
XA D/dcs////
END-of-nomdocs/CVS/Entries.Log
echo x - nomdocs/CVS/Entries.Static
sed 's/^X//' >nomdocs/CVS/Entries.Static << 'END-of-nomdocs/CVS/Entries.Static'
END-of-nomdocs/CVS/Entries.Static
echo x - nomdocs/CVS/Repository
sed 's/^X//' >nomdocs/CVS/Repository << 'END-of-nomdocs/CVS/Repository'
Xnomdocs
END-of-nomdocs/CVS/Repository
echo x - nomdocs/CVS/Root
sed 's/^X//' >nomdocs/CVS/Root << 'END-of-nomdocs/CVS/Root'
X:fork:/net/storage/storage0/proj/nominum/cvs
END-of-nomdocs/CVS/Root
echo x - nomdocs/dcs/CVS/Entries
sed 's/^X//' >nomdocs/dcs/CVS/Entries << 'END-of-nomdocs/dcs/CVS/Entries'
X/Makefile/1.9/Thu May 29 08:32:10 2003//
END-of-nomdocs/dcs/CVS/Entries
echo x - nomdocs/dcs/CVS/Entries.Static
sed 's/^X//' >nomdocs/dcs/CVS/Entries.Static << 
'END-of-nomdocs/dcs/CVS/Entries.Static'
END-of-nomdocs/dcs/CVS/Entries.Static
echo x - nomdocs/dcs/CVS/Repository
sed 's/^X//' >nomdocs/dcs/CVS/Repository << 'END-of-nomdocs/dcs/CVS/Repository'
Xnomdocs/dcs
END-of-nomdocs/dcs/CVS/Repository
echo x - nomdocs/dcs/CVS/Root
sed 's/^X//' >nomdocs/dcs/CVS/Root << 'END-of-nomdocs/dcs/CVS/Root'
X:fork:/net/storage/storage0/proj/nominum/cvs
END-of-nomdocs/dcs/CVS/Root
exit






reply via email to

[Prev in Thread] Current Thread [Next in Thread]