My full configure command is just
./configure
and sometimes,
./configure --disable-mmap
and sometimes,
./configure --disable-optimize --disable-mmap
However, now that you mention file systems, I do use
zfs. I just tried creating a repository on one of my non-zfs
directories, but it gives the same error. I do try
running "darcs whatsnew" in a bunch of different directories.
I will delete the old _darcs, and create a new repository with
"darcs initialize" everywhere to see if things change. "initialize"
succeeds, but "add" "changes" "whatsnew" still fails.
solaris has dtrace, which I've run to get a count of the number
of times different syscalls have been called specifically for
the executable "darcs"
# dtrace -n 'syscall:::entry/execname=="darcs"/[EMAIL PROTECTED]();}'
dtrace: description 'syscall:::entry' matched 235 probes
^C
fxstat 1
getrlimit 1 lxstat
1 mkdir
1 mmap64
1 pollsys
1 rexit
1 schedctl
1 sigpending 1 sysi86
1 systeminfo
1 lstat64
2 read
2 rmdir
2 setcontext
2 setitimer 2
getpid 3 rusagesys
3 mprotect
4 unlink
4 write
4 sysconfig
5 open64
6 fstat64 7 ioctl
7 sigaction
9 fcntl
11 brk
12 lwp_sigmask
14 chdir
17 getcwd 21
memcntl 22 open
27 munmap
28 resolvepath
28 close
30 stat64
64 mmap
110 xstat 358
A similar call to dtrace on time spent shows for the biggest offenders: (time
in ns)
munmap 63078
close 69554
resolvepath 145907
unlink 154542
open64 161709
chdir 230000
open 243984
stat64 439384
getcwd 468763
mmap 558547
xstat 963136
memcntl 1583326
I got "gmake ghci" to work (after having to change something in Context.hs --
deleting the message),
but when I try to run the same situation "darcs whatsnew" via
:main whatsnew
I get a "Pattern match failure" (user error exception). I'm trying to figure
out how to run this thing...
How do you tell if you're using FastPackedStrings or ByteStrings?
Date: Tue, 22 Apr 2008 22:28:01 -0700
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: [darcs-users] fromJust error in darcs-2.0.0
CC: [email protected]
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
_________________________________________________________________
Make i'm yours. Create a custom banner to support your cause.
http://im.live.com/Messenger/IM/Contribute/Default.aspx?source=TXT_TAGHM_MSN_Make_IM_Yours_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users