Actually I was able to trace more of what happened in the repo, and I found a new crash ;-)

I will try to script up these steps.  So, I created trunk, a feature branch, and a test branch.  On the test branch I created a file.  I merged the test with the feature.  On the feature, I moved the file to a new folder.  Then I cherry pick merged that last revision onto trunk.  Automatic merge resolution core dumped on that file. I run the final command with the version of svn with the patch not applied.

--- Merging r12 into '.':
   C module1/m1file3new
A    module2/m1file3new
--- Recording mergeinfo for merge of r12 into '.':
 G   .
--- Recording mergeinfo for merge of r12 into 'module1':
 U   module1
Summary of conflicts:
  Tree conflicts: 1
Searching tree conflict details for 'module1/m1file3new' in repository:
Checking r7...subversion/libsvn_subr/token.c:40: (apr_err=SVN_ERR_ASSERTION_FAIL) svn: E235000: In file 'subversion/libsvn_subr/token.c' line 40: internal malfunction
Aborted (core dumped)

On 8/9/21 14:38, Joshua Kordani wrote:
So unfortunately that simple case didn't reproduce the problem. So I need help investigating the state of things...

On 8/9/21 14:09, Joshua Kordani wrote:
The shell script is easy.  I run resolve on my codebase :-).  The trick will be recreating the repo history that reproduces this problem, and that has always been gnarly to me.  I could use some advice for this.

Basically, what I will try to do is create a folder with files. create a branch at this point, move a file in the branch, cherry pick this commit with the move into trunk, and then try a top level merge of the branch into trunk.  Those are the things I did to the repo, I'm not sure if others mucked with it.  If that doesn't work, I'll have to sleuth my repo and I'll need help to do that

On 8/8/21 16:38, Stefan Sperling wrote:
On Sun, Aug 08, 2021 at 10:26:43AM +0200, Daniel Sahlberg wrote:
On 2021-08-07 17:14, Joshua Kordani wrote:
Yes it does appear to fix the issue. Thank you!
Hi Joshua (and list),

I've been trying to reproduce your issue both to have test case for
backporting the fix and possibly also adding to the test suite. However I
can't reproduce it, possibly I misunderstand some of your steps.

Do you know the exact steps to reproduce (when running without the patch,
obviously)?

Kind regards,

Daniel Sahlberg
I have committed my patch in https://svn.apache.org/r1892118

I agree that having a test case would be nice to prevent this issue from resurfacing accidentally. It could also help us to identify other similar scenarios that don't work right. If we had a shell script which reproduced the crash I could write a corresponding C test for the resolver. What we
lack is the sequence of changes and merges which trigger the issue.

Joshua, do you think you would be able to provide this sequence of steps,
ideally as a self-contained shell script?
We offer a suitable shell script template here:
https://subversion.apache.org/docs/community-guide/repro-template.sh

Regards,
Stefan

--
Joshua Kordani
Senior Engineer
Robotic Research, LLC
jkord...@roboticresearch.com

CONFIDENTIALITY NOTICE: This communication may contain private, confidential 
and privileged material for the sole use of the intended recipient. If you are 
not the intended recipient, please delete this e-mail and any attachments 
permanently.

Reply via email to