> -----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