bug-cvs
[Top][All Lists]
Advanced

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

Assertion failed error message


From: Matthew Hunter
Subject: Assertion failed error message
Date: Thu, 12 Jun 2003 12:44:48 -0500
User-agent: Mutt/1.5.4i

Using WinCVS 1.2, it appears to be possible to generate at least 
two different types of failed assertions:

cvs [server aborted]: received abort signal
cvs: hash.c:312:findnode:Assertion 'key != ((void *)0)' failed.

cvs [server aborted]: received abort signal
cvs: commit.c:2055: checkaddfile: Assertion  'key != ((void *)0)' 
failed.

To generate this error, start with a new file in a 
checked-out source tree ("EXAMPLE.DAT").  Add the file as a 
binary file, and commit it.  Then remove the file and commit 
again.  Copy the original file back into the directory and rename 
to a lower-case version of the name ("example.dat").  Add as a 
binary file (first error message).  Commit the file (second error 
message).

It seems fairly obvious that the problem is related to Windows 
ignoring case in filenames -- this confuses CVS, because the 
client is telling the server it's replacing a dead version, but 
the server can't find the dead version (since it can tell 
uppercase and lowercase apart, and they don't hash to the same 
value).

It seems to be a fairly straightforward problem.  There are bound 
to be problems with Window's ignoring case in filenames, of 
course, but it seems to me that this should have a real error 
message rather than failing an assertion, and probably some 
checks on the clientside if possible.

I haven't been able to find a changelog to see if this has been 
fixed in more recent releases; sorry to bug you all if it has.

My CVS version on the server is:

achilles:~> cvs -version

Concurrent Versions System (CVS) 1.11.5 (client/server)

Copyright (c) 1989-2002 Brian Berliner, david d `zoo' zuhn, 
                        Jeff Polk, and other authors

CVS may be copied only under the terms of the GNU General Public 
License, a copy of which can be found with the CVS distribution 
kit.

Specify the --help option for further information about CVS







reply via email to

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