> -----Original Message-----
> From: Bert Huijben [mailto:b...@qqmail.nl]
> Sent: zaterdag 15 maart 2014 10:31
> To: 'Stefan Sperling'; 'Danilo Piazzalunga'
> Cc: users@subversion.apache.org
> Subject: RE: Bug report: svn assert failure: svn:
> subversion/libsvn_client/merge.c:3128: merge_dir_deleted: Assertion `delb
> != ((void *)0)' failed.
> 
> 
> 
> > -----Original Message-----
> > From: Bert Huijben [mailto:b...@qqmail.nl]
> > Sent: zaterdag 15 maart 2014 10:03
> > To: 'Stefan Sperling'; 'Danilo Piazzalunga'
> > Cc: users@subversion.apache.org
> > Subject: RE: Bug report: svn assert failure: svn:
> > subversion/libsvn_client/merge.c:3128: merge_dir_deleted: Assertion
> `delb
> > != ((void *)0)' failed.
> >
> >
> >
> > > -----Original Message-----
> > > From: Stefan Sperling [mailto:s...@elego.de]
> > > Sent: zaterdag 15 maart 2014 09:45
> > > To: Danilo Piazzalunga
> > > Cc: users@subversion.apache.org
> > > Subject: Re: Bug report: svn assert failure: svn:
> > > subversion/libsvn_client/merge.c:3128: merge_dir_deleted: Assertion
> > `delb
> > > != ((void *)0)' failed.
> > >
> > > On Fri, Mar 14, 2014 at 10:53:05PM +0100, Danilo Piazzalunga wrote:
> > > > Hi all,
> > > > I am asking for confirmation before reporting a bug
> > > >
> > > > Using Subversion 1.8.8 installed from Ubuntu 14.04 packages, svn
> > > > crashed while performing a merge operation involving a replaced
> > > > directory.
> > > >
> > > > I already reportted this bug to Ubuntu Launchpad as
> > > >
> https://bugs.launchpad.net/ubuntu/+source/subversion/+bug/1288829
> > > >
> > > > I was able to reproduce the bug with Subversion 1.9.0-dev trunk
> > > > (r1577730) with a self-contained test case (see attachment).
> > > >
> > > > Can I report this to the Issue Tracker?
> >
> > It would be nice if the thread (that should be referred from the issue)
> > actually discussed the issue.
> >
> > The only thing discussed here now is that there is some way to trigger
the
> > assertion. Not how it can be triggered, or how common the problem is.
> >
> > And if it is perhaps the result three steps after a user error or
> > something...
> >
> > I really hope the issue will be more informative than the simple text '
> svn
> > assert failure: svn: subversion/libsvn_client/merge.c:3128:
> > merge_dir_deleted: Assertion `delb != ((void *)0)' failed.' as our
> changelog
> > would be 'very user friendly' if we would describe all issues like this.
> 
> The really interesting thing here is the 'svn merge --force'
> Without the '--force' the merge just succeeds without a problem.
> 
> That would be really useful information to add to an issue...
> 
> When I tried to create a reproduction recipe as part of the testsuite that
> was something I missed...
> 
> 
> With Subversion 1.8 I would really recommend not using this argument.
> Before
> 1.8 the merge infrastructure couldn't really test if a directory delete
was
> exactly valid, while with 1.8 we resolved that problem.
> 
> We just don't have many tests that use this '--force' and that is what
> triggers the segfault for you.
> 
> I would assume a bugfix will be in the next patch release as this problem
is
> most likely easy to fix. (I expect that I have a patch in the next half
> hour)

A very minimalistic reproduction is:
$ svn checkout
# r1
$ svn mkdir A
$ svn ci -m ""
# r2

$ svn up -r1
$ svn merge --force --ignore-ancestry -c2 . .

This merge will cause the segfault with --force, while the merge succeeds
without problems without the --force.

The problem is fixed on trunk in r1577812, but that doesn't remove my
recommendation of stopping to use --force with 1.8.


Before Subversion 1.8 merge without --force would sometimes raise invalid
tree conflicts in similar cases, but as that problem has been resolved you
typically want to know about the conflicts that --force will hide from you.

        Bert


Reply via email to