[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