[darcs-users] fromJust error in darcs-2.0.0
Greg Holtz
gh2377 at hotmail.com
Wed Apr 23 08:14:04 UTC 2008
Here's some output from
truss darcs changes
getcwd("/darcs/darcs-2.0.0", 4096) = 0
chdir("darcs_testing_for_nfs") = 0
getpid() = 11860 [11859]
lstat64("darcsmraGkx", 0x08044D20) Err#2 ENOENT
open("darcsmraGkx", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
getcwd("/darcs/darcs-2.0.0/darcs_testing_for_nfs", 4096) = 0
fcntl(3, F_GETFL) = 2
fcntl(3, F_SETFL, FWRITE|FNONBLOCK) = 0
fstat64(3, 0xD0879708) = 0
ioctl(3, TCGETA, 0x08044E1C) Err#25 ENOTTY
unlink("/darcs/darcs-2.0.0/darcs_testing_for_nfs/darcsmraGkx") = 0
chdir("..") = 0
rmdir("darcs_testing_for_nfs") = 0
close(3) = 0
unlink("/darcs/darcs-2.0.0/darcs_testing_for_nfs/darcsmraGkx") Err#2 ENOENT
chdir("/darcs/darcs-2.0.0") = 0
rmdir("darcs_testing_for_nfs") Err#2 ENOENT
Is it normal for darcs to try to unlink, chdir, rmdir, after it already did it once?
________________________________
Date: Tue, 22 Apr 2008 22:28:01 -0700
From: dagit at codersbase.com
To: gh2377 at hotmail.com
Subject: Re: [darcs-users] fromJust error in darcs-2.0.0
CC: darcs-users at darcs.net
I hit send too fast...
What is your full configure command? Specifically, I'm wondering if you're using the old fast packed strings or the new ByteString. The see a few things that could each be questionable where the fromJust is failing:
*mmap could be subtly different than on other platforms
*there are several calls to unsafeInterleave functions, but often this is safe in practice
*either FastPackedStrings or ByteStrings are used here
I forgot one, I meant to mention that we call getSymbolicLinkStatus, so obviously, the system calls related to symbolic links matters here too.
Specifically, we have a case like this:
if isRegularFile fs then ...
else if isDirectory fs || (isSymbolicLink fs && dirname == ".") then ...
else return Nothing <-- This would cause your problem
I think fs should be the path of the repository.
As you can see from the logic, that if we hit the right combination of values from isRegularFile, isDirectory and isSymbolicLink we end up in the "return Nothing" case which would cause your problem. It's not the only way to get there, though.
Is there anything special about where you're running your code or your file system?
Jason
_________________________________________________________________
Spell a grand slam in this game where word skill meets World Series. Get in the game.
http://club.live.com/word_slugger.aspx?icid=word_slugger_wlhm_admod_april08
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osuosl.org/pipermail/darcs-users/attachments/20080423/45f1ea70/attachment.htm
More information about the darcs-users
mailing list