[darcs-devel] [issue1520] Irrefutable pattern failed for pattern Data.Maybe.Just a2
Vincent Zweije
bugs at darcs.net
Wed Apr 14 09:24:17 UTC 2010
Vincent Zweije <vzweije at wcc-group.com> added the comment:
On Fri, Apr 09, 2010 at 09:47:14PM +0200, Vincent Zweije wrote:
> On Fri, Apr 09, 2010 at 09:34:39AM +1000, trentbuck at gmail.com
> wrote:
>
> > Vincent Zweije wrote:
> > > I presume this is seriously ungood:
> > >
> > > $ darcs pull --all --patch http://www.sqlite.org/src/info/ccb9393a7a10f0970419b860af293b0bdad7f894
> > > Merging us 19/60
> > > Merging us 23/60
> > > Merging us 43/60
> > > Pulling from "/home/vincent/Lemon/darcs/trunk/tool"...
> > > Will pull the following changes:
> > > Wed Dec 10 21:10:05 CET 2008 shane
> > > * http://www.sqlite.org/src/info/ccb9393a7a10f0970419b860af293b0bdad7f894
> > > Added option (-l) to lemon parser to have it skip printing line numbers (#line ... ). (CVS 6008)
> > >
> > > M ./lemon.c -19 +21
> > > darcs: src/Darcs/Patch/Real.hs:(506,21)-(507,35): Irrefutable pattern failed for pattern Data.Maybe.Just a2'
>
> > Vincent, it would be great if you could step through
> > http://wiki.darcs.net/Forensics to get more information.
>
> I've narrowed it down to one repository (unchanged from the
> original problem, the pull destination), plus one patch bundle
> (the one pulled in the original problem) containing a single
> patch with several hunks. That was the easy part.
>
> Then I coalesced all of the repository history into a single
> patch, and tried to get the patch bundle to apply. After
> fooling around with hunk line numbers I found that one of the
> hunks is trying to delete two lines which in the target file
> (lemon.c) have different contents. Replacing the lines with
> the actual lines in the target file makes the patch bundle
> apply cleanly (with the hunk line numbers adjusted).
I'm afraid I haven't done any more sleuthing since my previous
message, but...
I neglected to mention that with coalesced history and fixed
line numbers (but no fixed hunk), darcs does not crash,
but simply fails with:
$./reproduce.sh
+ darcs apply --repo repo bundle.dpatch
darcs failed: Error applying hunk to file ./lemon.c
$
There must be something in the history of the repository
causing the crash.
Actually, looks like there are two problems:
1. The pull produces a patch that does not apply to the
pull destination, and
2. The non-applying patch causes a darcs crash.
Would you agree that the first is the more interesting?
Hm. Things are getting complicated...
--
WCC - Smart Search & Match
NL +31 30 7503222
vzweije at wcc-group.com
www.wcc-group.com
__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue1520>
__________________________________
More information about the darcs-devel
mailing list