Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 369518

Summary: StackOverflowException when rebasing
Product: [Technology] JGit Reporter: Markus Duft <markus.duft>
Component: JGitAssignee: Project Inbox <jgit.core-inbox>
Status: NEW --- QA Contact:
Severity: major    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Markus Duft CLA 2012-01-24 09:02:32 EST
Build Identifier: 

I today rebased a branch with an (admittedly quite big) commit on top of origin/master (which was quite some ahead), and got this:

java.lang.StackOverflowError
    at org.eclipse.jgit.diff.SubsequenceComparator.equals(SubsequenceComparator.java:72)
    at org.eclipse.jgit.diff.SubsequenceComparator.equals(SubsequenceComparator.java:1)
    at org.eclipse.jgit.diff.HashedSequenceComparator.equals(HashedSequenceComparator.java:70)
    at org.eclipse.jgit.diff.HistogramDiffIndex.tryLongestCommonSequence(HistogramDiffIndex.java:247)
    at org.eclipse.jgit.diff.HistogramDiffIndex.findLongestCommonSequence(HistogramDiffIndex.java:178)
    at org.eclipse.jgit.diff.HistogramDiff$State.diffReplace(HistogramDiff.java:156)
    at org.eclipse.jgit.diff.HistogramDiff$State.diff(HistogramDiff.java:195)
    at org.eclipse.jgit.diff.HistogramDiff$State.diffReplace(HistogramDiff.java:166)
    at org.eclipse.jgit.diff.HistogramDiff$State.diff(HistogramDiff.java:195)
    at org.eclipse.jgit.diff.HistogramDiff$State.diffReplace(HistogramDiff.java:167)
    at org.eclipse.jgit.diff.HistogramDiff$State.diff(HistogramDiff.java:195)
    at org.eclipse.jgit.diff.HistogramDiff$State.diffReplace(HistogramDiff.java:167)
    at org.eclipse.jgit.diff.HistogramDiff$State.diff(HistogramDiff.java:195)
    at org.eclipse.jgit.diff.HistogramDiff$State.diffReplace(HistogramDiff.java:167)
    at org.eclipse.jgit.diff.HistogramDiff$State.diff(HistogramDiff.java:195)
    at org.eclipse.jgit.diff.HistogramDiff$State.diffReplace(HistogramDiff.java:167)
[snip a few hundred lines repeating]
    at org.eclipse.jgit.diff.HistogramDiff$State.diff(HistogramDiff.java:195)
    at org.eclipse.jgit.diff.HistogramDiff$State.diffReplace(HistogramDiff.java:167)
    at org.eclipse.jgit.diff.HistogramDiff$State.diff(HistogramDiff.java:195)
    at org.eclipse.jgit.diff.HistogramDiff$State.diffReplace(HistogramDiff.java:167)
    at org.eclipse.jgit.diff.HistogramDiff$State.diff(HistogramDiff.java:195)
    at org.eclipse.jgit.diff.HistogramDiff$State.diffReplace(HistogramDiff.java:167)


Reproducible: Always

Steps to Reproduce:
Not easily. it was a commit with approx 2100 changed files, rebased on a branch approx 100 commits ahead. we solved it using the cgit command line.